GNU Linux-libre 4.14.266-gnu1
[releases.git] / Documentation / devicetree / bindings / clock / hi6220-clock.txt
1 * Hisilicon Hi6220 Clock Controller
2
3 Clock control registers reside in different Hi6220 system controllers,
4 please refer the following document to know more about the binding rules
5 for these system controllers:
6
7 Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt
8
9 Required 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
26 Optional 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
34 Example 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
41 Example 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
49 Each clock is assigned an identifier and client nodes use this identifier
50 to specify the clock which they consume.
51
52 All these identifier could be found in <dt-bindings/clock/hi6220-clock.h>.