0001 * Amlogic Meson8, Meson8b and Meson8m2 Clock and Reset Unit
0002
0003 The Amlogic Meson8 / Meson8b / Meson8m2 clock controller generates and
0004 supplies clock to various controllers within the SoC.
0005
0006 Required Properties:
0007
0008 - compatible: must be one of:
0009 - "amlogic,meson8-clkc" for Meson8 (S802) SoCs
0010 - "amlogic,meson8b-clkc" for Meson8 (S805) SoCs
0011 - "amlogic,meson8m2-clkc" for Meson8m2 (S812) SoCs
0012 - #clock-cells: should be 1.
0013 - #reset-cells: should be 1.
0014 - clocks: list of clock phandles, one for each entry in clock-names
0015 - clock-names: should contain the following:
0016 * "xtal": the 24MHz system oscillator
0017 * "ddr_pll": the DDR PLL clock
0018 * "clk_32k": (if present) the 32kHz clock signal from GPIOAO_6 (CLK_32K_IN)
0019
0020 Parent node should have the following properties :
0021 - compatible: "amlogic,meson-hhi-sysctrl", "simple-mfd", "syscon"
0022 - reg: base address and size of the HHI system control register space.
0023
0024 Each clock is assigned an identifier and client nodes can use this identifier
0025 to specify the clock which they consume. All available clocks are defined as
0026 preprocessor macros in the dt-bindings/clock/meson8b-clkc.h header and can be
0027 used in device tree sources.
0028
0029 Similarly a preprocessor macro for each reset line is defined in
0030 dt-bindings/reset/amlogic,meson8b-clkc-reset.h (which can be used from the
0031 device tree sources).
0032
0033
0034 Example: Clock controller node:
0035
0036 clkc: clock-controller {
0037 compatible = "amlogic,meson8b-clkc";
0038 #clock-cells = <1>;
0039 #reset-cells = <1>;
0040 };
0041
0042
0043 Example: UART controller node that consumes the clock generated by the clock
0044 controller:
0045
0046 uart_AO: serial@c81004c0 {
0047 compatible = "amlogic,meson-uart";
0048 reg = <0xc81004c0 0x14>;
0049 interrupts = <0 90 1>;
0050 clocks = <&clkc CLKID_CLK81>;
0051 };