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