1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * (C) Copyright 2010,2011 4 * NVIDIA Corporation <www.nvidia.com> 5 */ 6 7 #ifndef _TEGRA20_PINMUX_H_ 8 #define _TEGRA20_PINMUX_H_ 9 10 /* 11 * Pin groups which we adjust. There are three basic attributes of each pin 12 * group which use this enum: 13 * 14 * - function 15 * - pullup / pulldown 16 * - tristate or normal 17 */ 18 enum pmux_pingrp { 19 /* APB_MISC_PP_TRISTATE_REG_A_0 */ 20 PMUX_PINGRP_ATA, 21 PMUX_PINGRP_ATB, 22 PMUX_PINGRP_ATC, 23 PMUX_PINGRP_ATD, 24 PMUX_PINGRP_CDEV1, 25 PMUX_PINGRP_CDEV2, 26 PMUX_PINGRP_CSUS, 27 PMUX_PINGRP_DAP1, 28 29 PMUX_PINGRP_DAP2, 30 PMUX_PINGRP_DAP3, 31 PMUX_PINGRP_DAP4, 32 PMUX_PINGRP_DTA, 33 PMUX_PINGRP_DTB, 34 PMUX_PINGRP_DTC, 35 PMUX_PINGRP_DTD, 36 PMUX_PINGRP_DTE, 37 38 PMUX_PINGRP_GPU, 39 PMUX_PINGRP_GPV, 40 PMUX_PINGRP_I2CP, 41 PMUX_PINGRP_IRTX, 42 PMUX_PINGRP_IRRX, 43 PMUX_PINGRP_KBCB, 44 PMUX_PINGRP_KBCA, 45 PMUX_PINGRP_PMC, 46 47 PMUX_PINGRP_PTA, 48 PMUX_PINGRP_RM, 49 PMUX_PINGRP_KBCE, 50 PMUX_PINGRP_KBCF, 51 PMUX_PINGRP_GMA, 52 PMUX_PINGRP_GMC, 53 PMUX_PINGRP_SDIO1, 54 PMUX_PINGRP_OWC, 55 56 /* 32: APB_MISC_PP_TRISTATE_REG_B_0 */ 57 PMUX_PINGRP_GME, 58 PMUX_PINGRP_SDC, 59 PMUX_PINGRP_SDD, 60 PMUX_PINGRP_RESERVED0, 61 PMUX_PINGRP_SLXA, 62 PMUX_PINGRP_SLXC, 63 PMUX_PINGRP_SLXD, 64 PMUX_PINGRP_SLXK, 65 66 PMUX_PINGRP_SPDI, 67 PMUX_PINGRP_SPDO, 68 PMUX_PINGRP_SPIA, 69 PMUX_PINGRP_SPIB, 70 PMUX_PINGRP_SPIC, 71 PMUX_PINGRP_SPID, 72 PMUX_PINGRP_SPIE, 73 PMUX_PINGRP_SPIF, 74 75 PMUX_PINGRP_SPIG, 76 PMUX_PINGRP_SPIH, 77 PMUX_PINGRP_UAA, 78 PMUX_PINGRP_UAB, 79 PMUX_PINGRP_UAC, 80 PMUX_PINGRP_UAD, 81 PMUX_PINGRP_UCA, 82 PMUX_PINGRP_UCB, 83 84 PMUX_PINGRP_RESERVED1, 85 PMUX_PINGRP_ATE, 86 PMUX_PINGRP_KBCC, 87 PMUX_PINGRP_RESERVED2, 88 PMUX_PINGRP_RESERVED3, 89 PMUX_PINGRP_GMB, 90 PMUX_PINGRP_GMD, 91 PMUX_PINGRP_DDC, 92 93 /* 64: APB_MISC_PP_TRISTATE_REG_C_0 */ 94 PMUX_PINGRP_LD0, 95 PMUX_PINGRP_LD1, 96 PMUX_PINGRP_LD2, 97 PMUX_PINGRP_LD3, 98 PMUX_PINGRP_LD4, 99 PMUX_PINGRP_LD5, 100 PMUX_PINGRP_LD6, 101 PMUX_PINGRP_LD7, 102 103 PMUX_PINGRP_LD8, 104 PMUX_PINGRP_LD9, 105 PMUX_PINGRP_LD10, 106 PMUX_PINGRP_LD11, 107 PMUX_PINGRP_LD12, 108 PMUX_PINGRP_LD13, 109 PMUX_PINGRP_LD14, 110 PMUX_PINGRP_LD15, 111 112 PMUX_PINGRP_LD16, 113 PMUX_PINGRP_LD17, 114 PMUX_PINGRP_LHP0, 115 PMUX_PINGRP_LHP1, 116 PMUX_PINGRP_LHP2, 117 PMUX_PINGRP_LVP0, 118 PMUX_PINGRP_LVP1, 119 PMUX_PINGRP_HDINT, 120 121 PMUX_PINGRP_LM0, 122 PMUX_PINGRP_LM1, 123 PMUX_PINGRP_LVS, 124 PMUX_PINGRP_LSC0, 125 PMUX_PINGRP_LSC1, 126 PMUX_PINGRP_LSCK, 127 PMUX_PINGRP_LDC, 128 PMUX_PINGRP_LCSN, 129 130 /* 96: APB_MISC_PP_TRISTATE_REG_D_0 */ 131 PMUX_PINGRP_LSPI, 132 PMUX_PINGRP_LSDA, 133 PMUX_PINGRP_LSDI, 134 PMUX_PINGRP_LPW0, 135 PMUX_PINGRP_LPW1, 136 PMUX_PINGRP_LPW2, 137 PMUX_PINGRP_LDI, 138 PMUX_PINGRP_LHS, 139 140 PMUX_PINGRP_LPP, 141 PMUX_PINGRP_RESERVED4, 142 PMUX_PINGRP_KBCD, 143 PMUX_PINGRP_GPU7, 144 PMUX_PINGRP_DTF, 145 PMUX_PINGRP_UDA, 146 PMUX_PINGRP_CRTP, 147 PMUX_PINGRP_SDB, 148 149 /* these pin groups only have pullup and pull down control */ 150 PMUX_PINGRP_CK32, 151 PMUX_PINGRP_DDRC, 152 PMUX_PINGRP_PMCA, 153 PMUX_PINGRP_PMCB, 154 PMUX_PINGRP_PMCC, 155 PMUX_PINGRP_PMCD, 156 PMUX_PINGRP_PMCE, 157 PMUX_PINGRP_XM2C, 158 PMUX_PINGRP_XM2D, 159 PMUX_PINGRP_COUNT, 160 }; 161 162 /* 163 * Functions which can be assigned to each of the pin groups. The values here 164 * bear no relation to the values programmed into pinmux registers and are 165 * purely a convenience. The translation is done through a table search. 166 */ 167 enum pmux_func { 168 PMUX_FUNC_DEFAULT, 169 PMUX_FUNC_AHB_CLK, 170 PMUX_FUNC_APB_CLK, 171 PMUX_FUNC_AUDIO_SYNC, 172 PMUX_FUNC_CRT, 173 PMUX_FUNC_DAP1, 174 PMUX_FUNC_DAP2, 175 PMUX_FUNC_DAP3, 176 PMUX_FUNC_DAP4, 177 PMUX_FUNC_DAP5, 178 PMUX_FUNC_DISPA, 179 PMUX_FUNC_DISPB, 180 PMUX_FUNC_EMC_TEST0_DLL, 181 PMUX_FUNC_EMC_TEST1_DLL, 182 PMUX_FUNC_GMI, 183 PMUX_FUNC_GMI_INT, 184 PMUX_FUNC_HDMI, 185 PMUX_FUNC_I2C, 186 PMUX_FUNC_I2C2, 187 PMUX_FUNC_I2C3, 188 PMUX_FUNC_IDE, 189 PMUX_FUNC_KBC, 190 PMUX_FUNC_MIO, 191 PMUX_FUNC_MIPI_HS, 192 PMUX_FUNC_NAND, 193 PMUX_FUNC_OSC, 194 PMUX_FUNC_OWR, 195 PMUX_FUNC_PCIE, 196 PMUX_FUNC_PLLA_OUT, 197 PMUX_FUNC_PLLC_OUT1, 198 PMUX_FUNC_PLLM_OUT1, 199 PMUX_FUNC_PLLP_OUT2, 200 PMUX_FUNC_PLLP_OUT3, 201 PMUX_FUNC_PLLP_OUT4, 202 PMUX_FUNC_PWM, 203 PMUX_FUNC_PWR_INTR, 204 PMUX_FUNC_PWR_ON, 205 PMUX_FUNC_RTCK, 206 PMUX_FUNC_SDIO1, 207 PMUX_FUNC_SDIO2, 208 PMUX_FUNC_SDIO3, 209 PMUX_FUNC_SDIO4, 210 PMUX_FUNC_SFLASH, 211 PMUX_FUNC_SPDIF, 212 PMUX_FUNC_SPI1, 213 PMUX_FUNC_SPI2, 214 PMUX_FUNC_SPI2_ALT, 215 PMUX_FUNC_SPI3, 216 PMUX_FUNC_SPI4, 217 PMUX_FUNC_TRACE, 218 PMUX_FUNC_TWC, 219 PMUX_FUNC_UARTA, 220 PMUX_FUNC_UARTB, 221 PMUX_FUNC_UARTC, 222 PMUX_FUNC_UARTD, 223 PMUX_FUNC_UARTE, 224 PMUX_FUNC_ULPI, 225 PMUX_FUNC_VI, 226 PMUX_FUNC_VI_SENSOR_CLK, 227 PMUX_FUNC_XIO, 228 PMUX_FUNC_RSVD1, 229 PMUX_FUNC_RSVD2, 230 PMUX_FUNC_RSVD3, 231 PMUX_FUNC_RSVD4, 232 PMUX_FUNC_COUNT, 233 }; 234 235 #define TEGRA_PMX_SOC_DRV_GROUP_BASE_REG 0x868 236 #include <asm/arch-tegra/pinmux.h> 237 238 #endif /* _TEGRA20_PINMUX_H_ */ 239