xref: /freebsd/sys/contrib/device-tree/src/mips/mobileye/eyeq5-clocks.dtsi (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*0e8011faSEmmanuel Vadot/*
3*0e8011faSEmmanuel Vadot * Copyright 2023 Mobileye Vision Technologies Ltd.
4*0e8011faSEmmanuel Vadot */
5*0e8011faSEmmanuel Vadot
6*0e8011faSEmmanuel Vadot#include <dt-bindings/clock/mobileye,eyeq5-clk.h>
7*0e8011faSEmmanuel Vadot
8*0e8011faSEmmanuel Vadot/ {
9*0e8011faSEmmanuel Vadot	/* Fixed clock */
10*0e8011faSEmmanuel Vadot	xtal: xtal {
11*0e8011faSEmmanuel Vadot		compatible = "fixed-clock";
12*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
13*0e8011faSEmmanuel Vadot		clock-frequency = <30000000>;
14*0e8011faSEmmanuel Vadot	};
15*0e8011faSEmmanuel Vadot
16*0e8011faSEmmanuel Vadot/* PLL_CPU derivatives */
17*0e8011faSEmmanuel Vadot	occ_cpu: occ-cpu {
18*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
19*0e8011faSEmmanuel Vadot		clocks = <&olb EQ5C_PLL_CPU>;
20*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
21*0e8011faSEmmanuel Vadot		clock-div = <1>;
22*0e8011faSEmmanuel Vadot		clock-mult = <1>;
23*0e8011faSEmmanuel Vadot	};
24*0e8011faSEmmanuel Vadot	si_css0_ref_clk: si-css0-ref-clk { /* gate ClkRstGen_si_css0_ref */
25*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
26*0e8011faSEmmanuel Vadot		clocks = <&occ_cpu>;
27*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
28*0e8011faSEmmanuel Vadot		clock-div = <1>;
29*0e8011faSEmmanuel Vadot		clock-mult = <1>;
30*0e8011faSEmmanuel Vadot	};
31*0e8011faSEmmanuel Vadot	cpc_clk: cpc-clk {
32*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
33*0e8011faSEmmanuel Vadot		clocks = <&si_css0_ref_clk>;
34*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
35*0e8011faSEmmanuel Vadot		clock-div = <1>;
36*0e8011faSEmmanuel Vadot		clock-mult = <1>;
37*0e8011faSEmmanuel Vadot	};
38*0e8011faSEmmanuel Vadot	core0_clk: core0-clk {
39*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
40*0e8011faSEmmanuel Vadot		clocks = <&si_css0_ref_clk>;
41*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
42*0e8011faSEmmanuel Vadot		clock-div = <1>;
43*0e8011faSEmmanuel Vadot		clock-mult = <1>;
44*0e8011faSEmmanuel Vadot	};
45*0e8011faSEmmanuel Vadot	core1_clk: core1-clk {
46*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
47*0e8011faSEmmanuel Vadot		clocks = <&si_css0_ref_clk>;
48*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
49*0e8011faSEmmanuel Vadot		clock-div = <1>;
50*0e8011faSEmmanuel Vadot		clock-mult = <1>;
51*0e8011faSEmmanuel Vadot	};
52*0e8011faSEmmanuel Vadot	core2_clk: core2-clk {
53*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
54*0e8011faSEmmanuel Vadot		clocks = <&si_css0_ref_clk>;
55*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
56*0e8011faSEmmanuel Vadot		clock-div = <1>;
57*0e8011faSEmmanuel Vadot		clock-mult = <1>;
58*0e8011faSEmmanuel Vadot	};
59*0e8011faSEmmanuel Vadot	core3_clk: core3-clk {
60*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
61*0e8011faSEmmanuel Vadot		clocks = <&si_css0_ref_clk>;
62*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
63*0e8011faSEmmanuel Vadot		clock-div = <1>;
64*0e8011faSEmmanuel Vadot		clock-mult = <1>;
65*0e8011faSEmmanuel Vadot	};
66*0e8011faSEmmanuel Vadot	cm_clk: cm-clk {
67*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
68*0e8011faSEmmanuel Vadot		clocks = <&si_css0_ref_clk>;
69*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
70*0e8011faSEmmanuel Vadot		clock-div = <1>;
71*0e8011faSEmmanuel Vadot		clock-mult = <1>;
72*0e8011faSEmmanuel Vadot	};
73*0e8011faSEmmanuel Vadot	mem_clk: mem-clk {
74*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
75*0e8011faSEmmanuel Vadot		clocks = <&si_css0_ref_clk>;
76*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
77*0e8011faSEmmanuel Vadot		clock-div = <1>;
78*0e8011faSEmmanuel Vadot		clock-mult = <1>;
79*0e8011faSEmmanuel Vadot	};
80*0e8011faSEmmanuel Vadot	occ_isram: occ-isram {
81*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
82*0e8011faSEmmanuel Vadot		clocks = <&olb EQ5C_PLL_CPU>;
83*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
84*0e8011faSEmmanuel Vadot		clock-div = <2>;
85*0e8011faSEmmanuel Vadot		clock-mult = <1>;
86*0e8011faSEmmanuel Vadot	};
87*0e8011faSEmmanuel Vadot	isram_clk: isram-clk { /* gate ClkRstGen_isram */
88*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
89*0e8011faSEmmanuel Vadot		clocks = <&occ_isram>;
90*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
91*0e8011faSEmmanuel Vadot		clock-div = <1>;
92*0e8011faSEmmanuel Vadot		clock-mult = <1>;
93*0e8011faSEmmanuel Vadot	};
94*0e8011faSEmmanuel Vadot	occ_dbu: occ-dbu {
95*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
96*0e8011faSEmmanuel Vadot		clocks = <&olb EQ5C_PLL_CPU>;
97*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
98*0e8011faSEmmanuel Vadot		clock-div = <10>;
99*0e8011faSEmmanuel Vadot		clock-mult = <1>;
100*0e8011faSEmmanuel Vadot	};
101*0e8011faSEmmanuel Vadot	si_dbu_tp_pclk: si-dbu-tp-pclk { /* gate ClkRstGen_dbu */
102*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
103*0e8011faSEmmanuel Vadot		clocks = <&occ_dbu>;
104*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
105*0e8011faSEmmanuel Vadot		clock-div = <1>;
106*0e8011faSEmmanuel Vadot		clock-mult = <1>;
107*0e8011faSEmmanuel Vadot	};
108*0e8011faSEmmanuel Vadot/* PLL_VDI derivatives */
109*0e8011faSEmmanuel Vadot	occ_vdi: occ-vdi {
110*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
111*0e8011faSEmmanuel Vadot		clocks = <&olb EQ5C_PLL_VDI>;
112*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
113*0e8011faSEmmanuel Vadot		clock-div = <2>;
114*0e8011faSEmmanuel Vadot		clock-mult = <1>;
115*0e8011faSEmmanuel Vadot	};
116*0e8011faSEmmanuel Vadot	vdi_clk: vdi-clk { /* gate ClkRstGen_vdi */
117*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
118*0e8011faSEmmanuel Vadot		clocks = <&occ_vdi>;
119*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
120*0e8011faSEmmanuel Vadot		clock-div = <1>;
121*0e8011faSEmmanuel Vadot		clock-mult = <1>;
122*0e8011faSEmmanuel Vadot	};
123*0e8011faSEmmanuel Vadot	occ_can_ser: occ-can-ser {
124*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
125*0e8011faSEmmanuel Vadot		clocks = <&olb EQ5C_PLL_VDI>;
126*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
127*0e8011faSEmmanuel Vadot		clock-div = <16>;
128*0e8011faSEmmanuel Vadot		clock-mult = <1>;
129*0e8011faSEmmanuel Vadot	};
130*0e8011faSEmmanuel Vadot	can_ser_clk: can-ser-clk { /* gate ClkRstGen_can_ser */
131*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
132*0e8011faSEmmanuel Vadot		clocks = <&occ_can_ser>;
133*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
134*0e8011faSEmmanuel Vadot		clock-div = <1>;
135*0e8011faSEmmanuel Vadot		clock-mult = <1>;
136*0e8011faSEmmanuel Vadot	};
137*0e8011faSEmmanuel Vadot	i2c_ser_clk: i2c-ser-clk {
138*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
139*0e8011faSEmmanuel Vadot		clocks = <&olb EQ5C_PLL_VDI>;
140*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
141*0e8011faSEmmanuel Vadot		clock-div = <20>;
142*0e8011faSEmmanuel Vadot		clock-mult = <1>;
143*0e8011faSEmmanuel Vadot	};
144*0e8011faSEmmanuel Vadot/* PLL_PER derivatives */
145*0e8011faSEmmanuel Vadot	occ_periph: occ-periph {
146*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
147*0e8011faSEmmanuel Vadot		clocks = <&olb EQ5C_PLL_PER>;
148*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
149*0e8011faSEmmanuel Vadot		clock-div = <16>;
150*0e8011faSEmmanuel Vadot		clock-mult = <1>;
151*0e8011faSEmmanuel Vadot	};
152*0e8011faSEmmanuel Vadot	periph_clk: periph-clk {
153*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
154*0e8011faSEmmanuel Vadot		clocks = <&occ_periph>;
155*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
156*0e8011faSEmmanuel Vadot		clock-div = <1>;
157*0e8011faSEmmanuel Vadot		clock-mult = <1>;
158*0e8011faSEmmanuel Vadot	};
159*0e8011faSEmmanuel Vadot	can_clk: can-clk {
160*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
161*0e8011faSEmmanuel Vadot		clocks = <&occ_periph>;
162*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
163*0e8011faSEmmanuel Vadot		clock-div = <1>;
164*0e8011faSEmmanuel Vadot		clock-mult = <1>;
165*0e8011faSEmmanuel Vadot	};
166*0e8011faSEmmanuel Vadot	spi_clk: spi-clk {
167*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
168*0e8011faSEmmanuel Vadot		clocks = <&occ_periph>;
169*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
170*0e8011faSEmmanuel Vadot		clock-div = <1>;
171*0e8011faSEmmanuel Vadot		clock-mult = <1>;
172*0e8011faSEmmanuel Vadot	};
173*0e8011faSEmmanuel Vadot	uart_clk: uart-clk {
174*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
175*0e8011faSEmmanuel Vadot		clocks = <&occ_periph>;
176*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
177*0e8011faSEmmanuel Vadot		clock-div = <1>;
178*0e8011faSEmmanuel Vadot		clock-mult = <1>;
179*0e8011faSEmmanuel Vadot	};
180*0e8011faSEmmanuel Vadot	i2c_clk: i2c-clk {
181*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
182*0e8011faSEmmanuel Vadot		clocks = <&occ_periph>;
183*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
184*0e8011faSEmmanuel Vadot		clock-div = <1>;
185*0e8011faSEmmanuel Vadot		clock-mult = <1>;
186*0e8011faSEmmanuel Vadot		clock-output-names = "i2c_clk";
187*0e8011faSEmmanuel Vadot	};
188*0e8011faSEmmanuel Vadot	timer_clk: timer-clk {
189*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
190*0e8011faSEmmanuel Vadot		clocks = <&occ_periph>;
191*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
192*0e8011faSEmmanuel Vadot		clock-div = <1>;
193*0e8011faSEmmanuel Vadot		clock-mult = <1>;
194*0e8011faSEmmanuel Vadot		clock-output-names = "timer_clk";
195*0e8011faSEmmanuel Vadot	};
196*0e8011faSEmmanuel Vadot	gpio_clk: gpio-clk {
197*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
198*0e8011faSEmmanuel Vadot		clocks = <&occ_periph>;
199*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
200*0e8011faSEmmanuel Vadot		clock-div = <1>;
201*0e8011faSEmmanuel Vadot		clock-mult = <1>;
202*0e8011faSEmmanuel Vadot		clock-output-names = "gpio_clk";
203*0e8011faSEmmanuel Vadot	};
204*0e8011faSEmmanuel Vadot	emmc_sys_clk: emmc-sys-clk {
205*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
206*0e8011faSEmmanuel Vadot		clocks = <&olb EQ5C_PLL_PER>;
207*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
208*0e8011faSEmmanuel Vadot		clock-div = <10>;
209*0e8011faSEmmanuel Vadot		clock-mult = <1>;
210*0e8011faSEmmanuel Vadot		clock-output-names = "emmc_sys_clk";
211*0e8011faSEmmanuel Vadot	};
212*0e8011faSEmmanuel Vadot	ccf_ctrl_clk: ccf-ctrl-clk {
213*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
214*0e8011faSEmmanuel Vadot		clocks = <&olb EQ5C_PLL_PER>;
215*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
216*0e8011faSEmmanuel Vadot		clock-div = <4>;
217*0e8011faSEmmanuel Vadot		clock-mult = <1>;
218*0e8011faSEmmanuel Vadot		clock-output-names = "ccf_ctrl_clk";
219*0e8011faSEmmanuel Vadot	};
220*0e8011faSEmmanuel Vadot	occ_mjpeg_core: occ-mjpeg-core {
221*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
222*0e8011faSEmmanuel Vadot		clocks = <&olb EQ5C_PLL_PER>;
223*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
224*0e8011faSEmmanuel Vadot		clock-div = <2>;
225*0e8011faSEmmanuel Vadot		clock-mult = <1>;
226*0e8011faSEmmanuel Vadot		clock-output-names = "occ_mjpeg_core";
227*0e8011faSEmmanuel Vadot	};
228*0e8011faSEmmanuel Vadot	hsm_clk: hsm-clk { /* gate ClkRstGen_hsm */
229*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
230*0e8011faSEmmanuel Vadot		clocks = <&occ_mjpeg_core>;
231*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
232*0e8011faSEmmanuel Vadot		clock-div = <1>;
233*0e8011faSEmmanuel Vadot		clock-mult = <1>;
234*0e8011faSEmmanuel Vadot		clock-output-names = "hsm_clk";
235*0e8011faSEmmanuel Vadot	};
236*0e8011faSEmmanuel Vadot	mjpeg_core_clk: mjpeg-core-clk { /* gate ClkRstGen_mjpeg_gen */
237*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
238*0e8011faSEmmanuel Vadot		clocks = <&occ_mjpeg_core>;
239*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
240*0e8011faSEmmanuel Vadot		clock-div = <1>;
241*0e8011faSEmmanuel Vadot		clock-mult = <1>;
242*0e8011faSEmmanuel Vadot		clock-output-names = "mjpeg_core_clk";
243*0e8011faSEmmanuel Vadot	};
244*0e8011faSEmmanuel Vadot	fcmu_a_clk: fcmu-a-clk {
245*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
246*0e8011faSEmmanuel Vadot		clocks = <&olb EQ5C_PLL_PER>;
247*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
248*0e8011faSEmmanuel Vadot		clock-div = <20>;
249*0e8011faSEmmanuel Vadot		clock-mult = <1>;
250*0e8011faSEmmanuel Vadot		clock-output-names = "fcmu_a_clk";
251*0e8011faSEmmanuel Vadot	};
252*0e8011faSEmmanuel Vadot	occ_pci_sys: occ-pci-sys {
253*0e8011faSEmmanuel Vadot		compatible = "fixed-factor-clock";
254*0e8011faSEmmanuel Vadot		clocks = <&olb EQ5C_PLL_PER>;
255*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
256*0e8011faSEmmanuel Vadot		clock-div = <8>;
257*0e8011faSEmmanuel Vadot		clock-mult = <1>;
258*0e8011faSEmmanuel Vadot		clock-output-names = "occ_pci_sys";
259*0e8011faSEmmanuel Vadot	};
260*0e8011faSEmmanuel Vadot	pclk: pclk {
261*0e8011faSEmmanuel Vadot		compatible = "fixed-clock";
262*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
263*0e8011faSEmmanuel Vadot		clock-frequency = <250000000>;  /* 250MHz */
264*0e8011faSEmmanuel Vadot	};
265*0e8011faSEmmanuel Vadot	tsu_clk: tsu-clk {
266*0e8011faSEmmanuel Vadot		compatible = "fixed-clock";
267*0e8011faSEmmanuel Vadot		#clock-cells = <0>;
268*0e8011faSEmmanuel Vadot		clock-frequency = <125000000>;  /* 125MHz */
269*0e8011faSEmmanuel Vadot	};
270*0e8011faSEmmanuel Vadot};
271