xref: /freebsd-src/sys/contrib/device-tree/include/dt-bindings/clock/tegra20-car.h (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot /* SPDX-License-Identifier: GPL-2.0 */
2*c66ec88fSEmmanuel Vadot /*
3*c66ec88fSEmmanuel Vadot  * This header provides constants for binding nvidia,tegra20-car.
4*c66ec88fSEmmanuel Vadot  *
5*c66ec88fSEmmanuel Vadot  * The first 96 clocks are numbered to match the bits in the CAR's CLK_OUT_ENB
6*c66ec88fSEmmanuel Vadot  * registers. These IDs often match those in the CAR's RST_DEVICES registers,
7*c66ec88fSEmmanuel Vadot  * but not in all cases. Some bits in CLK_OUT_ENB affect multiple clocks. In
8*c66ec88fSEmmanuel Vadot  * this case, those clocks are assigned IDs above 95 in order to highlight
9*c66ec88fSEmmanuel Vadot  * this issue. Implementations that interpret these clock IDs as bit values
10*c66ec88fSEmmanuel Vadot  * within the CLK_OUT_ENB or RST_DEVICES registers should be careful to
11*c66ec88fSEmmanuel Vadot  * explicitly handle these special cases.
12*c66ec88fSEmmanuel Vadot  *
13*c66ec88fSEmmanuel Vadot  * The balance of the clocks controlled by the CAR are assigned IDs of 96 and
14*c66ec88fSEmmanuel Vadot  * above.
15*c66ec88fSEmmanuel Vadot  */
16*c66ec88fSEmmanuel Vadot 
17*c66ec88fSEmmanuel Vadot #ifndef _DT_BINDINGS_CLOCK_TEGRA20_CAR_H
18*c66ec88fSEmmanuel Vadot #define _DT_BINDINGS_CLOCK_TEGRA20_CAR_H
19*c66ec88fSEmmanuel Vadot 
20*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_CPU 0
21*c66ec88fSEmmanuel Vadot /* 1 */
22*c66ec88fSEmmanuel Vadot /* 2 */
23*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_AC97 3
24*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_RTC 4
25*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_TIMER 5
26*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_UARTA 6
27*c66ec88fSEmmanuel Vadot /* 7 (register bit affects uart2 and vfir) */
28*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_GPIO 8
29*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_SDMMC2 9
30*c66ec88fSEmmanuel Vadot /* 10 (register bit affects spdif_in and spdif_out) */
31*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_I2S1 11
32*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_I2C1 12
33*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_NDFLASH 13
34*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_SDMMC1 14
35*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_SDMMC4 15
36*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_TWC 16
37*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PWM 17
38*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_I2S2 18
39*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_EPP 19
40*c66ec88fSEmmanuel Vadot /* 20 (register bit affects vi and vi_sensor) */
41*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_GR2D 21
42*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_USBD 22
43*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_ISP 23
44*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_GR3D 24
45*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_IDE 25
46*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_DISP2 26
47*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_DISP1 27
48*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_HOST1X 28
49*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_VCP 29
50*c66ec88fSEmmanuel Vadot /* 30 */
51*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_CACHE2 31
52*c66ec88fSEmmanuel Vadot 
53*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_MC 32
54*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_AHBDMA 33
55*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_APBDMA 34
56*c66ec88fSEmmanuel Vadot /* 35 */
57*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_KBC 36
58*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_STAT_MON 37
59*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PMC 38
60*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_FUSE 39
61*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_KFUSE 40
62*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_SBC1 41
63*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_NOR 42
64*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_SPI 43
65*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_SBC2 44
66*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_XIO 45
67*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_SBC3 46
68*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_DVC 47
69*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_DSI 48
70*c66ec88fSEmmanuel Vadot /* 49 (register bit affects tvo and cve) */
71*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_MIPI 50
72*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_HDMI 51
73*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_CSI 52
74*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_TVDAC 53
75*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_I2C2 54
76*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_UARTC 55
77*c66ec88fSEmmanuel Vadot /* 56 */
78*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_EMC 57
79*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_USB2 58
80*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_USB3 59
81*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_MPE 60
82*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_VDE 61
83*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_BSEA 62
84*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_BSEV 63
85*c66ec88fSEmmanuel Vadot 
86*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_SPEEDO 64
87*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_UARTD 65
88*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_UARTE 66
89*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_I2C3 67
90*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_SBC4 68
91*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_SDMMC3 69
92*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PEX 70
93*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_OWR 71
94*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_AFI 72
95*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_CSITE 73
96*c66ec88fSEmmanuel Vadot /* 74 */
97*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_AVPUCQ 75
98*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_LA 76
99*c66ec88fSEmmanuel Vadot /* 77 */
100*c66ec88fSEmmanuel Vadot /* 78 */
101*c66ec88fSEmmanuel Vadot /* 79 */
102*c66ec88fSEmmanuel Vadot /* 80 */
103*c66ec88fSEmmanuel Vadot /* 81 */
104*c66ec88fSEmmanuel Vadot /* 82 */
105*c66ec88fSEmmanuel Vadot /* 83 */
106*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_IRAMA 84
107*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_IRAMB 85
108*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_IRAMC 86
109*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_IRAMD 87
110*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_CRAM2 88
111*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_AUDIO_2X 89 /* a/k/a audio_2x_sync_clk */
112*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_CLK_D 90
113*c66ec88fSEmmanuel Vadot /* 91 */
114*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_CSUS 92
115*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_CDEV2 93
116*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_CDEV1 94
117*c66ec88fSEmmanuel Vadot /* 95 */
118*c66ec88fSEmmanuel Vadot 
119*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_UARTB 96
120*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_VFIR 97
121*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_SPDIF_IN 98
122*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_SPDIF_OUT 99
123*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_VI 100
124*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_VI_SENSOR 101
125*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_TVO 102
126*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_CVE 103
127*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_OSC 104
128*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_CLK_32K 105 /* a/k/a clk_s */
129*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_CLK_M 106
130*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_SCLK 107
131*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_CCLK 108
132*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_HCLK 109
133*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PCLK 110
134*c66ec88fSEmmanuel Vadot /* 111 */
135*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PLL_A 112
136*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PLL_A_OUT0 113
137*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PLL_C 114
138*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PLL_C_OUT1 115
139*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PLL_D 116
140*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PLL_D_OUT0 117
141*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PLL_E 118
142*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PLL_M 119
143*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PLL_M_OUT1 120
144*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PLL_P 121
145*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PLL_P_OUT1 122
146*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PLL_P_OUT2 123
147*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PLL_P_OUT3 124
148*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PLL_P_OUT4 125
149*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PLL_S 126
150*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PLL_U 127
151*c66ec88fSEmmanuel Vadot 
152*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PLL_X 128
153*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_COP 129 /* a/k/a avp */
154*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_AUDIO 130 /* a/k/a audio_sync_clk */
155*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_PLL_REF 131
156*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_TWD 132
157*c66ec88fSEmmanuel Vadot #define TEGRA20_CLK_CLK_MAX 133
158*c66ec88fSEmmanuel Vadot 
159*c66ec88fSEmmanuel Vadot #endif	/* _DT_BINDINGS_CLOCK_TEGRA20_CAR_H */
160