~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/clock/xgene.txt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 Device Tree Clock bindings for APM X-Gene
  2 
  3 This binding uses the common clock binding[1].
  4 
  5 [1] Documentation/devicetree/bindings/clock/clock-bindings.txt
  6 
  7 Required properties:
  8 - compatible : shall be one of the following:
  9         "apm,xgene-socpll-clock" - for a X-Gene SoC PLL clock
 10         "apm,xgene-pcppll-clock" - for a X-Gene PCP PLL clock
 11         "apm,xgene-pmd-clock" - for a X-Gene PMD clock
 12         "apm,xgene-device-clock" - for a X-Gene device clock
 13         "apm,xgene-socpll-v2-clock" - for a X-Gene SoC PLL v2 clock
 14         "apm,xgene-pcppll-v2-clock" - for a X-Gene PCP PLL v2 clock
 15 
 16 Required properties for SoC or PCP PLL clocks:
 17 - reg : shall be the physical PLL register address for the pll clock.
 18 - clocks : shall be the input parent clock phandle for the clock. This should
 19         be the reference clock.
 20 - #clock-cells : shall be set to 1.
 21 - clock-output-names : shall be the name of the PLL referenced by derive
 22   clock.
 23 Optional properties for PLL clocks:
 24 - clock-names : shall be the name of the PLL. If missing, use the device name.
 25 
 26 Required properties for PMD clocks:
 27 - reg : shall be the physical register address for the pmd clock.
 28 - clocks : shall be the input parent clock phandle for the clock.
 29 - #clock-cells : shall be set to 1.
 30 - clock-output-names : shall be the name of the clock referenced by derive
 31   clock.
 32 Optional properties for PLL clocks:
 33 - clock-names : shall be the name of the clock. If missing, use the device name.
 34 
 35 Required properties for device clocks:
 36 - reg : shall be a list of address and length pairs describing the CSR
 37          reset and/or the divider. Either may be omitted, but at least
 38          one must be present.
 39  - reg-names : shall be a string list describing the reg resource. This
 40                may include "csr-reg" and/or "div-reg". If this property
 41                is not present, the reg property is assumed to describe
 42                only "csr-reg".
 43 - clocks : shall be the input parent clock phandle for the clock.
 44 - #clock-cells : shall be set to 1.
 45 - clock-output-names : shall be the name of the device referenced.
 46 Optional properties for device clocks:
 47 - clock-names : shall be the name of the device clock. If missing, use the
 48                 device name.
 49 - csr-offset : Offset to the CSR reset register from the reset address base.
 50                Default is 0.
 51 - csr-mask : CSR reset mask bit. Default is 0xF.
 52 - enable-offset : Offset to the enable register from the reset address base.
 53                   Default is 0x8.
 54 - enable-mask : CSR enable mask bit. Default is 0xF.
 55 - divider-offset : Offset to the divider CSR register from the divider base.
 56                    Default is 0x0.
 57 - divider-width : Width of the divider register. Default is 0.
 58 - divider-shift : Bit shift of the divider register. Default is 0.
 59 
 60 For example:
 61 
 62         pcppll: pcppll@17000100 {
 63                 compatible = "apm,xgene-pcppll-clock";
 64                 #clock-cells = <1>;
 65                 clocks = <&refclk 0>;
 66                 clock-names = "pcppll";
 67                 reg = <0x0 0x17000100 0x0 0x1000>;
 68                 clock-output-names = "pcppll";
 69                 type = <0>;
 70         };
 71 
 72         pmd0clk: pmd0clk@7e200200 {
 73                 compatible = "apm,xgene-pmd-clock";
 74                 #clock-cells = <1>;
 75                 clocks = <&pmdpll 0>;
 76                 reg = <0x0 0x7e200200 0x0 0x10>;
 77                 clock-output-names = "pmd0clk";
 78         };
 79 
 80         socpll: socpll@17000120 {
 81                 compatible = "apm,xgene-socpll-clock";
 82                 #clock-cells = <1>;
 83                 clocks = <&refclk 0>;
 84                 clock-names = "socpll";
 85                 reg = <0x0 0x17000120 0x0 0x1000>;
 86                 clock-output-names = "socpll";
 87                 type = <1>;
 88         };
 89 
 90         qmlclk: qmlclk {
 91                 compatible = "apm,xgene-device-clock";
 92                 #clock-cells = <1>;
 93                 clocks = <&socplldiv2 0>;
 94                 clock-names = "qmlclk";
 95                 reg = <0x0 0x1703C000 0x0 0x1000>;
 96                 reg-name = "csr-reg";
 97                 clock-output-names = "qmlclk";
 98         };
 99 
100         ethclk: ethclk {
101                 compatible = "apm,xgene-device-clock";
102                 #clock-cells = <1>;
103                 clocks = <&socplldiv2 0>;
104                 clock-names = "ethclk";
105                 reg = <0x0 0x17000000 0x0 0x1000>;
106                 reg-names = "div-reg";
107                 divider-offset = <0x238>;
108                 divider-width = <0x9>;
109                 divider-shift = <0x0>;
110                 clock-output-names = "ethclk";
111         };
112 
113         apbclk: apbclk {
114                 compatible = "apm,xgene-device-clock";
115                 #clock-cells = <1>;
116                 clocks = <&ahbclk 0>;
117                 clock-names = "apbclk";
118                 reg = <0x0 0x1F2AC000 0x0 0x1000
119                         0x0 0x1F2AC000 0x0 0x1000>;
120                 reg-names = "csr-reg", "div-reg";
121                 csr-offset = <0x0>;
122                 csr-mask = <0x200>;
123                 enable-offset = <0x8>;
124                 enable-mask = <0x200>;
125                 divider-offset = <0x10>;
126                 divider-width = <0x2>;
127                 divider-shift = <0x0>;
128                 flags = <0x8>;
129                 clock-output-names = "apbclk";
130         };
131 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php