Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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.txt
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-aoctrl"
15 - "hisilicon,hi6220-sysctrl"
16 - "hisilicon,hi6220-mediactrl"
17 - "hisilicon,hi6220-pmctrl"
18 - "hisilicon,hi6220-stub-clk"
19
20- reg: physical base address of the controller and length of memory mapped
21 region.
22
23- #clock-cells: should be 1.
24
25Optional Properties:
26
27- hisilicon,hi6220-clk-sram: phandle to the syscon managing the SoC internal sram;
28 the driver need use the sram to pass parameters for frequency change.
29
30- mboxes: use the label reference for the mailbox as the first parameter, the
31 second parameter is the channel number.
32
33Example 1:
34 sys_ctrl: sys_ctrl@f7030000 {
35 compatible = "hisilicon,hi6220-sysctrl", "syscon";
36 reg = <0x0 0xf7030000 0x0 0x2000>;
37 #clock-cells = <1>;
38 };
39
40Example 2:
41 stub_clock: stub_clock {
42 compatible = "hisilicon,hi6220-stub-clk";
43 hisilicon,hi6220-clk-sram = <&sram>;
44 #clock-cells = <1>;
45 mboxes = <&mailbox 1>;
46 };
47
48Each clock is assigned an identifier and client nodes use this identifier
49to specify the clock which they consume.
50
51All these identifier could be found in <dt-bindings/clock/hi6220-clock.h>.