xref: /freebsd/sys/contrib/device-tree/Bindings/clock/hi6220-clock.txt (revision ec0ea6efa1ad229d75c394c1a9b9cac33af2b1d3)
1* Hisilicon Hi6220 Clock Controller
2
3Clock control registers reside in different Hi6220 system controllers,
4please refer the following document to know more about the binding rules
5for these system controllers:
6
7Documentation/devicetree/bindings/arm/hisilicon/hisilicon.yaml
8
9Required Properties:
10
11- compatible: the compatible should be one of the following strings to
12	indicate the clock controller functionality.
13
14	- "hisilicon,hi6220-acpu-sctrl"
15	- "hisilicon,hi6220-aoctrl"
16	- "hisilicon,hi6220-sysctrl"
17	- "hisilicon,hi6220-mediactrl"
18	- "hisilicon,hi6220-pmctrl"
19	- "hisilicon,hi6220-stub-clk"
20
21- reg: physical base address of the controller and length of memory mapped
22  region.
23
24- #clock-cells: should be 1.
25
26Optional Properties:
27
28- hisilicon,hi6220-clk-sram: phandle to the syscon managing the SoC internal sram;
29  the driver need use the sram to pass parameters for frequency change.
30
31- mboxes: use the label reference for the mailbox as the first parameter, the
32  second parameter is the channel number.
33
34Example 1:
35	sys_ctrl: sys_ctrl@f7030000 {
36		compatible = "hisilicon,hi6220-sysctrl", "syscon";
37		reg = <0x0 0xf7030000 0x0 0x2000>;
38		#clock-cells = <1>;
39	};
40
41Example 2:
42	stub_clock: stub_clock {
43		compatible = "hisilicon,hi6220-stub-clk";
44		hisilicon,hi6220-clk-sram = <&sram>;
45		#clock-cells = <1>;
46		mboxes = <&mailbox 1>;
47	};
48
49Each clock is assigned an identifier and client nodes use this identifier
50to specify the clock which they consume.
51
52All these identifier could be found in <dt-bindings/clock/hi6220-clock.h>.
53