11.1Sjmcneill/*	$NetBSD: tegra30-car.h,v 1.1.1.4 2021/11/07 16:50:00 jmcneill Exp $	*/
21.1Sjmcneill
31.1.1.3Sjmcneill/* SPDX-License-Identifier: GPL-2.0 */
41.1Sjmcneill/*
51.1Sjmcneill * This header provides constants for binding nvidia,tegra30-car.
61.1Sjmcneill *
71.1Sjmcneill * The first 130 clocks are numbered to match the bits in the CAR's CLK_OUT_ENB
81.1Sjmcneill * registers. These IDs often match those in the CAR's RST_DEVICES registers,
91.1Sjmcneill * but not in all cases. Some bits in CLK_OUT_ENB affect multiple clocks. In
101.1Sjmcneill * this case, those clocks are assigned IDs above 160 in order to highlight
111.1Sjmcneill * this issue. Implementations that interpret these clock IDs as bit values
121.1Sjmcneill * within the CLK_OUT_ENB or RST_DEVICES registers should be careful to
131.1Sjmcneill * explicitly handle these special cases.
141.1Sjmcneill *
151.1Sjmcneill * The balance of the clocks controlled by the CAR are assigned IDs of 160 and
161.1Sjmcneill * above.
171.1Sjmcneill */
181.1Sjmcneill
191.1Sjmcneill#ifndef _DT_BINDINGS_CLOCK_TEGRA30_CAR_H
201.1Sjmcneill#define _DT_BINDINGS_CLOCK_TEGRA30_CAR_H
211.1Sjmcneill
221.1Sjmcneill#define TEGRA30_CLK_CPU 0
231.1Sjmcneill/* 1 */
241.1Sjmcneill/* 2 */
251.1Sjmcneill/* 3 */
261.1Sjmcneill#define TEGRA30_CLK_RTC 4
271.1Sjmcneill#define TEGRA30_CLK_TIMER 5
281.1Sjmcneill#define TEGRA30_CLK_UARTA 6
291.1Sjmcneill/* 7 (register bit affects uartb and vfir) */
301.1Sjmcneill#define TEGRA30_CLK_GPIO 8
311.1Sjmcneill#define TEGRA30_CLK_SDMMC2 9
321.1Sjmcneill/* 10 (register bit affects spdif_in and spdif_out) */
331.1Sjmcneill#define TEGRA30_CLK_I2S1 11
341.1Sjmcneill#define TEGRA30_CLK_I2C1 12
351.1Sjmcneill#define TEGRA30_CLK_NDFLASH 13
361.1Sjmcneill#define TEGRA30_CLK_SDMMC1 14
371.1Sjmcneill#define TEGRA30_CLK_SDMMC4 15
381.1Sjmcneill/* 16 */
391.1Sjmcneill#define TEGRA30_CLK_PWM 17
401.1Sjmcneill#define TEGRA30_CLK_I2S2 18
411.1Sjmcneill#define TEGRA30_CLK_EPP 19
421.1Sjmcneill/* 20 (register bit affects vi and vi_sensor) */
431.1Sjmcneill#define TEGRA30_CLK_GR2D 21
441.1Sjmcneill#define TEGRA30_CLK_USBD 22
451.1Sjmcneill#define TEGRA30_CLK_ISP 23
461.1Sjmcneill#define TEGRA30_CLK_GR3D 24
471.1Sjmcneill/* 25 */
481.1Sjmcneill#define TEGRA30_CLK_DISP2 26
491.1Sjmcneill#define TEGRA30_CLK_DISP1 27
501.1Sjmcneill#define TEGRA30_CLK_HOST1X 28
511.1Sjmcneill#define TEGRA30_CLK_VCP 29
521.1Sjmcneill#define TEGRA30_CLK_I2S0 30
531.1Sjmcneill#define TEGRA30_CLK_COP_CACHE 31
541.1Sjmcneill
551.1Sjmcneill#define TEGRA30_CLK_MC 32
561.1Sjmcneill#define TEGRA30_CLK_AHBDMA 33
571.1Sjmcneill#define TEGRA30_CLK_APBDMA 34
581.1Sjmcneill/* 35 */
591.1Sjmcneill#define TEGRA30_CLK_KBC 36
601.1Sjmcneill#define TEGRA30_CLK_STATMON 37
611.1Sjmcneill#define TEGRA30_CLK_PMC 38
621.1Sjmcneill/* 39 (register bit affects fuse and fuse_burn) */
631.1Sjmcneill#define TEGRA30_CLK_KFUSE 40
641.1Sjmcneill#define TEGRA30_CLK_SBC1 41
651.1Sjmcneill#define TEGRA30_CLK_NOR 42
661.1Sjmcneill/* 43 */
671.1Sjmcneill#define TEGRA30_CLK_SBC2 44
681.1Sjmcneill/* 45 */
691.1Sjmcneill#define TEGRA30_CLK_SBC3 46
701.1Sjmcneill#define TEGRA30_CLK_I2C5 47
711.1Sjmcneill#define TEGRA30_CLK_DSIA 48
721.1Sjmcneill/* 49 (register bit affects cve and tvo) */
731.1Sjmcneill#define TEGRA30_CLK_MIPI 50
741.1Sjmcneill#define TEGRA30_CLK_HDMI 51
751.1Sjmcneill#define TEGRA30_CLK_CSI 52
761.1Sjmcneill#define TEGRA30_CLK_TVDAC 53
771.1Sjmcneill#define TEGRA30_CLK_I2C2 54
781.1Sjmcneill#define TEGRA30_CLK_UARTC 55
791.1Sjmcneill/* 56 */
801.1Sjmcneill#define TEGRA30_CLK_EMC 57
811.1Sjmcneill#define TEGRA30_CLK_USB2 58
821.1Sjmcneill#define TEGRA30_CLK_USB3 59
831.1Sjmcneill#define TEGRA30_CLK_MPE 60
841.1Sjmcneill#define TEGRA30_CLK_VDE 61
851.1Sjmcneill#define TEGRA30_CLK_BSEA 62
861.1Sjmcneill#define TEGRA30_CLK_BSEV 63
871.1Sjmcneill
881.1Sjmcneill#define TEGRA30_CLK_SPEEDO 64
891.1Sjmcneill#define TEGRA30_CLK_UARTD 65
901.1Sjmcneill#define TEGRA30_CLK_UARTE 66
911.1Sjmcneill#define TEGRA30_CLK_I2C3 67
921.1Sjmcneill#define TEGRA30_CLK_SBC4 68
931.1Sjmcneill#define TEGRA30_CLK_SDMMC3 69
941.1Sjmcneill#define TEGRA30_CLK_PCIE 70
951.1Sjmcneill#define TEGRA30_CLK_OWR 71
961.1Sjmcneill#define TEGRA30_CLK_AFI 72
971.1Sjmcneill#define TEGRA30_CLK_CSITE 73
981.1Sjmcneill/* 74 */
991.1Sjmcneill#define TEGRA30_CLK_AVPUCQ 75
1001.1Sjmcneill#define TEGRA30_CLK_LA 76
1011.1Sjmcneill/* 77 */
1021.1Sjmcneill/* 78 */
1031.1Sjmcneill#define TEGRA30_CLK_DTV 79
1041.1Sjmcneill#define TEGRA30_CLK_NDSPEED 80
1051.1Sjmcneill#define TEGRA30_CLK_I2CSLOW 81
1061.1Sjmcneill#define TEGRA30_CLK_DSIB 82
1071.1Sjmcneill/* 83 */
1081.1Sjmcneill#define TEGRA30_CLK_IRAMA 84
1091.1Sjmcneill#define TEGRA30_CLK_IRAMB 85
1101.1Sjmcneill#define TEGRA30_CLK_IRAMC 86
1111.1Sjmcneill#define TEGRA30_CLK_IRAMD 87
1121.1Sjmcneill#define TEGRA30_CLK_CRAM2 88
1131.1Sjmcneill/* 89 */
1141.1Sjmcneill#define TEGRA30_CLK_AUDIO_2X 90 /* a/k/a audio_2x_sync_clk */
1151.1Sjmcneill/* 91 */
1161.1Sjmcneill#define TEGRA30_CLK_CSUS 92
1171.1Sjmcneill#define TEGRA30_CLK_CDEV2 93
1181.1Sjmcneill#define TEGRA30_CLK_CDEV1 94
1191.1Sjmcneill/* 95 */
1201.1Sjmcneill
1211.1Sjmcneill#define TEGRA30_CLK_CPU_G 96
1221.1Sjmcneill#define TEGRA30_CLK_CPU_LP 97
1231.1Sjmcneill#define TEGRA30_CLK_GR3D2 98
1241.1Sjmcneill#define TEGRA30_CLK_MSELECT 99
1251.1Sjmcneill#define TEGRA30_CLK_TSENSOR 100
1261.1Sjmcneill#define TEGRA30_CLK_I2S3 101
1271.1Sjmcneill#define TEGRA30_CLK_I2S4 102
1281.1Sjmcneill#define TEGRA30_CLK_I2C4 103
1291.1Sjmcneill#define TEGRA30_CLK_SBC5 104
1301.1Sjmcneill#define TEGRA30_CLK_SBC6 105
1311.1Sjmcneill#define TEGRA30_CLK_D_AUDIO 106
1321.1Sjmcneill#define TEGRA30_CLK_APBIF 107
1331.1Sjmcneill#define TEGRA30_CLK_DAM0 108
1341.1Sjmcneill#define TEGRA30_CLK_DAM1 109
1351.1Sjmcneill#define TEGRA30_CLK_DAM2 110
1361.1Sjmcneill#define TEGRA30_CLK_HDA2CODEC_2X 111
1371.1Sjmcneill#define TEGRA30_CLK_ATOMICS 112
1381.1Sjmcneill#define TEGRA30_CLK_AUDIO0_2X 113
1391.1Sjmcneill#define TEGRA30_CLK_AUDIO1_2X 114
1401.1Sjmcneill#define TEGRA30_CLK_AUDIO2_2X 115
1411.1Sjmcneill#define TEGRA30_CLK_AUDIO3_2X 116
1421.1Sjmcneill#define TEGRA30_CLK_AUDIO4_2X 117
1431.1Sjmcneill#define TEGRA30_CLK_SPDIF_2X 118
1441.1Sjmcneill#define TEGRA30_CLK_ACTMON 119
1451.1Sjmcneill#define TEGRA30_CLK_EXTERN1 120
1461.1Sjmcneill#define TEGRA30_CLK_EXTERN2 121
1471.1Sjmcneill#define TEGRA30_CLK_EXTERN3 122
1481.1Sjmcneill#define TEGRA30_CLK_SATA_OOB 123
1491.1Sjmcneill#define TEGRA30_CLK_SATA 124
1501.1Sjmcneill#define TEGRA30_CLK_HDA 125
1511.1Sjmcneill/* 126 */
1521.1Sjmcneill#define TEGRA30_CLK_SE 127
1531.1Sjmcneill
1541.1Sjmcneill#define TEGRA30_CLK_HDA2HDMI 128
1551.1Sjmcneill#define TEGRA30_CLK_SATA_COLD 129
1561.1Sjmcneill/* 130 */
1571.1Sjmcneill/* 131 */
1581.1Sjmcneill/* 132 */
1591.1Sjmcneill/* 133 */
1601.1Sjmcneill/* 134 */
1611.1Sjmcneill/* 135 */
1621.1.1.2Sjmcneill#define TEGRA30_CLK_CEC 136
1631.1Sjmcneill/* 137 */
1641.1Sjmcneill/* 138 */
1651.1Sjmcneill/* 139 */
1661.1Sjmcneill/* 140 */
1671.1Sjmcneill/* 141 */
1681.1Sjmcneill/* 142 */
1691.1Sjmcneill/* 143 */
1701.1Sjmcneill/* 144 */
1711.1Sjmcneill/* 145 */
1721.1Sjmcneill/* 146 */
1731.1Sjmcneill/* 147 */
1741.1Sjmcneill/* 148 */
1751.1Sjmcneill/* 149 */
1761.1Sjmcneill/* 150 */
1771.1Sjmcneill/* 151 */
1781.1Sjmcneill/* 152 */
1791.1Sjmcneill/* 153 */
1801.1Sjmcneill/* 154 */
1811.1Sjmcneill/* 155 */
1821.1Sjmcneill/* 156 */
1831.1Sjmcneill/* 157 */
1841.1Sjmcneill/* 158 */
1851.1Sjmcneill/* 159 */
1861.1Sjmcneill
1871.1Sjmcneill#define TEGRA30_CLK_UARTB 160
1881.1Sjmcneill#define TEGRA30_CLK_VFIR 161
1891.1Sjmcneill#define TEGRA30_CLK_SPDIF_IN 162
1901.1Sjmcneill#define TEGRA30_CLK_SPDIF_OUT 163
1911.1Sjmcneill#define TEGRA30_CLK_VI 164
1921.1Sjmcneill#define TEGRA30_CLK_VI_SENSOR 165
1931.1Sjmcneill#define TEGRA30_CLK_FUSE 166
1941.1Sjmcneill#define TEGRA30_CLK_FUSE_BURN 167
1951.1Sjmcneill#define TEGRA30_CLK_CVE 168
1961.1Sjmcneill#define TEGRA30_CLK_TVO 169
1971.1Sjmcneill#define TEGRA30_CLK_CLK_32K 170
1981.1Sjmcneill#define TEGRA30_CLK_CLK_M 171
1991.1Sjmcneill#define TEGRA30_CLK_CLK_M_DIV2 172
2001.1Sjmcneill#define TEGRA30_CLK_CLK_M_DIV4 173
2011.1.1.4Sjmcneill#define TEGRA30_CLK_OSC_DIV2 172
2021.1.1.4Sjmcneill#define TEGRA30_CLK_OSC_DIV4 173
2031.1Sjmcneill#define TEGRA30_CLK_PLL_REF 174
2041.1Sjmcneill#define TEGRA30_CLK_PLL_C 175
2051.1Sjmcneill#define TEGRA30_CLK_PLL_C_OUT1 176
2061.1Sjmcneill#define TEGRA30_CLK_PLL_M 177
2071.1Sjmcneill#define TEGRA30_CLK_PLL_M_OUT1 178
2081.1Sjmcneill#define TEGRA30_CLK_PLL_P 179
2091.1Sjmcneill#define TEGRA30_CLK_PLL_P_OUT1 180
2101.1Sjmcneill#define TEGRA30_CLK_PLL_P_OUT2 181
2111.1Sjmcneill#define TEGRA30_CLK_PLL_P_OUT3 182
2121.1Sjmcneill#define TEGRA30_CLK_PLL_P_OUT4 183
2131.1Sjmcneill#define TEGRA30_CLK_PLL_A 184
2141.1Sjmcneill#define TEGRA30_CLK_PLL_A_OUT0 185
2151.1Sjmcneill#define TEGRA30_CLK_PLL_D 186
2161.1Sjmcneill#define TEGRA30_CLK_PLL_D_OUT0 187
2171.1Sjmcneill#define TEGRA30_CLK_PLL_D2 188
2181.1Sjmcneill#define TEGRA30_CLK_PLL_D2_OUT0 189
2191.1Sjmcneill#define TEGRA30_CLK_PLL_U 190
2201.1Sjmcneill#define TEGRA30_CLK_PLL_X 191
2211.1Sjmcneill
2221.1Sjmcneill#define TEGRA30_CLK_PLL_X_OUT0 192
2231.1Sjmcneill#define TEGRA30_CLK_PLL_E 193
2241.1Sjmcneill#define TEGRA30_CLK_SPDIF_IN_SYNC 194
2251.1Sjmcneill#define TEGRA30_CLK_I2S0_SYNC 195
2261.1Sjmcneill#define TEGRA30_CLK_I2S1_SYNC 196
2271.1Sjmcneill#define TEGRA30_CLK_I2S2_SYNC 197
2281.1Sjmcneill#define TEGRA30_CLK_I2S3_SYNC 198
2291.1Sjmcneill#define TEGRA30_CLK_I2S4_SYNC 199
2301.1Sjmcneill#define TEGRA30_CLK_VIMCLK_SYNC 200
2311.1Sjmcneill#define TEGRA30_CLK_AUDIO0 201
2321.1Sjmcneill#define TEGRA30_CLK_AUDIO1 202
2331.1Sjmcneill#define TEGRA30_CLK_AUDIO2 203
2341.1Sjmcneill#define TEGRA30_CLK_AUDIO3 204
2351.1Sjmcneill#define TEGRA30_CLK_AUDIO4 205
2361.1Sjmcneill#define TEGRA30_CLK_SPDIF 206
2371.1.1.4Sjmcneill/* 207 */
2381.1.1.4Sjmcneill/* 208 */
2391.1.1.4Sjmcneill/* 209 */
2401.1Sjmcneill#define TEGRA30_CLK_SCLK 210
2411.1.1.4Sjmcneill/* 211 */
2421.1Sjmcneill#define TEGRA30_CLK_CCLK_G 212
2431.1Sjmcneill#define TEGRA30_CLK_CCLK_LP 213
2441.1Sjmcneill#define TEGRA30_CLK_TWD 214
2451.1Sjmcneill#define TEGRA30_CLK_CML0 215
2461.1Sjmcneill#define TEGRA30_CLK_CML1 216
2471.1Sjmcneill#define TEGRA30_CLK_HCLK 217
2481.1Sjmcneill#define TEGRA30_CLK_PCLK 218
2491.1Sjmcneill/* 219 */
2501.1.1.4Sjmcneill#define TEGRA30_CLK_OSC 220
2511.1Sjmcneill/* 221 */
2521.1Sjmcneill/* 222 */
2531.1Sjmcneill/* 223 */
2541.1Sjmcneill
2551.1Sjmcneill/* 288 */
2561.1Sjmcneill/* 289 */
2571.1Sjmcneill/* 290 */
2581.1Sjmcneill/* 291 */
2591.1Sjmcneill/* 292 */
2601.1Sjmcneill/* 293 */
2611.1Sjmcneill/* 294 */
2621.1Sjmcneill/* 295 */
2631.1Sjmcneill/* 296 */
2641.1Sjmcneill/* 297 */
2651.1Sjmcneill/* 298 */
2661.1Sjmcneill/* 299 */
2671.1.1.4Sjmcneill/* 300 */
2681.1.1.4Sjmcneill/* 301 */
2691.1.1.4Sjmcneill/* 302 */
2701.1Sjmcneill#define TEGRA30_CLK_AUDIO0_MUX 303
2711.1Sjmcneill#define TEGRA30_CLK_AUDIO1_MUX 304
2721.1Sjmcneill#define TEGRA30_CLK_AUDIO2_MUX 305
2731.1Sjmcneill#define TEGRA30_CLK_AUDIO3_MUX 306
2741.1Sjmcneill#define TEGRA30_CLK_AUDIO4_MUX 307
2751.1Sjmcneill#define TEGRA30_CLK_SPDIF_MUX 308
2761.1Sjmcneill#define TEGRA30_CLK_CLK_MAX 309
2771.1Sjmcneill
2781.1Sjmcneill#endif	/* _DT_BINDINGS_CLOCK_TEGRA30_CAR_H */
279