hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Device Tree Source for OMAP2420 clock data
 *
 * Copyright (C) 2014 Texas Instruments, Inc.
 */
 
&prcm_clocks {
   sys_clkout2_src_gate: sys_clkout2_src_gate@70 {
       #clock-cells = <0>;
       compatible = "ti,composite-no-wait-gate-clock";
       clocks = <&core_ck>;
       ti,bit-shift = <15>;
       reg = <0x0070>;
   };
 
   sys_clkout2_src_mux: sys_clkout2_src_mux@70 {
       #clock-cells = <0>;
       compatible = "ti,composite-mux-clock";
       clocks = <&core_ck>, <&sys_ck>, <&func_96m_ck>, <&func_54m_ck>;
       ti,bit-shift = <8>;
       reg = <0x0070>;
   };
 
   sys_clkout2_src: sys_clkout2_src {
       #clock-cells = <0>;
       compatible = "ti,composite-clock";
       clocks = <&sys_clkout2_src_gate>, <&sys_clkout2_src_mux>;
   };
 
   sys_clkout2: sys_clkout2@70 {
       #clock-cells = <0>;
       compatible = "ti,divider-clock";
       clocks = <&sys_clkout2_src>;
       ti,bit-shift = <11>;
       ti,max-div = <64>;
       reg = <0x0070>;
       ti,index-power-of-two;
   };
 
   dsp_gate_ick: dsp_gate_ick@810 {
       #clock-cells = <0>;
       compatible = "ti,composite-interface-clock";
       clocks = <&dsp_fck>;
       ti,bit-shift = <1>;
       reg = <0x0810>;
   };
 
   dsp_div_ick: dsp_div_ick@840 {
       #clock-cells = <0>;
       compatible = "ti,composite-divider-clock";
       clocks = <&dsp_fck>;
       ti,bit-shift = <5>;
       ti,max-div = <3>;
       reg = <0x0840>;
       ti,index-starts-at-one;
   };
 
   dsp_ick: dsp_ick {
       #clock-cells = <0>;
       compatible = "ti,composite-clock";
       clocks = <&dsp_gate_ick>, <&dsp_div_ick>;
   };
 
   iva1_gate_ifck: iva1_gate_ifck@800 {
       #clock-cells = <0>;
       compatible = "ti,composite-gate-clock";
       clocks = <&core_ck>;
       ti,bit-shift = <10>;
       reg = <0x0800>;
   };
 
   iva1_div_ifck: iva1_div_ifck@840 {
       #clock-cells = <0>;
       compatible = "ti,composite-divider-clock";
       clocks = <&core_ck>;
       ti,bit-shift = <8>;
       reg = <0x0840>;
       ti,dividers = <0>, <1>, <2>, <3>, <4>, <0>, <6>, <0>, <8>, <0>, <0>, <0>, <12>;
   };
 
   iva1_ifck: iva1_ifck {
       #clock-cells = <0>;
       compatible = "ti,composite-clock";
       clocks = <&iva1_gate_ifck>, <&iva1_div_ifck>;
   };
 
   iva1_ifck_div: iva1_ifck_div {
       #clock-cells = <0>;
       compatible = "fixed-factor-clock";
       clocks = <&iva1_ifck>;
       clock-mult = <1>;
       clock-div = <2>;
   };
 
   iva1_mpu_int_ifck: iva1_mpu_int_ifck@800 {
       #clock-cells = <0>;
       compatible = "ti,wait-gate-clock";
       clocks = <&iva1_ifck_div>;
       ti,bit-shift = <8>;
       reg = <0x0800>;
   };
 
   wdt3_ick: wdt3_ick@210 {
       #clock-cells = <0>;
       compatible = "ti,omap3-interface-clock";
       clocks = <&l4_ck>;
       ti,bit-shift = <28>;
       reg = <0x0210>;
   };
 
   wdt3_fck: wdt3_fck@200 {
       #clock-cells = <0>;
       compatible = "ti,wait-gate-clock";
       clocks = <&func_32k_ck>;
       ti,bit-shift = <28>;
       reg = <0x0200>;
   };
 
   mmc_ick: mmc_ick@210 {
       #clock-cells = <0>;
       compatible = "ti,omap3-interface-clock";
       clocks = <&l4_ck>;
       ti,bit-shift = <26>;
       reg = <0x0210>;
   };
 
   mmc_fck: mmc_fck@200 {
       #clock-cells = <0>;
       compatible = "ti,wait-gate-clock";
       clocks = <&func_96m_ck>;
       ti,bit-shift = <26>;
       reg = <0x0200>;
   };
 
   eac_ick: eac_ick@210 {
       #clock-cells = <0>;
       compatible = "ti,omap3-interface-clock";
       clocks = <&l4_ck>;
       ti,bit-shift = <24>;
       reg = <0x0210>;
   };
 
   eac_fck: eac_fck@200 {
       #clock-cells = <0>;
       compatible = "ti,wait-gate-clock";
       clocks = <&func_96m_ck>;
       ti,bit-shift = <24>;
       reg = <0x0200>;
   };
 
   i2c1_fck: i2c1_fck@200 {
       #clock-cells = <0>;
       compatible = "ti,wait-gate-clock";
       clocks = <&func_12m_ck>;
       ti,bit-shift = <19>;
       reg = <0x0200>;
   };
 
   i2c2_fck: i2c2_fck@200 {
       #clock-cells = <0>;
       compatible = "ti,wait-gate-clock";
       clocks = <&func_12m_ck>;
       ti,bit-shift = <20>;
       reg = <0x0200>;
   };
 
   vlynq_ick: vlynq_ick@210 {
       #clock-cells = <0>;
       compatible = "ti,omap3-interface-clock";
       clocks = <&core_l3_ck>;
       ti,bit-shift = <3>;
       reg = <0x0210>;
   };
 
   vlynq_gate_fck: vlynq_gate_fck@200 {
       #clock-cells = <0>;
       compatible = "ti,composite-gate-clock";
       clocks = <&core_ck>;
       ti,bit-shift = <3>;
       reg = <0x0200>;
   };
 
   core_d18_ck: core_d18_ck {
       #clock-cells = <0>;
       compatible = "fixed-factor-clock";
       clocks = <&core_ck>;
       clock-mult = <1>;
       clock-div = <18>;
   };
 
   vlynq_mux_fck: vlynq_mux_fck@240 {
       #clock-cells = <0>;
       compatible = "ti,composite-mux-clock";
       clocks = <&func_96m_ck>, <&core_ck>, <&core_d2_ck>, <&core_d3_ck>, <&core_d4_ck>, <&dummy_ck>, <&core_d6_ck>, <&dummy_ck>, <&core_d8_ck>, <&core_d9_ck>, <&dummy_ck>, <&dummy_ck>, <&core_d12_ck>, <&dummy_ck>, <&dummy_ck>, <&dummy_ck>, <&core_d16_ck>, <&dummy_ck>, <&core_d18_ck>;
       ti,bit-shift = <15>;
       reg = <0x0240>;
   };
 
   vlynq_fck: vlynq_fck {
       #clock-cells = <0>;
       compatible = "ti,composite-clock";
       clocks = <&vlynq_gate_fck>, <&vlynq_mux_fck>;
   };
};
 
&prcm_clockdomains {
   gfx_clkdm: gfx_clkdm {
       compatible = "ti,clockdomain";
       clocks = <&gfx_ick>;
   };
 
   core_l3_clkdm: core_l3_clkdm {
       compatible = "ti,clockdomain";
       clocks = <&cam_fck>, <&vlynq_ick>, <&usb_fck>;
   };
 
   wkup_clkdm: wkup_clkdm {
       compatible = "ti,clockdomain";
       clocks = <&dpll_ck>, <&emul_ck>, <&gpt1_ick>, <&gpios_ick>,
            <&gpios_fck>, <&mpu_wdt_ick>, <&mpu_wdt_fck>,
            <&sync_32k_ick>, <&wdt1_ick>, <&omapctrl_ick>;
   };
 
   iva1_clkdm: iva1_clkdm {
       compatible = "ti,clockdomain";
       clocks = <&iva1_mpu_int_ifck>;
   };
 
   dss_clkdm: dss_clkdm {
       compatible = "ti,clockdomain";
       clocks = <&dss_ick>, <&dss_54m_fck>;
   };
 
   core_l4_clkdm: core_l4_clkdm {
       compatible = "ti,clockdomain";
       clocks = <&ssi_l4_ick>, <&gpt2_ick>, <&gpt3_ick>, <&gpt4_ick>,
            <&gpt5_ick>, <&gpt6_ick>, <&gpt7_ick>, <&gpt8_ick>,
            <&gpt9_ick>, <&gpt10_ick>, <&gpt11_ick>, <&gpt12_ick>,
            <&mcbsp1_ick>, <&mcbsp2_ick>, <&mcspi1_ick>,
            <&mcspi1_fck>, <&mcspi2_ick>, <&mcspi2_fck>,
            <&uart1_ick>, <&uart1_fck>, <&uart2_ick>, <&uart2_fck>,
            <&uart3_ick>, <&uart3_fck>, <&cam_ick>,
            <&mailboxes_ick>, <&wdt4_ick>, <&wdt4_fck>,
            <&wdt3_ick>, <&wdt3_fck>, <&mspro_ick>, <&mspro_fck>,
            <&mmc_ick>, <&mmc_fck>, <&fac_ick>, <&fac_fck>,
            <&eac_ick>, <&eac_fck>, <&hdq_ick>, <&hdq_fck>,
            <&i2c1_ick>, <&i2c1_fck>, <&i2c2_ick>, <&i2c2_fck>,
            <&des_ick>, <&sha_ick>, <&rng_ick>, <&aes_ick>,
            <&pka_ick>;
   };
};
 
&func_96m_ck {
   compatible = "fixed-factor-clock";
   clocks = <&apll96_ck>;
   clock-mult = <1>;
   clock-div = <1>;
};
 
&dsp_div_fck {
   ti,dividers = <0>, <1>, <2>, <3>, <4>, <0>, <6>, <0>, <8>, <0>, <0>, <0>, <12>;
};
 
&ssi_ssr_sst_div_fck {
   ti,dividers = <0>, <1>, <2>, <3>, <4>, <0>, <6>, <0>, <8>;
};