1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
29513109dSHiroshi Doyu /*
39513109dSHiroshi Doyu  * This header provides constants for binding nvidia,tegra30-car.
49513109dSHiroshi Doyu  *
59513109dSHiroshi Doyu  * The first 130 clocks are numbered to match the bits in the CAR's CLK_OUT_ENB
69513109dSHiroshi Doyu  * registers. These IDs often match those in the CAR's RST_DEVICES registers,
79513109dSHiroshi Doyu  * but not in all cases. Some bits in CLK_OUT_ENB affect multiple clocks. In
89513109dSHiroshi Doyu  * this case, those clocks are assigned IDs above 160 in order to highlight
99513109dSHiroshi Doyu  * this issue. Implementations that interpret these clock IDs as bit values
109513109dSHiroshi Doyu  * within the CLK_OUT_ENB or RST_DEVICES registers should be careful to
119513109dSHiroshi Doyu  * explicitly handle these special cases.
129513109dSHiroshi Doyu  *
139513109dSHiroshi Doyu  * The balance of the clocks controlled by the CAR are assigned IDs of 160 and
149513109dSHiroshi Doyu  * above.
159513109dSHiroshi Doyu  */
169513109dSHiroshi Doyu 
179513109dSHiroshi Doyu #ifndef _DT_BINDINGS_CLOCK_TEGRA30_CAR_H
189513109dSHiroshi Doyu #define _DT_BINDINGS_CLOCK_TEGRA30_CAR_H
199513109dSHiroshi Doyu 
209513109dSHiroshi Doyu #define TEGRA30_CLK_CPU 0
219513109dSHiroshi Doyu /* 1 */
229513109dSHiroshi Doyu /* 2 */
239513109dSHiroshi Doyu /* 3 */
249513109dSHiroshi Doyu #define TEGRA30_CLK_RTC 4
259513109dSHiroshi Doyu #define TEGRA30_CLK_TIMER 5
269513109dSHiroshi Doyu #define TEGRA30_CLK_UARTA 6
279513109dSHiroshi Doyu /* 7 (register bit affects uartb and vfir) */
289513109dSHiroshi Doyu #define TEGRA30_CLK_GPIO 8
299513109dSHiroshi Doyu #define TEGRA30_CLK_SDMMC2 9
309513109dSHiroshi Doyu /* 10 (register bit affects spdif_in and spdif_out) */
319513109dSHiroshi Doyu #define TEGRA30_CLK_I2S1 11
329513109dSHiroshi Doyu #define TEGRA30_CLK_I2C1 12
339513109dSHiroshi Doyu #define TEGRA30_CLK_NDFLASH 13
349513109dSHiroshi Doyu #define TEGRA30_CLK_SDMMC1 14
359513109dSHiroshi Doyu #define TEGRA30_CLK_SDMMC4 15
369513109dSHiroshi Doyu /* 16 */
379513109dSHiroshi Doyu #define TEGRA30_CLK_PWM 17
389513109dSHiroshi Doyu #define TEGRA30_CLK_I2S2 18
399513109dSHiroshi Doyu #define TEGRA30_CLK_EPP 19
409513109dSHiroshi Doyu /* 20 (register bit affects vi and vi_sensor) */
419513109dSHiroshi Doyu #define TEGRA30_CLK_GR2D 21
429513109dSHiroshi Doyu #define TEGRA30_CLK_USBD 22
439513109dSHiroshi Doyu #define TEGRA30_CLK_ISP 23
449513109dSHiroshi Doyu #define TEGRA30_CLK_GR3D 24
459513109dSHiroshi Doyu /* 25 */
469513109dSHiroshi Doyu #define TEGRA30_CLK_DISP2 26
479513109dSHiroshi Doyu #define TEGRA30_CLK_DISP1 27
489513109dSHiroshi Doyu #define TEGRA30_CLK_HOST1X 28
499513109dSHiroshi Doyu #define TEGRA30_CLK_VCP 29
509513109dSHiroshi Doyu #define TEGRA30_CLK_I2S0 30
519513109dSHiroshi Doyu #define TEGRA30_CLK_COP_CACHE 31
529513109dSHiroshi Doyu 
539513109dSHiroshi Doyu #define TEGRA30_CLK_MC 32
549513109dSHiroshi Doyu #define TEGRA30_CLK_AHBDMA 33
559513109dSHiroshi Doyu #define TEGRA30_CLK_APBDMA 34
569513109dSHiroshi Doyu /* 35 */
579513109dSHiroshi Doyu #define TEGRA30_CLK_KBC 36
589513109dSHiroshi Doyu #define TEGRA30_CLK_STATMON 37
599513109dSHiroshi Doyu #define TEGRA30_CLK_PMC 38
609513109dSHiroshi Doyu /* 39 (register bit affects fuse and fuse_burn) */
619513109dSHiroshi Doyu #define TEGRA30_CLK_KFUSE 40
629513109dSHiroshi Doyu #define TEGRA30_CLK_SBC1 41
639513109dSHiroshi Doyu #define TEGRA30_CLK_NOR 42
649513109dSHiroshi Doyu /* 43 */
659513109dSHiroshi Doyu #define TEGRA30_CLK_SBC2 44
669513109dSHiroshi Doyu /* 45 */
679513109dSHiroshi Doyu #define TEGRA30_CLK_SBC3 46
689513109dSHiroshi Doyu #define TEGRA30_CLK_I2C5 47
699513109dSHiroshi Doyu #define TEGRA30_CLK_DSIA 48
709513109dSHiroshi Doyu /* 49 (register bit affects cve and tvo) */
719513109dSHiroshi Doyu #define TEGRA30_CLK_MIPI 50
729513109dSHiroshi Doyu #define TEGRA30_CLK_HDMI 51
739513109dSHiroshi Doyu #define TEGRA30_CLK_CSI 52
749513109dSHiroshi Doyu #define TEGRA30_CLK_TVDAC 53
759513109dSHiroshi Doyu #define TEGRA30_CLK_I2C2 54
769513109dSHiroshi Doyu #define TEGRA30_CLK_UARTC 55
779513109dSHiroshi Doyu /* 56 */
789513109dSHiroshi Doyu #define TEGRA30_CLK_EMC 57
799513109dSHiroshi Doyu #define TEGRA30_CLK_USB2 58
809513109dSHiroshi Doyu #define TEGRA30_CLK_USB3 59
819513109dSHiroshi Doyu #define TEGRA30_CLK_MPE 60
829513109dSHiroshi Doyu #define TEGRA30_CLK_VDE 61
839513109dSHiroshi Doyu #define TEGRA30_CLK_BSEA 62
849513109dSHiroshi Doyu #define TEGRA30_CLK_BSEV 63
859513109dSHiroshi Doyu 
869513109dSHiroshi Doyu #define TEGRA30_CLK_SPEEDO 64
879513109dSHiroshi Doyu #define TEGRA30_CLK_UARTD 65
889513109dSHiroshi Doyu #define TEGRA30_CLK_UARTE 66
899513109dSHiroshi Doyu #define TEGRA30_CLK_I2C3 67
909513109dSHiroshi Doyu #define TEGRA30_CLK_SBC4 68
919513109dSHiroshi Doyu #define TEGRA30_CLK_SDMMC3 69
929513109dSHiroshi Doyu #define TEGRA30_CLK_PCIE 70
939513109dSHiroshi Doyu #define TEGRA30_CLK_OWR 71
949513109dSHiroshi Doyu #define TEGRA30_CLK_AFI 72
959513109dSHiroshi Doyu #define TEGRA30_CLK_CSITE 73
96a85f06baSStephen Warren /* 74 */
979513109dSHiroshi Doyu #define TEGRA30_CLK_AVPUCQ 75
989513109dSHiroshi Doyu #define TEGRA30_CLK_LA 76
999513109dSHiroshi Doyu /* 77 */
1009513109dSHiroshi Doyu /* 78 */
1019513109dSHiroshi Doyu #define TEGRA30_CLK_DTV 79
1029513109dSHiroshi Doyu #define TEGRA30_CLK_NDSPEED 80
1039513109dSHiroshi Doyu #define TEGRA30_CLK_I2CSLOW 81
1049513109dSHiroshi Doyu #define TEGRA30_CLK_DSIB 82
1059513109dSHiroshi Doyu /* 83 */
1069513109dSHiroshi Doyu #define TEGRA30_CLK_IRAMA 84
1079513109dSHiroshi Doyu #define TEGRA30_CLK_IRAMB 85
1089513109dSHiroshi Doyu #define TEGRA30_CLK_IRAMC 86
1099513109dSHiroshi Doyu #define TEGRA30_CLK_IRAMD 87
1109513109dSHiroshi Doyu #define TEGRA30_CLK_CRAM2 88
1119513109dSHiroshi Doyu /* 89 */
1129513109dSHiroshi Doyu #define TEGRA30_CLK_AUDIO_2X 90 /* a/k/a audio_2x_sync_clk */
1139513109dSHiroshi Doyu /* 91 */
1149513109dSHiroshi Doyu #define TEGRA30_CLK_CSUS 92
1159513109dSHiroshi Doyu #define TEGRA30_CLK_CDEV2 93
1169513109dSHiroshi Doyu #define TEGRA30_CLK_CDEV1 94
1179513109dSHiroshi Doyu /* 95 */
1189513109dSHiroshi Doyu 
1199513109dSHiroshi Doyu #define TEGRA30_CLK_CPU_G 96
1209513109dSHiroshi Doyu #define TEGRA30_CLK_CPU_LP 97
1219513109dSHiroshi Doyu #define TEGRA30_CLK_GR3D2 98
1229513109dSHiroshi Doyu #define TEGRA30_CLK_MSELECT 99
1239513109dSHiroshi Doyu #define TEGRA30_CLK_TSENSOR 100
1249513109dSHiroshi Doyu #define TEGRA30_CLK_I2S3 101
1259513109dSHiroshi Doyu #define TEGRA30_CLK_I2S4 102
1269513109dSHiroshi Doyu #define TEGRA30_CLK_I2C4 103
1279513109dSHiroshi Doyu #define TEGRA30_CLK_SBC5 104
1289513109dSHiroshi Doyu #define TEGRA30_CLK_SBC6 105
1299513109dSHiroshi Doyu #define TEGRA30_CLK_D_AUDIO 106
1309513109dSHiroshi Doyu #define TEGRA30_CLK_APBIF 107
1319513109dSHiroshi Doyu #define TEGRA30_CLK_DAM0 108
1329513109dSHiroshi Doyu #define TEGRA30_CLK_DAM1 109
1339513109dSHiroshi Doyu #define TEGRA30_CLK_DAM2 110
1349513109dSHiroshi Doyu #define TEGRA30_CLK_HDA2CODEC_2X 111
1359513109dSHiroshi Doyu #define TEGRA30_CLK_ATOMICS 112
1369513109dSHiroshi Doyu #define TEGRA30_CLK_AUDIO0_2X 113
1379513109dSHiroshi Doyu #define TEGRA30_CLK_AUDIO1_2X 114
1389513109dSHiroshi Doyu #define TEGRA30_CLK_AUDIO2_2X 115
1399513109dSHiroshi Doyu #define TEGRA30_CLK_AUDIO3_2X 116
1409513109dSHiroshi Doyu #define TEGRA30_CLK_AUDIO4_2X 117
1419513109dSHiroshi Doyu #define TEGRA30_CLK_SPDIF_2X 118
1429513109dSHiroshi Doyu #define TEGRA30_CLK_ACTMON 119
1439513109dSHiroshi Doyu #define TEGRA30_CLK_EXTERN1 120
1449513109dSHiroshi Doyu #define TEGRA30_CLK_EXTERN2 121
1459513109dSHiroshi Doyu #define TEGRA30_CLK_EXTERN3 122
1469513109dSHiroshi Doyu #define TEGRA30_CLK_SATA_OOB 123
1479513109dSHiroshi Doyu #define TEGRA30_CLK_SATA 124
1489513109dSHiroshi Doyu #define TEGRA30_CLK_HDA 125
1499513109dSHiroshi Doyu /* 126 */
1509513109dSHiroshi Doyu #define TEGRA30_CLK_SE 127
1519513109dSHiroshi Doyu 
1529513109dSHiroshi Doyu #define TEGRA30_CLK_HDA2HDMI 128
1539513109dSHiroshi Doyu #define TEGRA30_CLK_SATA_COLD 129
1549513109dSHiroshi Doyu /* 130 */
1559513109dSHiroshi Doyu /* 131 */
1569513109dSHiroshi Doyu /* 132 */
1579513109dSHiroshi Doyu /* 133 */
1589513109dSHiroshi Doyu /* 134 */
1599513109dSHiroshi Doyu /* 135 */
160bfa34832SPeter De Schrijver #define TEGRA30_CLK_CEC 136
1619513109dSHiroshi Doyu /* 137 */
1629513109dSHiroshi Doyu /* 138 */
1639513109dSHiroshi Doyu /* 139 */
1649513109dSHiroshi Doyu /* 140 */
1659513109dSHiroshi Doyu /* 141 */
1669513109dSHiroshi Doyu /* 142 */
1679513109dSHiroshi Doyu /* 143 */
1689513109dSHiroshi Doyu /* 144 */
1699513109dSHiroshi Doyu /* 145 */
1709513109dSHiroshi Doyu /* 146 */
1719513109dSHiroshi Doyu /* 147 */
1729513109dSHiroshi Doyu /* 148 */
1739513109dSHiroshi Doyu /* 149 */
1749513109dSHiroshi Doyu /* 150 */
1759513109dSHiroshi Doyu /* 151 */
1769513109dSHiroshi Doyu /* 152 */
1779513109dSHiroshi Doyu /* 153 */
1789513109dSHiroshi Doyu /* 154 */
1799513109dSHiroshi Doyu /* 155 */
1809513109dSHiroshi Doyu /* 156 */
1819513109dSHiroshi Doyu /* 157 */
1829513109dSHiroshi Doyu /* 158 */
1839513109dSHiroshi Doyu /* 159 */
1849513109dSHiroshi Doyu 
1859513109dSHiroshi Doyu #define TEGRA30_CLK_UARTB 160
1869513109dSHiroshi Doyu #define TEGRA30_CLK_VFIR 161
1879513109dSHiroshi Doyu #define TEGRA30_CLK_SPDIF_IN 162
1889513109dSHiroshi Doyu #define TEGRA30_CLK_SPDIF_OUT 163
1899513109dSHiroshi Doyu #define TEGRA30_CLK_VI 164
1909513109dSHiroshi Doyu #define TEGRA30_CLK_VI_SENSOR 165
1919513109dSHiroshi Doyu #define TEGRA30_CLK_FUSE 166
1929513109dSHiroshi Doyu #define TEGRA30_CLK_FUSE_BURN 167
1939513109dSHiroshi Doyu #define TEGRA30_CLK_CVE 168
1949513109dSHiroshi Doyu #define TEGRA30_CLK_TVO 169
1959513109dSHiroshi Doyu #define TEGRA30_CLK_CLK_32K 170
1969513109dSHiroshi Doyu #define TEGRA30_CLK_CLK_M 171
1979513109dSHiroshi Doyu #define TEGRA30_CLK_CLK_M_DIV2 172
1989513109dSHiroshi Doyu #define TEGRA30_CLK_CLK_M_DIV4 173
199e5377ab2SSowjanya Komatineni #define TEGRA30_CLK_OSC_DIV2 172
200e5377ab2SSowjanya Komatineni #define TEGRA30_CLK_OSC_DIV4 173
2019513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_REF 174
2029513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_C 175
2039513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_C_OUT1 176
2049513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_M 177
2059513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_M_OUT1 178
2069513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_P 179
2079513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_P_OUT1 180
2089513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_P_OUT2 181
2099513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_P_OUT3 182
2109513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_P_OUT4 183
2119513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_A 184
2129513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_A_OUT0 185
2139513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_D 186
2149513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_D_OUT0 187
2159513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_D2 188
2169513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_D2_OUT0 189
2179513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_U 190
2189513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_X 191
2199513109dSHiroshi Doyu 
2209513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_X_OUT0 192
2219513109dSHiroshi Doyu #define TEGRA30_CLK_PLL_E 193
2229513109dSHiroshi Doyu #define TEGRA30_CLK_SPDIF_IN_SYNC 194
2239513109dSHiroshi Doyu #define TEGRA30_CLK_I2S0_SYNC 195
2249513109dSHiroshi Doyu #define TEGRA30_CLK_I2S1_SYNC 196
2259513109dSHiroshi Doyu #define TEGRA30_CLK_I2S2_SYNC 197
2269513109dSHiroshi Doyu #define TEGRA30_CLK_I2S3_SYNC 198
2279513109dSHiroshi Doyu #define TEGRA30_CLK_I2S4_SYNC 199
2289513109dSHiroshi Doyu #define TEGRA30_CLK_VIMCLK_SYNC 200
2299513109dSHiroshi Doyu #define TEGRA30_CLK_AUDIO0 201
2309513109dSHiroshi Doyu #define TEGRA30_CLK_AUDIO1 202
2319513109dSHiroshi Doyu #define TEGRA30_CLK_AUDIO2 203
2329513109dSHiroshi Doyu #define TEGRA30_CLK_AUDIO3 204
2339513109dSHiroshi Doyu #define TEGRA30_CLK_AUDIO4 205
2349513109dSHiroshi Doyu #define TEGRA30_CLK_SPDIF 206
235c9585405SSowjanya Komatineni /* 207 */
236c9585405SSowjanya Komatineni /* 208 */
237c9585405SSowjanya Komatineni /* 209 */
2389513109dSHiroshi Doyu #define TEGRA30_CLK_SCLK 210
239c9585405SSowjanya Komatineni /* 211 */
2409513109dSHiroshi Doyu #define TEGRA30_CLK_CCLK_G 212
2419513109dSHiroshi Doyu #define TEGRA30_CLK_CCLK_LP 213
2429513109dSHiroshi Doyu #define TEGRA30_CLK_TWD 214
2439513109dSHiroshi Doyu #define TEGRA30_CLK_CML0 215
2449513109dSHiroshi Doyu #define TEGRA30_CLK_CML1 216
2459513109dSHiroshi Doyu #define TEGRA30_CLK_HCLK 217
2469513109dSHiroshi Doyu #define TEGRA30_CLK_PCLK 218
2479513109dSHiroshi Doyu /* 219 */
248e5377ab2SSowjanya Komatineni #define TEGRA30_CLK_OSC 220
2499513109dSHiroshi Doyu /* 221 */
2509513109dSHiroshi Doyu /* 222 */
2519513109dSHiroshi Doyu /* 223 */
2529513109dSHiroshi Doyu 
2539513109dSHiroshi Doyu /* 288 */
2549513109dSHiroshi Doyu /* 289 */
2559513109dSHiroshi Doyu /* 290 */
2569513109dSHiroshi Doyu /* 291 */
2579513109dSHiroshi Doyu /* 292 */
2589513109dSHiroshi Doyu /* 293 */
2599513109dSHiroshi Doyu /* 294 */
2609513109dSHiroshi Doyu /* 295 */
2619513109dSHiroshi Doyu /* 296 */
2629513109dSHiroshi Doyu /* 297 */
2639513109dSHiroshi Doyu /* 298 */
2649513109dSHiroshi Doyu /* 299 */
265c9585405SSowjanya Komatineni /* 300 */
266c9585405SSowjanya Komatineni /* 301 */
267c9585405SSowjanya Komatineni /* 302 */
268480fe6f4SPeter De Schrijver #define TEGRA30_CLK_AUDIO0_MUX 303
269480fe6f4SPeter De Schrijver #define TEGRA30_CLK_AUDIO1_MUX 304
270480fe6f4SPeter De Schrijver #define TEGRA30_CLK_AUDIO2_MUX 305
271480fe6f4SPeter De Schrijver #define TEGRA30_CLK_AUDIO3_MUX 306
272480fe6f4SPeter De Schrijver #define TEGRA30_CLK_AUDIO4_MUX 307
273480fe6f4SPeter De Schrijver #define TEGRA30_CLK_SPDIF_MUX 308
274480fe6f4SPeter De Schrijver #define TEGRA30_CLK_CLK_MAX 309
2759513109dSHiroshi Doyu 
2769513109dSHiroshi Doyu #endif	/* _DT_BINDINGS_CLOCK_TEGRA30_CAR_H */
277