blob: 17ac4a3dd26aa841f53a60ce48806e8203499da8 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001* 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>.