1855f06a1SMartin Blumenstingl* Amlogic Meson8, Meson8b and Meson8m2 Clock and Reset Unit
212545fa3SCarlo Caione
3855f06a1SMartin BlumenstinglThe Amlogic Meson8 / Meson8b / Meson8m2 clock controller generates and
4855f06a1SMartin Blumenstinglsupplies clock to various controllers within the SoC.
512545fa3SCarlo Caione
612545fa3SCarlo CaioneRequired Properties:
712545fa3SCarlo Caione
8855f06a1SMartin Blumenstingl- compatible: must be one of:
9855f06a1SMartin Blumenstingl	- "amlogic,meson8-clkc" for Meson8 (S802) SoCs
10855f06a1SMartin Blumenstingl	- "amlogic,meson8b-clkc" for Meson8 (S805) SoCs
11855f06a1SMartin Blumenstingl	- "amlogic,meson8m2-clkc" for Meson8m2 (S812) SoCs
1212545fa3SCarlo Caione- #clock-cells: should be 1.
130f9b973bSMartin Blumenstingl- #reset-cells: should be 1.
1412545fa3SCarlo Caione
156c763077SMartin BlumenstinglParent node should have the following properties :
166c763077SMartin Blumenstingl- compatible: "amlogic,meson-hhi-sysctrl", "simple-mfd", "syscon"
176c763077SMartin Blumenstingl- reg: base address and size of the HHI system control register space.
186c763077SMartin Blumenstingl
1912545fa3SCarlo CaioneEach clock is assigned an identifier and client nodes can use this identifier
2012545fa3SCarlo Caioneto specify the clock which they consume. All available clocks are defined as
2112545fa3SCarlo Caionepreprocessor macros in the dt-bindings/clock/meson8b-clkc.h header and can be
2212545fa3SCarlo Caioneused in device tree sources.
2312545fa3SCarlo Caione
240f9b973bSMartin BlumenstinglSimilarly a preprocessor macro for each reset line is defined in
250f9b973bSMartin Blumenstingldt-bindings/reset/amlogic,meson8b-clkc-reset.h (which can be used from the
260f9b973bSMartin Blumenstingldevice tree sources).
270f9b973bSMartin Blumenstingl
280f9b973bSMartin Blumenstingl
2912545fa3SCarlo CaioneExample: Clock controller node:
3012545fa3SCarlo Caione
316c763077SMartin Blumenstingl	clkc: clock-controller {
3212545fa3SCarlo Caione		compatible = "amlogic,meson8b-clkc";
330f9b973bSMartin Blumenstingl		#clock-cells = <1>;
340f9b973bSMartin Blumenstingl		#reset-cells = <1>;
3512545fa3SCarlo Caione	};
3612545fa3SCarlo Caione
3712545fa3SCarlo Caione
3812545fa3SCarlo CaioneExample: UART controller node that consumes the clock generated by the clock
3912545fa3SCarlo Caione  controller:
4012545fa3SCarlo Caione
4112545fa3SCarlo Caione	uart_AO: serial@c81004c0 {
4212545fa3SCarlo Caione		compatible = "amlogic,meson-uart";
4312545fa3SCarlo Caione		reg = <0xc81004c0 0x14>;
4412545fa3SCarlo Caione		interrupts = <0 90 1>;
4512545fa3SCarlo Caione		clocks = <&clkc CLKID_CLK81>;
4612545fa3SCarlo Caione	};
47