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