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