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