xref: /linux/scripts/dtc/include-prefixes/arm/ti/omap/dm814x-clocks.dtsi (revision cdd5b5a9761fd66d17586e4f4ba6588c70e640ea)
1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only
2*724ba675SRob Herring
3*724ba675SRob Herring&pllss {
4*724ba675SRob Herring	/*
5*724ba675SRob Herring	 * See TRM "2.6.10 Connected outputso DPLLS" and
6*724ba675SRob Herring	 * "2.6.11 Connected Outputs of DPLLJ". Only clkout is
7*724ba675SRob Herring	 * connected except for hdmi and usb.
8*724ba675SRob Herring	 */
9*724ba675SRob Herring	adpll_mpu_ck: adpll@40 {
10*724ba675SRob Herring		#clock-cells = <1>;
11*724ba675SRob Herring		compatible = "ti,dm814-adpll-s-clock";
12*724ba675SRob Herring		reg = <0x40 0x40>;
13*724ba675SRob Herring		clocks = <&devosc_ck &devosc_ck &devosc_ck>;
14*724ba675SRob Herring		clock-names = "clkinp", "clkinpulow", "clkinphif";
15*724ba675SRob Herring		clock-output-names = "481c5040.adpll.dcoclkldo",
16*724ba675SRob Herring				     "481c5040.adpll.clkout",
17*724ba675SRob Herring				     "481c5040.adpll.clkoutx2",
18*724ba675SRob Herring				     "481c5040.adpll.clkouthif";
19*724ba675SRob Herring	};
20*724ba675SRob Herring
21*724ba675SRob Herring	adpll_dsp_ck: adpll@80 {
22*724ba675SRob Herring		#clock-cells = <1>;
23*724ba675SRob Herring		compatible = "ti,dm814-adpll-lj-clock";
24*724ba675SRob Herring		reg = <0x80 0x30>;
25*724ba675SRob Herring		clocks = <&devosc_ck &devosc_ck>;
26*724ba675SRob Herring		clock-names = "clkinp", "clkinpulow";
27*724ba675SRob Herring		clock-output-names = "481c5080.adpll.dcoclkldo",
28*724ba675SRob Herring				     "481c5080.adpll.clkout",
29*724ba675SRob Herring				     "481c5080.adpll.clkoutldo";
30*724ba675SRob Herring	};
31*724ba675SRob Herring
32*724ba675SRob Herring	adpll_sgx_ck: adpll@b0 {
33*724ba675SRob Herring		#clock-cells = <1>;
34*724ba675SRob Herring		compatible = "ti,dm814-adpll-lj-clock";
35*724ba675SRob Herring		reg = <0xb0 0x30>;
36*724ba675SRob Herring		clocks = <&devosc_ck &devosc_ck>;
37*724ba675SRob Herring		clock-names = "clkinp", "clkinpulow";
38*724ba675SRob Herring		clock-output-names = "481c50b0.adpll.dcoclkldo",
39*724ba675SRob Herring				     "481c50b0.adpll.clkout",
40*724ba675SRob Herring				     "481c50b0.adpll.clkoutldo";
41*724ba675SRob Herring	};
42*724ba675SRob Herring
43*724ba675SRob Herring	adpll_hdvic_ck: adpll@e0 {
44*724ba675SRob Herring		#clock-cells = <1>;
45*724ba675SRob Herring		compatible = "ti,dm814-adpll-lj-clock";
46*724ba675SRob Herring		reg = <0xe0 0x30>;
47*724ba675SRob Herring		clocks = <&devosc_ck &devosc_ck>;
48*724ba675SRob Herring		clock-names = "clkinp", "clkinpulow";
49*724ba675SRob Herring		clock-output-names = "481c50e0.adpll.dcoclkldo",
50*724ba675SRob Herring				     "481c50e0.adpll.clkout",
51*724ba675SRob Herring				     "481c50e0.adpll.clkoutldo";
52*724ba675SRob Herring	};
53*724ba675SRob Herring
54*724ba675SRob Herring	adpll_l3_ck: adpll@110 {
55*724ba675SRob Herring		#clock-cells = <1>;
56*724ba675SRob Herring		compatible = "ti,dm814-adpll-lj-clock";
57*724ba675SRob Herring		reg = <0x110 0x30>;
58*724ba675SRob Herring		clocks = <&devosc_ck &devosc_ck>;
59*724ba675SRob Herring		clock-names = "clkinp", "clkinpulow";
60*724ba675SRob Herring		clock-output-names = "481c5110.adpll.dcoclkldo",
61*724ba675SRob Herring				     "481c5110.adpll.clkout",
62*724ba675SRob Herring				     "481c5110.adpll.clkoutldo";
63*724ba675SRob Herring	};
64*724ba675SRob Herring
65*724ba675SRob Herring	adpll_isp_ck: adpll@140 {
66*724ba675SRob Herring		#clock-cells = <1>;
67*724ba675SRob Herring		compatible = "ti,dm814-adpll-lj-clock";
68*724ba675SRob Herring		reg = <0x140 0x30>;
69*724ba675SRob Herring		clocks = <&devosc_ck &devosc_ck>;
70*724ba675SRob Herring		clock-names = "clkinp", "clkinpulow";
71*724ba675SRob Herring		clock-output-names = "481c5140.adpll.dcoclkldo",
72*724ba675SRob Herring				     "481c5140.adpll.clkout",
73*724ba675SRob Herring				     "481c5140.adpll.clkoutldo";
74*724ba675SRob Herring	};
75*724ba675SRob Herring
76*724ba675SRob Herring	adpll_dss_ck: adpll@170 {
77*724ba675SRob Herring		#clock-cells = <1>;
78*724ba675SRob Herring		compatible = "ti,dm814-adpll-lj-clock";
79*724ba675SRob Herring		reg = <0x170 0x30>;
80*724ba675SRob Herring		clocks = <&devosc_ck &devosc_ck>;
81*724ba675SRob Herring		clock-names = "clkinp", "clkinpulow";
82*724ba675SRob Herring		clock-output-names = "481c5170.adpll.dcoclkldo",
83*724ba675SRob Herring				     "481c5170.adpll.clkout",
84*724ba675SRob Herring				     "481c5170.adpll.clkoutldo";
85*724ba675SRob Herring	};
86*724ba675SRob Herring
87*724ba675SRob Herring	adpll_video0_ck: adpll@1a0 {
88*724ba675SRob Herring		#clock-cells = <1>;
89*724ba675SRob Herring		compatible = "ti,dm814-adpll-lj-clock";
90*724ba675SRob Herring		reg = <0x1a0 0x30>;
91*724ba675SRob Herring		clocks = <&devosc_ck &devosc_ck>;
92*724ba675SRob Herring		clock-names = "clkinp", "clkinpulow";
93*724ba675SRob Herring		clock-output-names = "481c51a0.adpll.dcoclkldo",
94*724ba675SRob Herring				     "481c51a0.adpll.clkout",
95*724ba675SRob Herring				     "481c51a0.adpll.clkoutldo";
96*724ba675SRob Herring	};
97*724ba675SRob Herring
98*724ba675SRob Herring	adpll_video1_ck: adpll@1d0 {
99*724ba675SRob Herring		#clock-cells = <1>;
100*724ba675SRob Herring		compatible = "ti,dm814-adpll-lj-clock";
101*724ba675SRob Herring		reg = <0x1d0 0x30>;
102*724ba675SRob Herring		clocks = <&devosc_ck &devosc_ck>;
103*724ba675SRob Herring		clock-names = "clkinp", "clkinpulow";
104*724ba675SRob Herring		clock-output-names = "481c51d0.adpll.dcoclkldo",
105*724ba675SRob Herring				     "481c51d0.adpll.clkout",
106*724ba675SRob Herring				     "481c51d0.adpll.clkoutldo";
107*724ba675SRob Herring	};
108*724ba675SRob Herring
109*724ba675SRob Herring	adpll_hdmi_ck: adpll@200 {
110*724ba675SRob Herring		#clock-cells = <1>;
111*724ba675SRob Herring		compatible = "ti,dm814-adpll-lj-clock";
112*724ba675SRob Herring		reg = <0x200 0x30>;
113*724ba675SRob Herring		clocks = <&devosc_ck &devosc_ck>;
114*724ba675SRob Herring		clock-names = "clkinp", "clkinpulow";
115*724ba675SRob Herring		clock-output-names = "481c5200.adpll.dcoclkldo",
116*724ba675SRob Herring				     "481c5200.adpll.clkout",
117*724ba675SRob Herring				     "481c5200.adpll.clkoutldo";
118*724ba675SRob Herring	};
119*724ba675SRob Herring
120*724ba675SRob Herring	adpll_audio_ck: adpll@230 {
121*724ba675SRob Herring		#clock-cells = <1>;
122*724ba675SRob Herring		compatible = "ti,dm814-adpll-lj-clock";
123*724ba675SRob Herring		reg = <0x230 0x30>;
124*724ba675SRob Herring		clocks = <&devosc_ck &devosc_ck>;
125*724ba675SRob Herring		clock-names = "clkinp", "clkinpulow";
126*724ba675SRob Herring		clock-output-names = "481c5230.adpll.dcoclkldo",
127*724ba675SRob Herring				     "481c5230.adpll.clkout",
128*724ba675SRob Herring				     "481c5230.adpll.clkoutldo";
129*724ba675SRob Herring	};
130*724ba675SRob Herring
131*724ba675SRob Herring	adpll_usb_ck: adpll@260 {
132*724ba675SRob Herring		#clock-cells = <1>;
133*724ba675SRob Herring		compatible = "ti,dm814-adpll-lj-clock";
134*724ba675SRob Herring		reg = <0x260 0x30>;
135*724ba675SRob Herring		clocks = <&devosc_ck &devosc_ck>;
136*724ba675SRob Herring		clock-names = "clkinp", "clkinpulow";
137*724ba675SRob Herring		clock-output-names = "481c5260.adpll.dcoclkldo",
138*724ba675SRob Herring				     "481c5260.adpll.clkout",
139*724ba675SRob Herring				     "481c5260.adpll.clkoutldo";
140*724ba675SRob Herring	};
141*724ba675SRob Herring
142*724ba675SRob Herring	adpll_ddr_ck: adpll@290 {
143*724ba675SRob Herring		#clock-cells = <1>;
144*724ba675SRob Herring		compatible = "ti,dm814-adpll-lj-clock";
145*724ba675SRob Herring		reg = <0x290 0x30>;
146*724ba675SRob Herring		clocks = <&devosc_ck &devosc_ck>;
147*724ba675SRob Herring		clock-names = "clkinp", "clkinpulow";
148*724ba675SRob Herring		clock-output-names = "481c5290.adpll.dcoclkldo",
149*724ba675SRob Herring				     "481c5290.adpll.clkout",
150*724ba675SRob Herring				     "481c5290.adpll.clkoutldo";
151*724ba675SRob Herring	};
152*724ba675SRob Herring};
153*724ba675SRob Herring
154*724ba675SRob Herring&pllss_clocks {
155*724ba675SRob Herring	timer1_fck: timer1_fck@2e0 {
156*724ba675SRob Herring		#clock-cells = <0>;
157*724ba675SRob Herring		compatible = "ti,mux-clock";
158*724ba675SRob Herring		clocks = <&sysclk18_ck &aud_clkin0_ck &aud_clkin1_ck
159*724ba675SRob Herring			  &aud_clkin2_ck &devosc_ck &auxosc_ck &tclkin_ck>;
160*724ba675SRob Herring		ti,bit-shift = <3>;
161*724ba675SRob Herring		reg = <0x2e0>;
162*724ba675SRob Herring	};
163*724ba675SRob Herring
164*724ba675SRob Herring	timer2_fck: timer2_fck@2e0 {
165*724ba675SRob Herring		#clock-cells = <0>;
166*724ba675SRob Herring		compatible = "ti,mux-clock";
167*724ba675SRob Herring		clocks = <&sysclk18_ck &aud_clkin0_ck &aud_clkin1_ck
168*724ba675SRob Herring			  &aud_clkin2_ck &devosc_ck &auxosc_ck &tclkin_ck>;
169*724ba675SRob Herring		ti,bit-shift = <6>;
170*724ba675SRob Herring		reg = <0x2e0>;
171*724ba675SRob Herring	};
172*724ba675SRob Herring
173*724ba675SRob Herring	/* CPTS_RFT_CLK in RMII_REFCLK_SRC, usually sourced from auiod */
174*724ba675SRob Herring	cpsw_cpts_rft_clk: cpsw_cpts_rft_clk {
175*724ba675SRob Herring		#clock-cells = <0>;
176*724ba675SRob Herring		compatible = "ti,mux-clock";
177*724ba675SRob Herring		clocks = <&adpll_video0_ck 1
178*724ba675SRob Herring			  &adpll_video1_ck 1
179*724ba675SRob Herring			  &adpll_audio_ck 1>;
180*724ba675SRob Herring		ti,bit-shift = <1>;
181*724ba675SRob Herring		reg = <0x2e8>;
182*724ba675SRob Herring	};
183*724ba675SRob Herring
184*724ba675SRob Herring	/* REVISIT: Set up with a proper mux using RMII_REFCLK_SRC */
185*724ba675SRob Herring	cpsw_125mhz_gclk: cpsw_125mhz_gclk {
186*724ba675SRob Herring		#clock-cells = <0>;
187*724ba675SRob Herring		compatible = "fixed-clock";
188*724ba675SRob Herring		clock-frequency = <125000000>;
189*724ba675SRob Herring	};
190*724ba675SRob Herring
191*724ba675SRob Herring	sysclk18_ck: sysclk18_ck@2f0 {
192*724ba675SRob Herring		#clock-cells = <0>;
193*724ba675SRob Herring		compatible = "ti,mux-clock";
194*724ba675SRob Herring		clocks = <&rtcosc_ck>, <&rtcdivider_ck>;
195*724ba675SRob Herring		ti,bit-shift = <0>;
196*724ba675SRob Herring		reg = <0x02f0>;
197*724ba675SRob Herring	};
198*724ba675SRob Herring};
199*724ba675SRob Herring
200*724ba675SRob Herring&scm_clocks {
201*724ba675SRob Herring	devosc_ck: devosc_ck@40 {
202*724ba675SRob Herring		#clock-cells = <0>;
203*724ba675SRob Herring		compatible = "ti,mux-clock";
204*724ba675SRob Herring		clocks = <&virt_20000000_ck>, <&virt_19200000_ck>;
205*724ba675SRob Herring		ti,bit-shift = <21>;
206*724ba675SRob Herring		reg = <0x0040>;
207*724ba675SRob Herring	};
208*724ba675SRob Herring
209*724ba675SRob Herring	/* Optional auxosc, 20 - 30 MHz range, assume 22.5729 MHz by default */
210*724ba675SRob Herring	auxosc_ck: auxosc_ck {
211*724ba675SRob Herring		#clock-cells = <0>;
212*724ba675SRob Herring		compatible = "fixed-clock";
213*724ba675SRob Herring		clock-frequency = <22572900>;
214*724ba675SRob Herring	};
215*724ba675SRob Herring
216*724ba675SRob Herring	/* Optional 32768Hz crystal or clock on RTCOSC pins */
217*724ba675SRob Herring	rtcosc_ck: rtcosc_ck {
218*724ba675SRob Herring		#clock-cells = <0>;
219*724ba675SRob Herring		compatible = "fixed-clock";
220*724ba675SRob Herring		clock-frequency = <32768>;
221*724ba675SRob Herring	};
222*724ba675SRob Herring
223*724ba675SRob Herring	/* Optional external clock on TCLKIN pin, set rate in baord dts file */
224*724ba675SRob Herring	tclkin_ck: tclkin_ck {
225*724ba675SRob Herring		#clock-cells = <0>;
226*724ba675SRob Herring		compatible = "fixed-clock";
227*724ba675SRob Herring		clock-frequency = <0>;
228*724ba675SRob Herring	};
229*724ba675SRob Herring
230*724ba675SRob Herring	virt_20000000_ck: virt_20000000_ck {
231*724ba675SRob Herring		#clock-cells = <0>;
232*724ba675SRob Herring		compatible = "fixed-clock";
233*724ba675SRob Herring		clock-frequency = <20000000>;
234*724ba675SRob Herring	};
235*724ba675SRob Herring
236*724ba675SRob Herring	virt_19200000_ck: virt_19200000_ck {
237*724ba675SRob Herring		#clock-cells = <0>;
238*724ba675SRob Herring		compatible = "fixed-clock";
239*724ba675SRob Herring		clock-frequency = <19200000>;
240*724ba675SRob Herring	};
241*724ba675SRob Herring
242*724ba675SRob Herring	mpu_ck: mpu_ck {
243*724ba675SRob Herring		#clock-cells = <0>;
244*724ba675SRob Herring		compatible = "fixed-clock";
245*724ba675SRob Herring		clock-frequency = <1000000000>;
246*724ba675SRob Herring	};
247*724ba675SRob Herring};
248*724ba675SRob Herring
249*724ba675SRob Herring&prcm_clocks {
250*724ba675SRob Herring	osc_src_ck: osc_src_ck {
251*724ba675SRob Herring		#clock-cells = <0>;
252*724ba675SRob Herring		compatible = "fixed-factor-clock";
253*724ba675SRob Herring		clocks = <&devosc_ck>;
254*724ba675SRob Herring		clock-mult = <1>;
255*724ba675SRob Herring		clock-div = <1>;
256*724ba675SRob Herring	};
257*724ba675SRob Herring
258*724ba675SRob Herring	mpu_clksrc_ck: mpu_clksrc_ck@40 {
259*724ba675SRob Herring		#clock-cells = <0>;
260*724ba675SRob Herring		compatible = "ti,mux-clock";
261*724ba675SRob Herring		clocks = <&devosc_ck>, <&rtcdivider_ck>;
262*724ba675SRob Herring		ti,bit-shift = <0>;
263*724ba675SRob Herring		reg = <0x0040>;
264*724ba675SRob Herring	};
265*724ba675SRob Herring
266*724ba675SRob Herring	/* Fixed divider clock 0.0016384 * devosc */
267*724ba675SRob Herring	rtcdivider_ck: rtcdivider_ck {
268*724ba675SRob Herring		#clock-cells = <0>;
269*724ba675SRob Herring		compatible = "fixed-factor-clock";
270*724ba675SRob Herring		clocks = <&devosc_ck>;
271*724ba675SRob Herring		clock-mult = <128>;
272*724ba675SRob Herring		clock-div = <78125>;
273*724ba675SRob Herring	};
274*724ba675SRob Herring
275*724ba675SRob Herring	/* L4_HS 220 MHz*/
276*724ba675SRob Herring	sysclk4_ck: sysclk4_ck {
277*724ba675SRob Herring		#clock-cells = <0>;
278*724ba675SRob Herring		compatible = "ti,fixed-factor-clock";
279*724ba675SRob Herring		clocks = <&adpll_l3_ck 1>;
280*724ba675SRob Herring		ti,clock-mult = <1>;
281*724ba675SRob Herring		ti,clock-div = <1>;
282*724ba675SRob Herring	};
283*724ba675SRob Herring
284*724ba675SRob Herring	/* L4_FWCFG */
285*724ba675SRob Herring	sysclk5_ck: sysclk5_ck {
286*724ba675SRob Herring		#clock-cells = <0>;
287*724ba675SRob Herring		compatible = "ti,fixed-factor-clock";
288*724ba675SRob Herring		clocks = <&adpll_l3_ck 1>;
289*724ba675SRob Herring		ti,clock-mult = <1>;
290*724ba675SRob Herring		ti,clock-div = <2>;
291*724ba675SRob Herring	};
292*724ba675SRob Herring
293*724ba675SRob Herring	/* L4_LS 110 MHz */
294*724ba675SRob Herring	sysclk6_ck: sysclk6_ck {
295*724ba675SRob Herring		#clock-cells = <0>;
296*724ba675SRob Herring		compatible = "ti,fixed-factor-clock";
297*724ba675SRob Herring		clocks = <&adpll_l3_ck 1>;
298*724ba675SRob Herring		ti,clock-mult = <1>;
299*724ba675SRob Herring		ti,clock-div = <2>;
300*724ba675SRob Herring	};
301*724ba675SRob Herring
302*724ba675SRob Herring	sysclk8_ck: sysclk8_ck {
303*724ba675SRob Herring		#clock-cells = <0>;
304*724ba675SRob Herring		compatible = "ti,fixed-factor-clock";
305*724ba675SRob Herring		clocks = <&adpll_usb_ck 1>;
306*724ba675SRob Herring		ti,clock-mult = <1>;
307*724ba675SRob Herring		ti,clock-div = <1>;
308*724ba675SRob Herring	};
309*724ba675SRob Herring
310*724ba675SRob Herring	sysclk10_ck: sysclk10_ck {
311*724ba675SRob Herring		compatible = "ti,divider-clock";
312*724ba675SRob Herring		reg = <0x324>;
313*724ba675SRob Herring		ti,max-div = <7>;
314*724ba675SRob Herring		#clock-cells = <0>;
315*724ba675SRob Herring		clocks = <&adpll_usb_ck 1>;
316*724ba675SRob Herring	};
317*724ba675SRob Herring
318*724ba675SRob Herring	aud_clkin0_ck: aud_clkin0_ck {
319*724ba675SRob Herring		#clock-cells = <0>;
320*724ba675SRob Herring		compatible = "fixed-clock";
321*724ba675SRob Herring		clock-frequency = <20000000>;
322*724ba675SRob Herring	};
323*724ba675SRob Herring
324*724ba675SRob Herring	aud_clkin1_ck: aud_clkin1_ck {
325*724ba675SRob Herring		#clock-cells = <0>;
326*724ba675SRob Herring		compatible = "fixed-clock";
327*724ba675SRob Herring		clock-frequency = <20000000>;
328*724ba675SRob Herring	};
329*724ba675SRob Herring
330*724ba675SRob Herring	aud_clkin2_ck: aud_clkin2_ck {
331*724ba675SRob Herring		#clock-cells = <0>;
332*724ba675SRob Herring		compatible = "fixed-clock";
333*724ba675SRob Herring		clock-frequency = <20000000>;
334*724ba675SRob Herring	};
335*724ba675SRob Herring};
336*724ba675SRob Herring
337*724ba675SRob Herring&prcm {
338*724ba675SRob Herring	default_cm: default_cm@500 {
339*724ba675SRob Herring		compatible = "ti,omap4-cm";
340*724ba675SRob Herring		reg = <0x500 0x100>;
341*724ba675SRob Herring		#address-cells = <1>;
342*724ba675SRob Herring		#size-cells = <1>;
343*724ba675SRob Herring		ranges = <0 0x500 0x100>;
344*724ba675SRob Herring
345*724ba675SRob Herring		default_clkctrl: clk@0 {
346*724ba675SRob Herring			compatible = "ti,clkctrl";
347*724ba675SRob Herring			reg = <0x0 0x5c>;
348*724ba675SRob Herring			#clock-cells = <2>;
349*724ba675SRob Herring		};
350*724ba675SRob Herring	};
351*724ba675SRob Herring
352*724ba675SRob Herring	alwon_cm: alwon_cm@1400 {
353*724ba675SRob Herring		compatible = "ti,omap4-cm";
354*724ba675SRob Herring		reg = <0x1400 0x300>;
355*724ba675SRob Herring		#address-cells = <1>;
356*724ba675SRob Herring		#size-cells = <1>;
357*724ba675SRob Herring		ranges = <0 0x1400 0x300>;
358*724ba675SRob Herring
359*724ba675SRob Herring		alwon_clkctrl: clk@0 {
360*724ba675SRob Herring			compatible = "ti,clkctrl";
361*724ba675SRob Herring			reg = <0x0 0x228>;
362*724ba675SRob Herring			#clock-cells = <2>;
363*724ba675SRob Herring		};
364*724ba675SRob Herring	};
365*724ba675SRob Herring
366*724ba675SRob Herring	alwon_ethernet_cm: alwon_ethernet_cm@15d4 {
367*724ba675SRob Herring		compatible = "ti,omap4-cm";
368*724ba675SRob Herring		reg = <0x15d4 0x4>;
369*724ba675SRob Herring		#address-cells = <1>;
370*724ba675SRob Herring		#size-cells = <1>;
371*724ba675SRob Herring		ranges = <0 0x15d4 0x4>;
372*724ba675SRob Herring
373*724ba675SRob Herring		alwon_ethernet_clkctrl: clk@0 {
374*724ba675SRob Herring			compatible = "ti,clkctrl";
375*724ba675SRob Herring			reg = <0 0x4>;
376*724ba675SRob Herring			#clock-cells = <2>;
377*724ba675SRob Herring		};
378*724ba675SRob Herring	};
379*724ba675SRob Herring};
380