diff options
author | Scott Williams <scwilliams@nvidia.com> | 2011-12-14 13:41:20 -0800 |
---|---|---|
committer | Varun Wadekar <vwadekar@nvidia.com> | 2011-12-21 15:05:43 +0530 |
commit | 8b2b6d14763f1662507170dcb419053dce7877c2 (patch) | |
tree | f123b2398aed0271a52ec0250480b771f8fcd8ca /arch/arm/mach-tegra/include/mach/pinmux.h | |
parent | 4fbd126f17e1b8db673129b754ab70c43f275302 (diff) |
arm: tegra: Use generator macros for pinmux selectors
Replace the hand-crafted pinmux mux selector enumerators and
name table with generator macros to avoid mismatches between
them.
Change-Id: I2e56bf89a4b29f33af00d0e4d2617ee13c554997
Signed-off-by: Scott Williams <scwilliams@nvidia.com>
Reviewed-on: http://git-master/r/70088
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Mark Stadler <mastadler@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Allen Martin <amartin@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/include/mach/pinmux.h')
-rw-r--r-- | arch/arm/mach-tegra/include/mach/pinmux.h | 243 |
1 files changed, 127 insertions, 116 deletions
diff --git a/arch/arm/mach-tegra/include/mach/pinmux.h b/arch/arm/mach-tegra/include/mach/pinmux.h index 6a2c18c52faa..5d50d798cb9b 100644 --- a/arch/arm/mach-tegra/include/mach/pinmux.h +++ b/arch/arm/mach-tegra/include/mach/pinmux.h @@ -26,127 +26,138 @@ #error "Undefined Tegra architecture" #endif +#define TEGRA_MUX_LIST \ + TEGRA_MUX(NONE) \ + TEGRA_MUX(AHB_CLK) \ + TEGRA_MUX(APB_CLK) \ + TEGRA_MUX(AUDIO_SYNC) \ + TEGRA_MUX(CRT) \ + TEGRA_MUX(DAP1) \ + TEGRA_MUX(DAP2) \ + TEGRA_MUX(DAP3) \ + TEGRA_MUX(DAP4) \ + TEGRA_MUX(DAP5) \ + TEGRA_MUX(DISPLAYA) \ + TEGRA_MUX(DISPLAYB) \ + TEGRA_MUX(EMC_TEST0_DLL) \ + TEGRA_MUX(EMC_TEST1_DLL) \ + TEGRA_MUX(GMI) \ + TEGRA_MUX(GMI_INT) \ + TEGRA_MUX(HDMI) \ + TEGRA_MUX(I2C1) \ + TEGRA_MUX(I2C2) \ + TEGRA_MUX(I2C3) \ + TEGRA_MUX(IDE) \ + TEGRA_MUX(IRDA) \ + TEGRA_MUX(KBC) \ + TEGRA_MUX(MIO) \ + TEGRA_MUX(MIPI_HS) \ + TEGRA_MUX(NAND) \ + TEGRA_MUX(OSC) \ + TEGRA_MUX(OWR) \ + TEGRA_MUX(PCIE) \ + TEGRA_MUX(PLLA_OUT) \ + TEGRA_MUX(PLLC_OUT1) \ + TEGRA_MUX(PLLM_OUT1) \ + TEGRA_MUX(PLLP_OUT2) \ + TEGRA_MUX(PLLP_OUT3) \ + TEGRA_MUX(PLLP_OUT4) \ + TEGRA_MUX(PWM) \ + TEGRA_MUX(PWR_INTR) \ + TEGRA_MUX(PWR_ON) \ + TEGRA_MUX(RTCK) \ + TEGRA_MUX(SDIO1) \ + TEGRA_MUX(SDIO2) \ + TEGRA_MUX(SDIO3) \ + TEGRA_MUX(SDIO4) \ + TEGRA_MUX(SFLASH) \ + TEGRA_MUX(SPDIF) \ + TEGRA_MUX(SPI1) \ + TEGRA_MUX(SPI2) \ + TEGRA_MUX(SPI2_ALT) \ + TEGRA_MUX(SPI3) \ + TEGRA_MUX(SPI4) \ + TEGRA_MUX(TRACE) \ + TEGRA_MUX(TWC) \ + TEGRA_MUX(UARTA) \ + TEGRA_MUX(UARTB) \ + TEGRA_MUX(UARTC) \ + TEGRA_MUX(UARTD) \ + TEGRA_MUX(UARTE) \ + TEGRA_MUX(ULPI) \ + TEGRA_MUX(VI) \ + TEGRA_MUX(VI_SENSOR_CLK) \ + TEGRA_MUX(XIO) \ + /* End of Tegra2 MUX selectors */ \ + TEGRA_MUX(BLINK) \ + TEGRA_MUX(CEC) \ + TEGRA_MUX(CLK12) \ + TEGRA_MUX(DAP) \ + TEGRA_MUX(DAPSDMMC2) \ + TEGRA_MUX(DDR) \ + TEGRA_MUX(DEV3) \ + TEGRA_MUX(DTV) \ + TEGRA_MUX(VI_ALT1) \ + TEGRA_MUX(VI_ALT2) \ + TEGRA_MUX(VI_ALT3) \ + TEGRA_MUX(EMC_DLL) \ + TEGRA_MUX(EXTPERIPH1) \ + TEGRA_MUX(EXTPERIPH2) \ + TEGRA_MUX(EXTPERIPH3) \ + TEGRA_MUX(GMI_ALT) \ + TEGRA_MUX(HDA) \ + TEGRA_MUX(HSI) \ + TEGRA_MUX(I2C4) \ + TEGRA_MUX(I2C5) \ + TEGRA_MUX(I2CPWR) \ + TEGRA_MUX(I2S0) \ + TEGRA_MUX(I2S1) \ + TEGRA_MUX(I2S2) \ + TEGRA_MUX(I2S3) \ + TEGRA_MUX(I2S4) \ + TEGRA_MUX(NAND_ALT) \ + TEGRA_MUX(POPSDIO4) \ + TEGRA_MUX(POPSDMMC4) \ + TEGRA_MUX(PWM0) \ + TEGRA_MUX(PWM1) \ + TEGRA_MUX(PWM2) \ + TEGRA_MUX(PWM3) \ + TEGRA_MUX(SATA) \ + TEGRA_MUX(SPI5) \ + TEGRA_MUX(SPI6) \ + TEGRA_MUX(SYSCLK) \ + TEGRA_MUX(VGP1) \ + TEGRA_MUX(VGP2) \ + TEGRA_MUX(VGP3) \ + TEGRA_MUX(VGP4) \ + TEGRA_MUX(VGP5) \ + TEGRA_MUX(VGP6) \ + /* End of Tegra3 MUX selectors */ + enum tegra_mux_func { - TEGRA_MUX_RSVD = 0x8000, - TEGRA_MUX_RSVD0 = TEGRA_MUX_RSVD, - TEGRA_MUX_RSVD1 = 0x8000, - TEGRA_MUX_RSVD2 = 0x8001, - TEGRA_MUX_RSVD3 = 0x8002, - TEGRA_MUX_RSVD4 = 0x8003, - TEGRA_MUX_INVALID = 0x4000, - TEGRA_MUX_NONE = 0, - TEGRA_MUX_AHB_CLK, - TEGRA_MUX_APB_CLK, - TEGRA_MUX_AUDIO_SYNC, - TEGRA_MUX_CRT, - TEGRA_MUX_DAP1, - TEGRA_MUX_DAP2, - TEGRA_MUX_DAP3, - TEGRA_MUX_DAP4, - TEGRA_MUX_DAP5, - TEGRA_MUX_DISPLAYA, - TEGRA_MUX_DISPLAYB, - TEGRA_MUX_EMC_TEST0_DLL, - TEGRA_MUX_EMC_TEST1_DLL, - TEGRA_MUX_GMI, - TEGRA_MUX_GMI_INT, - TEGRA_MUX_HDMI, - TEGRA_MUX_I2C, - TEGRA_MUX_I2C1 = TEGRA_MUX_I2C, - TEGRA_MUX_I2C2, - TEGRA_MUX_I2C3, - TEGRA_MUX_IDE, - TEGRA_MUX_IRDA, - TEGRA_MUX_KBC, - TEGRA_MUX_MIO, - TEGRA_MUX_MIPI_HS, - TEGRA_MUX_NAND, - TEGRA_MUX_OSC, - TEGRA_MUX_OWR, - TEGRA_MUX_PCIE, - TEGRA_MUX_PLLA_OUT, - TEGRA_MUX_PLLC_OUT1, - TEGRA_MUX_PLLM_OUT1, - TEGRA_MUX_PLLP_OUT2, - TEGRA_MUX_PLLP_OUT3, - TEGRA_MUX_PLLP_OUT4, - TEGRA_MUX_PWM, - TEGRA_MUX_PWR_INTR, - TEGRA_MUX_PWR_ON, - TEGRA_MUX_RTCK, - TEGRA_MUX_SDIO1, +#define TEGRA_MUX(mux) TEGRA_MUX_##mux, + TEGRA_MUX_LIST +#undef TEGRA_MUX + TEGRA_MUX_SAFE, /* "Safe" default mux selector */ + TEGRA_MAX_MUX, /* Number of mux selectors */ + TEGRA_MUX_TEGRA2_LAST = TEGRA_MUX_XIO, + TEGRA_MUX_TEGRA3_LAST = TEGRA_MUX_VGP6, + + /* Mux selector aliases */ + TEGRA_MUX_I2C = TEGRA_MUX_I2C1, TEGRA_MUX_SDMMC1 = TEGRA_MUX_SDIO1, - TEGRA_MUX_SDIO2, TEGRA_MUX_SDMMC2 = TEGRA_MUX_SDIO2, - TEGRA_MUX_SDIO3, TEGRA_MUX_SDMMC3 = TEGRA_MUX_SDIO3, - TEGRA_MUX_SDIO4, TEGRA_MUX_SDMMC4 = TEGRA_MUX_SDIO4, - TEGRA_MUX_SFLASH, - TEGRA_MUX_SPDIF, - TEGRA_MUX_SPI1, - TEGRA_MUX_SPI2, - TEGRA_MUX_SPI2_ALT, - TEGRA_MUX_SPI3, - TEGRA_MUX_SPI4, - TEGRA_MUX_TRACE, - TEGRA_MUX_TWC, - TEGRA_MUX_UARTA, - TEGRA_MUX_UARTB, - TEGRA_MUX_UARTC, - TEGRA_MUX_UARTD, - TEGRA_MUX_UARTE, - TEGRA_MUX_ULPI, - TEGRA_MUX_VI, - TEGRA_MUX_VI_SENSOR_CLK, - TEGRA_MUX_XIO, -#ifndef CONFIG_ARCH_TEGRA_2x_SOC - TEGRA_MUX_BLINK, - TEGRA_MUX_CEC, - TEGRA_MUX_CLK12, - TEGRA_MUX_DAP, - TEGRA_MUX_DAPSDMMC2, - TEGRA_MUX_DDR, - TEGRA_MUX_DEV3, - TEGRA_MUX_DTV, - TEGRA_MUX_VI_ALT1, - TEGRA_MUX_VI_ALT2, - TEGRA_MUX_VI_ALT3, - TEGRA_MUX_EMC_DLL, - TEGRA_MUX_EXTPERIPH1, - TEGRA_MUX_EXTPERIPH2, - TEGRA_MUX_EXTPERIPH3, - TEGRA_MUX_GMI_ALT, - TEGRA_MUX_HDA, - TEGRA_MUX_HSI, - TEGRA_MUX_I2C4, - TEGRA_MUX_I2C5, - TEGRA_MUX_I2CPWR, - TEGRA_MUX_I2S0, - TEGRA_MUX_I2S1, - TEGRA_MUX_I2S2, - TEGRA_MUX_I2S3, - TEGRA_MUX_I2S4, - TEGRA_MUX_NAND_ALT, - TEGRA_MUX_POPSDIO4, - TEGRA_MUX_POPSDMMC4, - TEGRA_MUX_PWM0, - TEGRA_MUX_PWM1, - TEGRA_MUX_PWM2, - TEGRA_MUX_PWM3, - TEGRA_MUX_SATA, - TEGRA_MUX_SPI5, - TEGRA_MUX_SPI6, - TEGRA_MUX_SYSCLK, - TEGRA_MUX_VGP1, - TEGRA_MUX_VGP2, - TEGRA_MUX_VGP3, - TEGRA_MUX_VGP4, - TEGRA_MUX_VGP5, - TEGRA_MUX_VGP6, -#endif - TEGRA_MUX_SAFE, - TEGRA_MAX_MUX, + + /* Special mux selector values */ + TEGRA_MUX_INVALID = 0x4000, + TEGRA_MUX_RSVD = 0x8000, + TEGRA_MUX_RSVD0 = TEGRA_MUX_RSVD, + TEGRA_MUX_RSVD1 = 0x8001, + TEGRA_MUX_RSVD2 = 0x8002, + TEGRA_MUX_RSVD3 = 0x8003, + TEGRA_MUX_RSVD4 = 0x8004, }; enum tegra_pullupdown { |