Skip to content

Commit 25bafac

Browse files
Grzegorz-JSantoshShilimkar
authored andcommitted
dt-bindings: soc: ti: Update TI PRUSS bindings regarding clock-muxes
ICSS/ICSSG modules have an IEP clock mux that allow selection of internal IEP clock from 2 clock sources. ICSSG module has a CORE clock mux that allows selection of internal CORE clock from 2 clock sources. Add binding information for these 2 clock muxes. Signed-off-by: Grzegorz Jaszczyk <grzegorz.jaszczyk@linaro.org> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
1 parent 71b6108 commit 25bafac

1 file changed

Lines changed: 120 additions & 1 deletion

File tree

Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml

Lines changed: 120 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,99 @@ patternProperties:
132132
- const: ti,pruss-cfg
133133
- const: syscon
134134

135+
"#address-cells":
136+
const: 1
137+
138+
"#size-cells":
139+
const: 1
140+
135141
reg:
136142
maxItems: 1
137143

138-
additionalProperties: false
144+
ranges:
145+
maxItems: 1
146+
147+
clocks:
148+
type: object
149+
150+
properties:
151+
"#address-cells":
152+
const: 1
153+
154+
"#size-cells":
155+
const: 0
156+
157+
patternProperties:
158+
coreclk-mux@[a-f0-9]+$:
159+
description: |
160+
This is applicable only for ICSSG (K3 SoCs). The ICSSG modules
161+
core clock can be set to one of the 2 sources: ICSSG_CORE_CLK or
162+
ICSSG_ICLK. This node models this clock mux and should have the
163+
name "coreclk-mux".
164+
165+
type: object
166+
167+
properties:
168+
'#clock-cells':
169+
const: 0
170+
171+
clocks:
172+
items:
173+
- description: ICSSG_CORE Clock
174+
- description: ICSSG_ICLK Clock
175+
176+
assigned-clocks:
177+
maxItems: 1
178+
179+
assigned-clock-parents:
180+
maxItems: 1
181+
description: |
182+
Standard assigned-clocks-parents definition used for selecting
183+
mux parent (one of the mux input).
184+
185+
reg:
186+
maxItems: 1
187+
188+
required:
189+
- clocks
190+
191+
additionalProperties: false
192+
193+
iepclk-mux@[a-f0-9]+$:
194+
description: |
195+
The IEP module can get its clock from 2 sources: ICSSG_IEP_CLK or
196+
CORE_CLK (OCP_CLK in older SoCs). This node models this clock
197+
mux and should have the name "iepclk-mux".
198+
199+
type: object
200+
201+
properties:
202+
'#clock-cells':
203+
const: 0
204+
205+
clocks:
206+
items:
207+
- description: ICSSG_IEP Clock
208+
- description: Core Clock (OCP Clock in older SoCs)
209+
210+
assigned-clocks:
211+
maxItems: 1
212+
213+
assigned-clock-parents:
214+
maxItems: 1
215+
description: |
216+
Standard assigned-clocks-parents definition used for selecting
217+
mux parent (one of the mux input).
218+
219+
reg:
220+
maxItems: 1
221+
222+
required:
223+
- clocks
224+
225+
additionalProperties: false
226+
227+
additionalProperties: false
139228

140229
iep@[a-f0-9]+$:
141230
description: |
@@ -259,7 +348,22 @@ examples:
259348
260349
pruss_cfg: cfg@26000 {
261350
compatible = "ti,pruss-cfg", "syscon";
351+
#address-cells = <1>;
352+
#size-cells = <1>;
262353
reg = <0x26000 0x2000>;
354+
ranges = <0x00 0x26000 0x2000>;
355+
356+
clocks {
357+
#address-cells = <1>;
358+
#size-cells = <0>;
359+
360+
pruss_iepclk_mux: iepclk-mux@30 {
361+
reg = <0x30>;
362+
#clock-cells = <0>;
363+
clocks = <&l3_gclk>, /* icss_iep */
364+
<&pruss_ocp_gclk>; /* icss_ocp */
365+
};
366+
};
263367
};
264368
265369
pruss_mii_rt: mii-rt@32000 {
@@ -298,7 +402,22 @@ examples:
298402
299403
pruss1_cfg: cfg@26000 {
300404
compatible = "ti,pruss-cfg", "syscon";
405+
#address-cells = <1>;
406+
#size-cells = <1>;
301407
reg = <0x26000 0x2000>;
408+
ranges = <0x00 0x26000 0x2000>;
409+
410+
clocks {
411+
#address-cells = <1>;
412+
#size-cells = <0>;
413+
414+
pruss1_iepclk_mux: iepclk-mux@30 {
415+
reg = <0x30>;
416+
#clock-cells = <0>;
417+
clocks = <&sysclk_div>, /* icss_iep */
418+
<&pruss_ocp_gclk>; /* icss_ocp */
419+
};
420+
};
302421
};
303422
304423
pruss1_mii_rt: mii-rt@32000 {

0 commit comments

Comments
 (0)