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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/clock/fsl,qoriq-clock.yaml

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 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/clock/fsl,qoriq-clock.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Clock Block on Freescale QorIQ Platforms
  8 
  9 maintainers:
 10   - Frank Li <Frank.Li@nxp.com>
 11 
 12 description: |
 13   Freescale QorIQ chips take primary clocking input from the external
 14   SYSCLK signal. The SYSCLK input (frequency) is multiplied using
 15   multiple phase locked loops (PLL) to create a variety of frequencies
 16   which can then be passed to a variety of internal logic, including
 17   cores and peripheral IP blocks.
 18   Please refer to the Reference Manual for details.
 19 
 20   All references to "1.0" and "2.0" refer to the QorIQ chassis version to
 21   which the chip complies.
 22 
 23   Chassis Version    Example Chips
 24   ---------------    -------------
 25        1.0          p4080, p5020, p5040
 26        2.0          t4240
 27 
 28   Clock Provider
 29 
 30   The clockgen node should act as a clock provider, though in older device
 31   trees the children of the clockgen node are the clock providers.
 32 
 33 properties:
 34   compatible:
 35     oneOf:
 36       - items:
 37           - enum:
 38               - fsl,p2041-clockgen
 39               - fsl,p3041-clockgen
 40               - fsl,p4080-clockgen
 41               - fsl,p5020-clockgen
 42               - fsl,p5040-clockgen
 43           - const: fsl,qoriq-clockgen-1.0
 44       - items:
 45           - enum:
 46               - fsl,t1023-clockgen
 47               - fsl,t1024-clockgen
 48               - fsl,t1040-clockgen
 49               - fsl,t1042-clockgen
 50               - fsl,t2080-clockgen
 51               - fsl,t2081-clockgen
 52               - fsl,t4240-clockgen
 53           - const: fsl,qoriq-clockgen-2.0
 54       - items:
 55           - enum:
 56               - fsl,b4420-clockgen
 57               - fsl,b4860-clockgen
 58           - const: fsl,b4-clockgen
 59       - items:
 60           - enum:
 61               - fsl,ls1012a-clockgen
 62               - fsl,ls1021a-clockgen
 63               - fsl,ls1028a-clockgen
 64               - fsl,ls1043a-clockgen
 65               - fsl,ls1046a-clockgen
 66               - fsl,ls1088a-clockgen
 67               - fsl,ls2080a-clockgen
 68               - fsl,lx2160a-clockgen
 69 
 70   reg:
 71     maxItems: 1
 72 
 73   ranges: true
 74 
 75   '#address-cells':
 76     const: 1
 77 
 78   '#size-cells':
 79     const: 1
 80 
 81   '#clock-cells':
 82     const: 2
 83     description: |
 84       The first cell of the clock specifier is the clock type, and the
 85       second cell is the clock index for the specified type.
 86 
 87         Type#  Name       Index Cell
 88         0  sysclk          must be 0
 89         1  cmux            index (n in CLKCnCSR)
 90         2  hwaccel         index (n in CLKCGnHWACSR)
 91         3  fman            0 for fm1, 1 for fm2
 92         4  platform pll    n=pll/(n+1). For example, when n=1,
 93                           that means output_freq=PLL_freq/2.
 94         5  coreclk         must be 0
 95 
 96   clock-frequency:
 97     description: Input system clock frequency (SYSCLK)
 98 
 99   clocks:
100     items:
101       - description:
102           sysclk may be provided as an input clock.  Either clock-frequency
103           or clocks must be provided.
104       - description:
105           A second input clock, called "coreclk", may be provided if
106           core PLLs are based on a different input clock from the
107           platform PLL.
108     minItems: 1
109 
110   clock-names:
111     items:
112       - const: sysclk
113       - const: coreclk
114 
115 patternProperties:
116   '^mux[0-9]@[a-f0-9]+$':
117     deprecated: true
118     $ref: fsl,qoriq-clock-legacy.yaml
119 
120   '^sysclk(-[a-z0-9]+)?$':
121     deprecated: true
122     $ref: fsl,qoriq-clock-legacy.yaml
123 
124   '^pll[0-9]@[a-f0-9]+$':
125     deprecated: true
126     $ref: fsl,qoriq-clock-legacy.yaml
127 
128   '^platform\-pll@[a-f0-9]+$':
129     deprecated: true
130     $ref: fsl,qoriq-clock-legacy.yaml
131 
132 required:
133   - compatible
134   - reg
135   - '#clock-cells'
136 
137 additionalProperties: false
138 
139 examples:
140   - |
141     /* clock provider example */
142     global-utilities@e1000 {
143         compatible = "fsl,p5020-clockgen", "fsl,qoriq-clockgen-1.0";
144         reg = <0xe1000 0x1000>;
145         clock-frequency = <133333333>;
146         #clock-cells = <2>;
147     };
148 
149   - |
150     /* Legacy example */
151     global-utilities@e1000 {
152         compatible = "fsl,p5020-clockgen", "fsl,qoriq-clockgen-1.0";
153         reg = <0xe1000 0x1000>;
154         ranges = <0x0 0xe1000 0x1000>;
155         clock-frequency = <133333333>;
156         #address-cells = <1>;
157         #size-cells = <1>;
158         #clock-cells = <2>;
159 
160         sysclk: sysclk {
161             compatible = "fsl,qoriq-sysclk-1.0";
162             clock-output-names = "sysclk";
163             #clock-cells = <0>;
164         };
165 
166         pll0: pll0@800 {
167             compatible = "fsl,qoriq-core-pll-1.0";
168             reg = <0x800 0x4>;
169             #clock-cells = <1>;
170             clocks = <&sysclk>;
171             clock-output-names = "pll0", "pll0-div2";
172         };
173 
174         pll1: pll1@820 {
175             compatible = "fsl,qoriq-core-pll-1.0";
176             reg = <0x820 0x4>;
177             #clock-cells = <1>;
178             clocks = <&sysclk>;
179             clock-output-names = "pll1", "pll1-div2";
180         };
181 
182         mux0: mux0@0 {
183             compatible = "fsl,qoriq-core-mux-1.0";
184             reg = <0x0 0x4>;
185             #clock-cells = <0>;
186             clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>;
187             clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2";
188             clock-output-names = "cmux0";
189         };
190 
191         mux1: mux1@20 {
192             compatible = "fsl,qoriq-core-mux-1.0";
193             reg = <0x20 0x4>;
194             #clock-cells = <0>;
195             clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>;
196             clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2";
197             clock-output-names = "cmux1";
198         };
199 
200         platform-pll@c00 {
201             #clock-cells = <1>;
202             reg = <0xc00 0x4>;
203             compatible = "fsl,qoriq-platform-pll-1.0";
204             clocks = <&sysclk>;
205             clock-output-names = "platform-pll", "platform-pll-div2";
206         };
207     };

~ [ 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