xref: /OK3568_Linux_fs/u-boot/arch/arm/include/asm/arch-tegra210/clock-tables.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * (C) Copyright 2013-2015
3*4882a593Smuzhiyun  * NVIDIA Corporation <www.nvidia.com>
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * SPDX-License-Identifier:     GPL-2.0+
6*4882a593Smuzhiyun  */
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun /* Tegra210 clock PLL tables */
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun #ifndef _TEGRA210_CLOCK_TABLES_H_
11*4882a593Smuzhiyun #define _TEGRA210_CLOCK_TABLES_H_
12*4882a593Smuzhiyun 
13*4882a593Smuzhiyun /* The PLLs supported by the hardware */
14*4882a593Smuzhiyun enum clock_id {
15*4882a593Smuzhiyun 	CLOCK_ID_FIRST,
16*4882a593Smuzhiyun 	CLOCK_ID_CGENERAL = CLOCK_ID_FIRST,
17*4882a593Smuzhiyun 	CLOCK_ID_MEMORY,
18*4882a593Smuzhiyun 	CLOCK_ID_PERIPH,
19*4882a593Smuzhiyun 	CLOCK_ID_AUDIO,
20*4882a593Smuzhiyun 	CLOCK_ID_USB,
21*4882a593Smuzhiyun 	CLOCK_ID_DISPLAY,
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun 	/* now the simple ones */
24*4882a593Smuzhiyun 	CLOCK_ID_FIRST_SIMPLE,
25*4882a593Smuzhiyun 	CLOCK_ID_XCPU = CLOCK_ID_FIRST_SIMPLE,
26*4882a593Smuzhiyun 	CLOCK_ID_EPCI,
27*4882a593Smuzhiyun 	CLOCK_ID_SFROM32KHZ,
28*4882a593Smuzhiyun 	CLOCK_ID_DP,
29*4882a593Smuzhiyun 
30*4882a593Smuzhiyun 	/* These are the base clocks (inputs to the Tegra SoC) */
31*4882a593Smuzhiyun 	CLOCK_ID_32KHZ,
32*4882a593Smuzhiyun 	CLOCK_ID_OSC,
33*4882a593Smuzhiyun 	CLOCK_ID_CLK_M,
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun 	CLOCK_ID_COUNT,	/* number of PLLs */
36*4882a593Smuzhiyun 
37*4882a593Smuzhiyun 	/*
38*4882a593Smuzhiyun 	 * These are clock IDs that are used in table clock_source[][]
39*4882a593Smuzhiyun 	 * but will not be assigned as a clock source for any peripheral.
40*4882a593Smuzhiyun 	 */
41*4882a593Smuzhiyun 	CLOCK_ID_DISPLAY2,
42*4882a593Smuzhiyun 	CLOCK_ID_CGENERAL_0,
43*4882a593Smuzhiyun 	CLOCK_ID_CGENERAL_1,
44*4882a593Smuzhiyun 	CLOCK_ID_CGENERAL2,
45*4882a593Smuzhiyun 	CLOCK_ID_CGENERAL3,
46*4882a593Smuzhiyun 	CLOCK_ID_CGENERAL4_0,
47*4882a593Smuzhiyun 	CLOCK_ID_CGENERAL4_1,
48*4882a593Smuzhiyun 	CLOCK_ID_CGENERAL4_2,
49*4882a593Smuzhiyun 	CLOCK_ID_MEMORY2,
50*4882a593Smuzhiyun 	CLOCK_ID_SRC2,
51*4882a593Smuzhiyun 
52*4882a593Smuzhiyun 	CLOCK_ID_NONE = -1,
53*4882a593Smuzhiyun };
54*4882a593Smuzhiyun 
55*4882a593Smuzhiyun /* The clocks supported by the hardware */
56*4882a593Smuzhiyun enum periph_id {
57*4882a593Smuzhiyun 	PERIPH_ID_FIRST,
58*4882a593Smuzhiyun 
59*4882a593Smuzhiyun 	/* Low word: 31:0 (DEVICES_L) */
60*4882a593Smuzhiyun 	PERIPH_ID_CPU = PERIPH_ID_FIRST,
61*4882a593Smuzhiyun 	PERIPH_ID_COP,
62*4882a593Smuzhiyun 	PERIPH_ID_TRIGSYS,
63*4882a593Smuzhiyun 	PERIPH_ID_ISPB,
64*4882a593Smuzhiyun 	PERIPH_ID_RESERVED4,
65*4882a593Smuzhiyun 	PERIPH_ID_TMR,
66*4882a593Smuzhiyun 	PERIPH_ID_UART1,
67*4882a593Smuzhiyun 	PERIPH_ID_UART2,
68*4882a593Smuzhiyun 
69*4882a593Smuzhiyun 	/* 8 */
70*4882a593Smuzhiyun 	PERIPH_ID_GPIO,
71*4882a593Smuzhiyun 	PERIPH_ID_SDMMC2,
72*4882a593Smuzhiyun 	PERIPH_ID_SPDIF,
73*4882a593Smuzhiyun 	PERIPH_ID_I2S2,
74*4882a593Smuzhiyun 	PERIPH_ID_I2C1,
75*4882a593Smuzhiyun 	PERIPH_ID_RESERVED13,
76*4882a593Smuzhiyun 	PERIPH_ID_SDMMC1,
77*4882a593Smuzhiyun 	PERIPH_ID_SDMMC4,
78*4882a593Smuzhiyun 
79*4882a593Smuzhiyun 	/* 16 */
80*4882a593Smuzhiyun 	PERIPH_ID_TCW,
81*4882a593Smuzhiyun 	PERIPH_ID_PWM,
82*4882a593Smuzhiyun 	PERIPH_ID_I2S3,
83*4882a593Smuzhiyun 	PERIPH_ID_RESERVED19,
84*4882a593Smuzhiyun 	PERIPH_ID_VI,
85*4882a593Smuzhiyun 	PERIPH_ID_RESERVED21,
86*4882a593Smuzhiyun 	PERIPH_ID_USBD,
87*4882a593Smuzhiyun 	PERIPH_ID_ISP,
88*4882a593Smuzhiyun 
89*4882a593Smuzhiyun 	/* 24 */
90*4882a593Smuzhiyun 	PERIPH_ID_RESERVED24,
91*4882a593Smuzhiyun 	PERIPH_ID_RESERVED25,
92*4882a593Smuzhiyun 	PERIPH_ID_DISP2,
93*4882a593Smuzhiyun 	PERIPH_ID_DISP1,
94*4882a593Smuzhiyun 	PERIPH_ID_HOST1X,
95*4882a593Smuzhiyun 	PERIPH_ID_VCP,
96*4882a593Smuzhiyun 	PERIPH_ID_I2S1,
97*4882a593Smuzhiyun 	PERIPH_ID_CACHE2,
98*4882a593Smuzhiyun 
99*4882a593Smuzhiyun 	/* Middle word: 63:32 (DEVICES_H) */
100*4882a593Smuzhiyun 	PERIPH_ID_MEM,
101*4882a593Smuzhiyun 	PERIPH_ID_AHBDMA,
102*4882a593Smuzhiyun 	PERIPH_ID_APBDMA,
103*4882a593Smuzhiyun 	PERIPH_ID_RESERVED35,
104*4882a593Smuzhiyun 	PERIPH_ID_RESERVED36,
105*4882a593Smuzhiyun 	PERIPH_ID_STAT_MON,
106*4882a593Smuzhiyun 	PERIPH_ID_RESERVED38,
107*4882a593Smuzhiyun 	PERIPH_ID_FUSE,
108*4882a593Smuzhiyun 
109*4882a593Smuzhiyun 	/* 40 */
110*4882a593Smuzhiyun 	PERIPH_ID_KFUSE,
111*4882a593Smuzhiyun 	PERIPH_ID_SBC1,
112*4882a593Smuzhiyun 	PERIPH_ID_SNOR,
113*4882a593Smuzhiyun 	PERIPH_ID_RESERVED43,
114*4882a593Smuzhiyun 	PERIPH_ID_SBC2,
115*4882a593Smuzhiyun 	PERIPH_ID_XIO,
116*4882a593Smuzhiyun 	PERIPH_ID_SBC3,
117*4882a593Smuzhiyun 	PERIPH_ID_I2C5,
118*4882a593Smuzhiyun 
119*4882a593Smuzhiyun 	/* 48 */
120*4882a593Smuzhiyun 	PERIPH_ID_DSI,
121*4882a593Smuzhiyun 	PERIPH_ID_RESERVED49,
122*4882a593Smuzhiyun 	PERIPH_ID_HSI,
123*4882a593Smuzhiyun 	PERIPH_ID_HDMI,
124*4882a593Smuzhiyun 	PERIPH_ID_CSI,
125*4882a593Smuzhiyun 	PERIPH_ID_RESERVED53,
126*4882a593Smuzhiyun 	PERIPH_ID_I2C2,
127*4882a593Smuzhiyun 	PERIPH_ID_UART3,
128*4882a593Smuzhiyun 
129*4882a593Smuzhiyun 	/* 56 */
130*4882a593Smuzhiyun 	PERIPH_ID_MIPI_CAL,
131*4882a593Smuzhiyun 	PERIPH_ID_EMC,
132*4882a593Smuzhiyun 	PERIPH_ID_USB2,
133*4882a593Smuzhiyun 	PERIPH_ID_USB3,
134*4882a593Smuzhiyun 	PERIPH_ID_RESERVED60,
135*4882a593Smuzhiyun 	PERIPH_ID_VDE,
136*4882a593Smuzhiyun 	PERIPH_ID_BSEA,
137*4882a593Smuzhiyun 	PERIPH_ID_BSEV,
138*4882a593Smuzhiyun 
139*4882a593Smuzhiyun 	/* Upper word 95:64 (DEVICES_U) */
140*4882a593Smuzhiyun 	PERIPH_ID_RESERVED64,
141*4882a593Smuzhiyun 	PERIPH_ID_UART4,
142*4882a593Smuzhiyun 	PERIPH_ID_UART5,
143*4882a593Smuzhiyun 	PERIPH_ID_I2C3,
144*4882a593Smuzhiyun 	PERIPH_ID_SBC4,
145*4882a593Smuzhiyun 	PERIPH_ID_SDMMC3,
146*4882a593Smuzhiyun 	PERIPH_ID_PCIE,
147*4882a593Smuzhiyun 	PERIPH_ID_OWR,
148*4882a593Smuzhiyun 
149*4882a593Smuzhiyun 	/* 72 */
150*4882a593Smuzhiyun 	PERIPH_ID_AFI,
151*4882a593Smuzhiyun 	PERIPH_ID_CORESIGHT,
152*4882a593Smuzhiyun 	PERIPH_ID_PCIEXCLK,
153*4882a593Smuzhiyun 	PERIPH_ID_AVPUCQ,
154*4882a593Smuzhiyun 	PERIPH_ID_LA,
155*4882a593Smuzhiyun 	PERIPH_ID_TRACECLKIN,
156*4882a593Smuzhiyun 	PERIPH_ID_SOC_THERM,
157*4882a593Smuzhiyun 	PERIPH_ID_DTV,
158*4882a593Smuzhiyun 
159*4882a593Smuzhiyun 	/* 80 */
160*4882a593Smuzhiyun 	PERIPH_ID_RESERVED80,
161*4882a593Smuzhiyun 	PERIPH_ID_I2CSLOW,
162*4882a593Smuzhiyun 	PERIPH_ID_DSIB,
163*4882a593Smuzhiyun 	PERIPH_ID_TSEC,
164*4882a593Smuzhiyun 	PERIPH_ID_RESERVED84,
165*4882a593Smuzhiyun 	PERIPH_ID_RESERVED85,
166*4882a593Smuzhiyun 	PERIPH_ID_RESERVED86,
167*4882a593Smuzhiyun 	PERIPH_ID_EMUCIF,
168*4882a593Smuzhiyun 
169*4882a593Smuzhiyun 	/* 88 */
170*4882a593Smuzhiyun 	PERIPH_ID_RESERVED88,
171*4882a593Smuzhiyun 	PERIPH_ID_XUSB_HOST,
172*4882a593Smuzhiyun 	PERIPH_ID_RESERVED90,
173*4882a593Smuzhiyun 	PERIPH_ID_MSENC,
174*4882a593Smuzhiyun 	PERIPH_ID_RESERVED92,
175*4882a593Smuzhiyun 	PERIPH_ID_RESERVED93,
176*4882a593Smuzhiyun 	PERIPH_ID_RESERVED94,
177*4882a593Smuzhiyun 	PERIPH_ID_XUSB_DEV,
178*4882a593Smuzhiyun 
179*4882a593Smuzhiyun 	PERIPH_ID_VW_FIRST,
180*4882a593Smuzhiyun 	/* V word: 31:0 */
181*4882a593Smuzhiyun 	PERIPH_ID_CPUG = PERIPH_ID_VW_FIRST,
182*4882a593Smuzhiyun 	PERIPH_ID_CPULP,
183*4882a593Smuzhiyun 	PERIPH_ID_V_RESERVED2,
184*4882a593Smuzhiyun 	PERIPH_ID_MSELECT,
185*4882a593Smuzhiyun 	PERIPH_ID_V_RESERVED4,
186*4882a593Smuzhiyun 	PERIPH_ID_I2S4,
187*4882a593Smuzhiyun 	PERIPH_ID_I2S5,
188*4882a593Smuzhiyun 	PERIPH_ID_I2C4,
189*4882a593Smuzhiyun 
190*4882a593Smuzhiyun 	/* 104 */
191*4882a593Smuzhiyun 	PERIPH_ID_SBC5,
192*4882a593Smuzhiyun 	PERIPH_ID_SBC6,
193*4882a593Smuzhiyun 	PERIPH_ID_AHUB,
194*4882a593Smuzhiyun 	PERIPH_ID_APB2APE,
195*4882a593Smuzhiyun 	PERIPH_ID_V_RESERVED12,
196*4882a593Smuzhiyun 	PERIPH_ID_V_RESERVED13,
197*4882a593Smuzhiyun 	PERIPH_ID_V_RESERVED14,
198*4882a593Smuzhiyun 	PERIPH_ID_HDA2CODEC2X,
199*4882a593Smuzhiyun 
200*4882a593Smuzhiyun 	/* 112 */
201*4882a593Smuzhiyun 	PERIPH_ID_ATOMICS,
202*4882a593Smuzhiyun 	PERIPH_ID_V_RESERVED17,
203*4882a593Smuzhiyun 	PERIPH_ID_V_RESERVED18,
204*4882a593Smuzhiyun 	PERIPH_ID_V_RESERVED19,
205*4882a593Smuzhiyun 	PERIPH_ID_V_RESERVED20,
206*4882a593Smuzhiyun 	PERIPH_ID_V_RESERVED21,
207*4882a593Smuzhiyun 	PERIPH_ID_V_RESERVED22,
208*4882a593Smuzhiyun 	PERIPH_ID_ACTMON,
209*4882a593Smuzhiyun 
210*4882a593Smuzhiyun 	/* 120 */
211*4882a593Smuzhiyun 	PERIPH_ID_EXTPERIPH1,
212*4882a593Smuzhiyun 	PERIPH_ID_EXTPERIPH2,
213*4882a593Smuzhiyun 	PERIPH_ID_EXTPERIPH3,
214*4882a593Smuzhiyun 	PERIPH_ID_OOB,
215*4882a593Smuzhiyun 	PERIPH_ID_SATA,
216*4882a593Smuzhiyun 	PERIPH_ID_HDA,
217*4882a593Smuzhiyun 	PERIPH_ID_V_RESERVED30,
218*4882a593Smuzhiyun 	PERIPH_ID_V_RESERVED31,
219*4882a593Smuzhiyun 
220*4882a593Smuzhiyun 	/* W word: 31:0 */
221*4882a593Smuzhiyun 	PERIPH_ID_HDA2HDMICODEC,
222*4882a593Smuzhiyun 	PERIPH_ID_SATACOLD,
223*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED2,
224*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED3,
225*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED4,
226*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED5,
227*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED6,
228*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED7,
229*4882a593Smuzhiyun 
230*4882a593Smuzhiyun 	/* 136 */
231*4882a593Smuzhiyun 	PERIPH_ID_CEC,
232*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED9,
233*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED10,
234*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED11,
235*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED12,
236*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED13,
237*4882a593Smuzhiyun 	PERIPH_ID_XUSB_PADCTL,
238*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED15,
239*4882a593Smuzhiyun 
240*4882a593Smuzhiyun 	/* 144 */
241*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED16,
242*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED17,
243*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED18,
244*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED19,
245*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED20,
246*4882a593Smuzhiyun 	PERIPH_ID_ENTROPY,
247*4882a593Smuzhiyun 	PERIPH_ID_DDS,
248*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED23,
249*4882a593Smuzhiyun 
250*4882a593Smuzhiyun 	/* 152 */
251*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED24,
252*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED25,
253*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED26,
254*4882a593Smuzhiyun 	PERIPH_ID_DVFS,
255*4882a593Smuzhiyun 	PERIPH_ID_XUSB_SS,
256*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED29,
257*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED30,
258*4882a593Smuzhiyun 	PERIPH_ID_W_RESERVED31,
259*4882a593Smuzhiyun 
260*4882a593Smuzhiyun 	PERIPH_ID_X_FIRST,
261*4882a593Smuzhiyun 	/* X word: 31:0 */
262*4882a593Smuzhiyun 	PERIPH_ID_SPARE = PERIPH_ID_X_FIRST,
263*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED1,
264*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED2,
265*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED3,
266*4882a593Smuzhiyun 	PERIPH_ID_CAM_MCLK,
267*4882a593Smuzhiyun 	PERIPH_ID_CAM_MCLK2,
268*4882a593Smuzhiyun 	PERIPH_ID_I2C6,
269*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED7,
270*4882a593Smuzhiyun 
271*4882a593Smuzhiyun 	/* 168 */
272*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED8,
273*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED9,
274*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED10,
275*4882a593Smuzhiyun 	PERIPH_ID_VIM2_CLK,
276*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED12,
277*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED13,
278*4882a593Smuzhiyun 	PERIPH_ID_EMC_DLL,
279*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED15,
280*4882a593Smuzhiyun 
281*4882a593Smuzhiyun 	/* 176 */
282*4882a593Smuzhiyun 	PERIPH_ID_HDMI_AUDIO,
283*4882a593Smuzhiyun 	PERIPH_ID_CLK72MHZ,
284*4882a593Smuzhiyun 	PERIPH_ID_VIC,
285*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED19,
286*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED20,
287*4882a593Smuzhiyun 	PERIPH_ID_DPAUX,
288*4882a593Smuzhiyun 	PERIPH_ID_SOR0,
289*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED23,
290*4882a593Smuzhiyun 
291*4882a593Smuzhiyun 	/* 184 */
292*4882a593Smuzhiyun 	PERIPH_ID_GPU,
293*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED25,
294*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED26,
295*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED27,
296*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED28,
297*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED29,
298*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED30,
299*4882a593Smuzhiyun 	PERIPH_ID_X_RESERVED31,
300*4882a593Smuzhiyun 
301*4882a593Smuzhiyun 	PERIPH_ID_Y_FIRST,
302*4882a593Smuzhiyun 	/* Y word: 31:0 (192:223) */
303*4882a593Smuzhiyun 	PERIPH_ID_SPARE1 = PERIPH_ID_Y_FIRST,
304*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED1,
305*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED2,
306*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED3,
307*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED4,
308*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED5,
309*4882a593Smuzhiyun 	PERIPH_ID_APE,
310*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED7,
311*4882a593Smuzhiyun 
312*4882a593Smuzhiyun 	/* 200 */
313*4882a593Smuzhiyun 	PERIPH_ID_MC_CDPA,
314*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED9,
315*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED10,
316*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED11,
317*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED12,
318*4882a593Smuzhiyun 	PERIPH_ID_PEX_USB_UPHY,
319*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED14,
320*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED15,
321*4882a593Smuzhiyun 
322*4882a593Smuzhiyun 	/* 208 */
323*4882a593Smuzhiyun 	PERIPH_ID_VI_I2C,
324*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED17,
325*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED18,
326*4882a593Smuzhiyun 	PERIPH_ID_QSPI,
327*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED20,
328*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED21,
329*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED22,
330*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED23,
331*4882a593Smuzhiyun 
332*4882a593Smuzhiyun 	/* 216 */
333*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED24,
334*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED25,
335*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED26,
336*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED27,
337*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED28,
338*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED29,
339*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED30,
340*4882a593Smuzhiyun 	PERIPH_ID_Y_RESERVED31,
341*4882a593Smuzhiyun 
342*4882a593Smuzhiyun 	PERIPH_ID_COUNT,
343*4882a593Smuzhiyun 	PERIPH_ID_NONE = -1,
344*4882a593Smuzhiyun };
345*4882a593Smuzhiyun 
346*4882a593Smuzhiyun enum pll_out_id {
347*4882a593Smuzhiyun 	PLL_OUT1,
348*4882a593Smuzhiyun 	PLL_OUT2,
349*4882a593Smuzhiyun 	PLL_OUT3,
350*4882a593Smuzhiyun 	PLL_OUT4
351*4882a593Smuzhiyun };
352*4882a593Smuzhiyun 
353*4882a593Smuzhiyun /*
354*4882a593Smuzhiyun  * Clock peripheral IDs which sadly don't match up with PERIPH_ID. we want
355*4882a593Smuzhiyun  * callers to use the PERIPH_ID for all access to peripheral clocks to avoid
356*4882a593Smuzhiyun  * confusion bewteen PERIPH_ID_... and PERIPHC_...
357*4882a593Smuzhiyun  *
358*4882a593Smuzhiyun  * We don't call this CLOCK_PERIPH_ID or PERIPH_CLOCK_ID as it would just be
359*4882a593Smuzhiyun  * confusing.
360*4882a593Smuzhiyun  */
361*4882a593Smuzhiyun enum periphc_internal_id {
362*4882a593Smuzhiyun 	/* 0x00 */
363*4882a593Smuzhiyun 	PERIPHC_I2S2,
364*4882a593Smuzhiyun 	PERIPHC_I2S3,
365*4882a593Smuzhiyun 	PERIPHC_SPDIF_OUT,
366*4882a593Smuzhiyun 	PERIPHC_SPDIF_IN,
367*4882a593Smuzhiyun 	PERIPHC_PWM,
368*4882a593Smuzhiyun 	PERIPHC_05h,
369*4882a593Smuzhiyun 	PERIPHC_SBC2,
370*4882a593Smuzhiyun 	PERIPHC_SBC3,
371*4882a593Smuzhiyun 
372*4882a593Smuzhiyun 	/* 0x08 */
373*4882a593Smuzhiyun 	PERIPHC_08h,
374*4882a593Smuzhiyun 	PERIPHC_I2C1,
375*4882a593Smuzhiyun 	PERIPHC_I2C5,
376*4882a593Smuzhiyun 	PERIPHC_0bh,
377*4882a593Smuzhiyun 	PERIPHC_0ch,
378*4882a593Smuzhiyun 	PERIPHC_SBC1,
379*4882a593Smuzhiyun 	PERIPHC_DISP1,
380*4882a593Smuzhiyun 	PERIPHC_DISP2,
381*4882a593Smuzhiyun 
382*4882a593Smuzhiyun 	/* 0x10 */
383*4882a593Smuzhiyun 	PERIPHC_10h,
384*4882a593Smuzhiyun 	PERIPHC_11h,
385*4882a593Smuzhiyun 	PERIPHC_VI,
386*4882a593Smuzhiyun 	PERIPHC_13h,
387*4882a593Smuzhiyun 	PERIPHC_SDMMC1,
388*4882a593Smuzhiyun 	PERIPHC_SDMMC2,
389*4882a593Smuzhiyun 	PERIPHC_G3D,
390*4882a593Smuzhiyun 	PERIPHC_G2D,
391*4882a593Smuzhiyun 
392*4882a593Smuzhiyun 	/* 0x18 */
393*4882a593Smuzhiyun 	PERIPHC_18h,
394*4882a593Smuzhiyun 	PERIPHC_SDMMC4,
395*4882a593Smuzhiyun 	PERIPHC_VFIR,
396*4882a593Smuzhiyun 	PERIPHC_1Bh,
397*4882a593Smuzhiyun 	PERIPHC_1Ch,
398*4882a593Smuzhiyun 	PERIPHC_HSI,
399*4882a593Smuzhiyun 	PERIPHC_UART1,
400*4882a593Smuzhiyun 	PERIPHC_UART2,
401*4882a593Smuzhiyun 
402*4882a593Smuzhiyun 	/* 0x20 */
403*4882a593Smuzhiyun 	PERIPHC_HOST1X,
404*4882a593Smuzhiyun 	PERIPHC_21h,
405*4882a593Smuzhiyun 	PERIPHC_22h,
406*4882a593Smuzhiyun 	PERIPHC_HDMI,
407*4882a593Smuzhiyun 	PERIPHC_24h,
408*4882a593Smuzhiyun 	PERIPHC_25h,
409*4882a593Smuzhiyun 	PERIPHC_I2C2,
410*4882a593Smuzhiyun 	PERIPHC_EMC,
411*4882a593Smuzhiyun 
412*4882a593Smuzhiyun 	/* 0x28 */
413*4882a593Smuzhiyun 	PERIPHC_UART3,
414*4882a593Smuzhiyun 	PERIPHC_29h,
415*4882a593Smuzhiyun 	PERIPHC_VI_SENSOR,
416*4882a593Smuzhiyun 	PERIPHC_2bh,
417*4882a593Smuzhiyun 	PERIPHC_2ch,
418*4882a593Smuzhiyun 	PERIPHC_SBC4,
419*4882a593Smuzhiyun 	PERIPHC_I2C3,
420*4882a593Smuzhiyun 	PERIPHC_SDMMC3,
421*4882a593Smuzhiyun 
422*4882a593Smuzhiyun 	/* 0x30 */
423*4882a593Smuzhiyun 	PERIPHC_UART4,
424*4882a593Smuzhiyun 	PERIPHC_UART5,
425*4882a593Smuzhiyun 	PERIPHC_VDE,
426*4882a593Smuzhiyun 	PERIPHC_OWR,
427*4882a593Smuzhiyun 	PERIPHC_NOR,
428*4882a593Smuzhiyun 	PERIPHC_CSITE,
429*4882a593Smuzhiyun 	PERIPHC_I2S1,
430*4882a593Smuzhiyun 	PERIPHC_DTV,
431*4882a593Smuzhiyun 
432*4882a593Smuzhiyun 	/* 0x38 */
433*4882a593Smuzhiyun 	PERIPHC_38h,
434*4882a593Smuzhiyun 	PERIPHC_39h,
435*4882a593Smuzhiyun 	PERIPHC_3ah,
436*4882a593Smuzhiyun 	PERIPHC_3bh,
437*4882a593Smuzhiyun 	PERIPHC_MSENC,
438*4882a593Smuzhiyun 	PERIPHC_TSEC,
439*4882a593Smuzhiyun 	PERIPHC_3eh,
440*4882a593Smuzhiyun 	PERIPHC_OSC,
441*4882a593Smuzhiyun 
442*4882a593Smuzhiyun 	PERIPHC_VW_FIRST,
443*4882a593Smuzhiyun 	/* 0x40 */
444*4882a593Smuzhiyun 	PERIPHC_40h = PERIPHC_VW_FIRST,
445*4882a593Smuzhiyun 	PERIPHC_MSELECT,
446*4882a593Smuzhiyun 	PERIPHC_TSENSOR,
447*4882a593Smuzhiyun 	PERIPHC_I2S4,
448*4882a593Smuzhiyun 	PERIPHC_I2S5,
449*4882a593Smuzhiyun 	PERIPHC_I2C4,
450*4882a593Smuzhiyun 	PERIPHC_SBC5,
451*4882a593Smuzhiyun 	PERIPHC_SBC6,
452*4882a593Smuzhiyun 
453*4882a593Smuzhiyun 	/* 0x48 */
454*4882a593Smuzhiyun 	PERIPHC_AUDIO,
455*4882a593Smuzhiyun 	PERIPHC_49h,
456*4882a593Smuzhiyun 	PERIPHC_4ah,
457*4882a593Smuzhiyun 	PERIPHC_4bh,
458*4882a593Smuzhiyun 	PERIPHC_4ch,
459*4882a593Smuzhiyun 	PERIPHC_HDA2CODEC2X,
460*4882a593Smuzhiyun 	PERIPHC_ACTMON,
461*4882a593Smuzhiyun 	PERIPHC_EXTPERIPH1,
462*4882a593Smuzhiyun 
463*4882a593Smuzhiyun 	/* 0x50 */
464*4882a593Smuzhiyun 	PERIPHC_EXTPERIPH2,
465*4882a593Smuzhiyun 	PERIPHC_EXTPERIPH3,
466*4882a593Smuzhiyun 	PERIPHC_52h,
467*4882a593Smuzhiyun 	PERIPHC_I2CSLOW,
468*4882a593Smuzhiyun 	PERIPHC_SYS,
469*4882a593Smuzhiyun 	PERIPHC_55h,
470*4882a593Smuzhiyun 	PERIPHC_56h,
471*4882a593Smuzhiyun 	PERIPHC_57h,
472*4882a593Smuzhiyun 
473*4882a593Smuzhiyun 	/* 0x58 */
474*4882a593Smuzhiyun 	PERIPHC_58h,
475*4882a593Smuzhiyun 	PERIPHC_59h,
476*4882a593Smuzhiyun 	PERIPHC_5ah,
477*4882a593Smuzhiyun 	PERIPHC_5bh,
478*4882a593Smuzhiyun 	PERIPHC_SATAOOB,
479*4882a593Smuzhiyun 	PERIPHC_SATA,
480*4882a593Smuzhiyun 	PERIPHC_HDA,		/* 0x428 */
481*4882a593Smuzhiyun 	PERIPHC_5fh,
482*4882a593Smuzhiyun 
483*4882a593Smuzhiyun 	PERIPHC_X_FIRST,
484*4882a593Smuzhiyun 	/* 0x60 */
485*4882a593Smuzhiyun 	PERIPHC_XUSB_CORE_HOST = PERIPHC_X_FIRST,	/* 0x600 */
486*4882a593Smuzhiyun 	PERIPHC_XUSB_FALCON,
487*4882a593Smuzhiyun 	PERIPHC_XUSB_FS,
488*4882a593Smuzhiyun 	PERIPHC_XUSB_CORE_DEV,
489*4882a593Smuzhiyun 	PERIPHC_XUSB_SS,
490*4882a593Smuzhiyun 	PERIPHC_CILAB,
491*4882a593Smuzhiyun 	PERIPHC_CILCD,
492*4882a593Smuzhiyun 	PERIPHC_CILE,
493*4882a593Smuzhiyun 
494*4882a593Smuzhiyun 	/* 0x68 */
495*4882a593Smuzhiyun 	PERIPHC_DSIA_LP,
496*4882a593Smuzhiyun 	PERIPHC_DSIB_LP,
497*4882a593Smuzhiyun 	PERIPHC_ENTROPY,
498*4882a593Smuzhiyun 	PERIPHC_DVFS_REF,
499*4882a593Smuzhiyun 	PERIPHC_DVFS_SOC,
500*4882a593Smuzhiyun 	PERIPHC_TRACECLKIN,
501*4882a593Smuzhiyun 	PERIPHC_6Eh,
502*4882a593Smuzhiyun 	PERIPHC_6Fh,
503*4882a593Smuzhiyun 
504*4882a593Smuzhiyun 	/* 0x70 */
505*4882a593Smuzhiyun 	PERIPHC_EMC_LATENCY,
506*4882a593Smuzhiyun 	PERIPHC_SOC_THERM,
507*4882a593Smuzhiyun 	PERIPHC_72h,
508*4882a593Smuzhiyun 	PERIPHC_73h,
509*4882a593Smuzhiyun 	PERIPHC_74h,
510*4882a593Smuzhiyun 	PERIPHC_75h,
511*4882a593Smuzhiyun 	PERIPHC_VI_SENSOR2,
512*4882a593Smuzhiyun 	PERIPHC_I2C6,
513*4882a593Smuzhiyun 
514*4882a593Smuzhiyun 	/* 0x78 */
515*4882a593Smuzhiyun 	PERIPHC_78h,
516*4882a593Smuzhiyun 	PERIPHC_EMC_DLL,
517*4882a593Smuzhiyun 	PERIPHC_7ah,
518*4882a593Smuzhiyun 	PERIPHC_CLK72MHZ,
519*4882a593Smuzhiyun 	PERIPHC_7ch,
520*4882a593Smuzhiyun 	PERIPHC_7dh,
521*4882a593Smuzhiyun 	PERIPHC_VIC,
522*4882a593Smuzhiyun 	PERIPHC_7fh,
523*4882a593Smuzhiyun 
524*4882a593Smuzhiyun 	PERIPHC_Y_FIRST,
525*4882a593Smuzhiyun 	/* 0x80 */
526*4882a593Smuzhiyun 	PERIPHC_SDMMC_LEGACY_TM = PERIPHC_Y_FIRST,	/* 0x694 */
527*4882a593Smuzhiyun 	PERIPHC_NVDEC,			/* 0x698 */
528*4882a593Smuzhiyun 	PERIPHC_NVJPG,			/* 0x69c */
529*4882a593Smuzhiyun 	PERIPHC_NVENC,			/* 0x6a0 */
530*4882a593Smuzhiyun 	PERIPHC_84h,
531*4882a593Smuzhiyun 	PERIPHC_85h,
532*4882a593Smuzhiyun 	PERIPHC_86h,
533*4882a593Smuzhiyun 	PERIPHC_87h,
534*4882a593Smuzhiyun 
535*4882a593Smuzhiyun 	/* 0x88 */
536*4882a593Smuzhiyun 	PERIPHC_88h,
537*4882a593Smuzhiyun 	PERIPHC_89h,
538*4882a593Smuzhiyun 	PERIPHC_DMIC3,			/* 0x6bc:  */
539*4882a593Smuzhiyun 	PERIPHC_APE,			/* 0x6c0:  */
540*4882a593Smuzhiyun 	PERIPHC_QSPI,			/* 0x6c4:  */
541*4882a593Smuzhiyun 	PERIPHC_VI_I2C,			/* 0x6c8:  */
542*4882a593Smuzhiyun 	PERIPHC_USB2_HSIC_TRK,		/* 0x6cc:  */
543*4882a593Smuzhiyun 	PERIPHC_PEX_SATA_USB_RX_BYP,	/* 0x6d0:  */
544*4882a593Smuzhiyun 
545*4882a593Smuzhiyun 	/* 0x90 */
546*4882a593Smuzhiyun 	PERIPHC_MAUD,			/* 0x6d4:  */
547*4882a593Smuzhiyun 	PERIPHC_TSECB,			/* 0x6d8:  */
548*4882a593Smuzhiyun 
549*4882a593Smuzhiyun 	PERIPHC_COUNT,
550*4882a593Smuzhiyun 	PERIPHC_NONE = -1,
551*4882a593Smuzhiyun };
552*4882a593Smuzhiyun 
553*4882a593Smuzhiyun /* Converts a clock number to a clock register: 0=L, 1=H, 2=U, 0=V, 1=W */
554*4882a593Smuzhiyun #define PERIPH_REG(id) \
555*4882a593Smuzhiyun 	(id < PERIPH_ID_VW_FIRST) ? \
556*4882a593Smuzhiyun 		((id) >> 5) : ((id - PERIPH_ID_VW_FIRST) >> 5)
557*4882a593Smuzhiyun 
558*4882a593Smuzhiyun /* Mask value for a clock (within PERIPH_REG(id)) */
559*4882a593Smuzhiyun #define PERIPH_MASK(id) (1 << ((id) & 0x1f))
560*4882a593Smuzhiyun 
561*4882a593Smuzhiyun /* return 1 if a PLL ID is in range */
562*4882a593Smuzhiyun #define clock_id_is_pll(id) ((id) >= CLOCK_ID_FIRST && (id) < CLOCK_ID_COUNT)
563*4882a593Smuzhiyun 
564*4882a593Smuzhiyun /* return 1 if a peripheral ID is in range */
565*4882a593Smuzhiyun #define clock_periph_id_isvalid(id) ((id) >= PERIPH_ID_FIRST && \
566*4882a593Smuzhiyun 		(id) < PERIPH_ID_COUNT)
567*4882a593Smuzhiyun 
568*4882a593Smuzhiyun #endif	/* _TEGRA210_CLOCK_TABLES_H_ */
569