1* Amlogic GXBB AO Clock and Reset Unit 2 3The Amlogic GXBB AO clock controller generates and supplies clock to various 4controllers within the Always-On part of the SoC. 5 6Required Properties: 7 8- compatible: value should be different for each SoC family as : 9 - GXBB (S905) : "amlogic,meson-gxbb-aoclkc" 10 - GXL (S905X, S905D) : "amlogic,meson-gxl-aoclkc" 11 - GXM (S912) : "amlogic,meson-gxm-aoclkc" 12 - AXG (A113D, A113X) : "amlogic,meson-axg-aoclkc" 13 followed by the common "amlogic,meson-gx-aoclkc" 14 15- #clock-cells: should be 1. 16 17Each clock is assigned an identifier and client nodes can use this identifier 18to specify the clock which they consume. All available clocks are defined as 19preprocessor macros in the dt-bindings/clock/gxbb-aoclkc.h header and can be 20used in device tree sources. 21 22- #reset-cells: should be 1. 23 24Each reset is assigned an identifier and client nodes can use this identifier 25to specify the reset which they consume. All available resets are defined as 26preprocessor macros in the dt-bindings/reset/gxbb-aoclkc.h header and can be 27used in device tree sources. 28 29Parent node should have the following properties : 30- compatible: "amlogic,meson-gx-ao-sysctrl", "syscon", "simple-mfd" 31- reg: base address and size of the AO system control register space. 32 33Example: AO Clock controller node: 34 35ao_sysctrl: sys-ctrl@0 { 36 compatible = "amlogic,meson-gx-ao-sysctrl", "syscon", "simple-mfd"; 37 reg = <0x0 0x0 0x0 0x100>; 38 39 clkc_AO: clock-controller { 40 compatible = "amlogic,meson-gxbb-aoclkc", "amlogic,meson-gx-aoclkc"; 41 #clock-cells = <1>; 42 #reset-cells = <1>; 43 }; 44}; 45 46Example: UART controller node that consumes the clock and reset generated 47 by the clock controller: 48 49 uart_AO: serial@4c0 { 50 compatible = "amlogic,meson-uart"; 51 reg = <0x4c0 0x14>; 52 interrupts = <0 90 1>; 53 clocks = <&clkc_AO CLKID_AO_UART1>; 54 resets = <&clkc_AO RESET_AO_UART1>; 55 }; 56