Back to home page

OSCL-LXR

 
 

    


0001 * Amlogic GXBB AO Clock and Reset Unit
0002 
0003 The Amlogic GXBB AO clock controller generates and supplies clock to various
0004 controllers within the Always-On part of the SoC.
0005 
0006 Required Properties:
0007 
0008 - compatible: value should be different for each SoC family as :
0009         - GXBB (S905) : "amlogic,meson-gxbb-aoclkc"
0010         - GXL (S905X, S905D) : "amlogic,meson-gxl-aoclkc"
0011         - GXM (S912) : "amlogic,meson-gxm-aoclkc"
0012         - AXG (A113D, A113X) : "amlogic,meson-axg-aoclkc"
0013         - G12A (S905X2, S905D2, S905Y2) : "amlogic,meson-g12a-aoclkc"
0014         followed by the common "amlogic,meson-gx-aoclkc"
0015 - clocks: list of clock phandle, one for each entry clock-names.
0016 - clock-names: should contain the following:
0017   * "xtal"     : the platform xtal
0018   * "mpeg-clk" : the main clock controller mother clock (aka clk81)
0019   * "ext-32k-0"  : external 32kHz reference #0 if any (optional)
0020   * "ext-32k-1"  : external 32kHz reference #1 if any (optional - gx only)
0021   * "ext-32k-2"  : external 32kHz reference #2 if any (optional - gx only)
0022 
0023 - #clock-cells: should be 1.
0024 
0025 Each clock is assigned an identifier and client nodes can use this identifier
0026 to specify the clock which they consume. All available clocks are defined as
0027 preprocessor macros in the dt-bindings/clock/gxbb-aoclkc.h header and can be
0028 used in device tree sources.
0029 
0030 - #reset-cells: should be 1.
0031 
0032 Each reset is assigned an identifier and client nodes can use this identifier
0033 to specify the reset which they consume. All available resets are defined as
0034 preprocessor macros in the dt-bindings/reset/gxbb-aoclkc.h header and can be
0035 used in device tree sources.
0036 
0037 Parent node should have the following properties :
0038 - compatible: "amlogic,meson-gx-ao-sysctrl", "syscon", "simple-mfd"
0039 - reg: base address and size of the AO system control register space.
0040 
0041 Example: AO Clock controller node:
0042 
0043 ao_sysctrl: sys-ctrl@0 {
0044         compatible = "amlogic,meson-gx-ao-sysctrl", "syscon", "simple-mfd";
0045         reg =  <0x0 0x0 0x0 0x100>;
0046 
0047         clkc_AO: clock-controller {
0048                 compatible = "amlogic,meson-gxbb-aoclkc", "amlogic,meson-gx-aoclkc";
0049                 #clock-cells = <1>;
0050                 #reset-cells = <1>;
0051                 clocks = <&xtal>, <&clkc CLKID_CLK81>;
0052                 clock-names = "xtal", "mpeg-clk";
0053         };
0054 
0055 Example: UART controller node that consumes the clock and reset generated
0056   by the clock controller:
0057 
0058         uart_AO: serial@4c0 {
0059                 compatible = "amlogic,meson-uart";
0060                 reg = <0x4c0 0x14>;
0061                 interrupts = <0 90 1>;
0062                 clocks = <&clkc_AO CLKID_AO_UART1>;
0063                 resets = <&clkc_AO RESET_AO_UART1>;
0064         };