162306a36Sopenharmony_ci* Amlogic Meson8, Meson8b and Meson8m2 Clock and Reset Unit
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciThe Amlogic Meson8 / Meson8b / Meson8m2 clock controller generates and
462306a36Sopenharmony_cisupplies clock to various controllers within the SoC.
562306a36Sopenharmony_ci
662306a36Sopenharmony_ciRequired Properties:
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci- compatible: must be one of:
962306a36Sopenharmony_ci	- "amlogic,meson8-clkc" for Meson8 (S802) SoCs
1062306a36Sopenharmony_ci	- "amlogic,meson8b-clkc" for Meson8 (S805) SoCs
1162306a36Sopenharmony_ci	- "amlogic,meson8m2-clkc" for Meson8m2 (S812) SoCs
1262306a36Sopenharmony_ci- #clock-cells: should be 1.
1362306a36Sopenharmony_ci- #reset-cells: should be 1.
1462306a36Sopenharmony_ci- clocks: list of clock phandles, one for each entry in clock-names
1562306a36Sopenharmony_ci- clock-names: should contain the following:
1662306a36Sopenharmony_ci  * "xtal": the 24MHz system oscillator
1762306a36Sopenharmony_ci  * "ddr_pll": the DDR PLL clock
1862306a36Sopenharmony_ci  * "clk_32k": (if present) the 32kHz clock signal from GPIOAO_6 (CLK_32K_IN)
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciParent node should have the following properties :
2162306a36Sopenharmony_ci- compatible: "amlogic,meson-hhi-sysctrl", "simple-mfd", "syscon"
2262306a36Sopenharmony_ci- reg: base address and size of the HHI system control register space.
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciEach clock is assigned an identifier and client nodes can use this identifier
2562306a36Sopenharmony_cito specify the clock which they consume. All available clocks are defined as
2662306a36Sopenharmony_cipreprocessor macros in the dt-bindings/clock/meson8b-clkc.h header and can be
2762306a36Sopenharmony_ciused in device tree sources.
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ciSimilarly a preprocessor macro for each reset line is defined in
3062306a36Sopenharmony_cidt-bindings/reset/amlogic,meson8b-clkc-reset.h (which can be used from the
3162306a36Sopenharmony_cidevice tree sources).
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ciExample: Clock controller node:
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci	clkc: clock-controller {
3762306a36Sopenharmony_ci		compatible = "amlogic,meson8b-clkc";
3862306a36Sopenharmony_ci		#clock-cells = <1>;
3962306a36Sopenharmony_ci		#reset-cells = <1>;
4062306a36Sopenharmony_ci	};
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciExample: UART controller node that consumes the clock generated by the clock
4462306a36Sopenharmony_ci  controller:
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci	uart_AO: serial@c81004c0 {
4762306a36Sopenharmony_ci		compatible = "amlogic,meson-uart";
4862306a36Sopenharmony_ci		reg = <0xc81004c0 0x14>;
4962306a36Sopenharmony_ci		interrupts = <0 90 1>;
5062306a36Sopenharmony_ci		clocks = <&clkc CLKID_CLK81>;
5162306a36Sopenharmony_ci	};
52