100a2749dSAllen Martin /* 200a2749dSAllen Martin * (C) Copyright 2010,2011 300a2749dSAllen Martin * NVIDIA Corporation <www.nvidia.com> 400a2749dSAllen Martin * 51a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 600a2749dSAllen Martin */ 700a2749dSAllen Martin 8e2969957SStephen Warren #ifndef _TEGRA20_PINMUX_H_ 9e2969957SStephen Warren #define _TEGRA20_PINMUX_H_ 1000a2749dSAllen Martin 1100a2749dSAllen Martin /* 1200a2749dSAllen Martin * Pin groups which we adjust. There are three basic attributes of each pin 1300a2749dSAllen Martin * group which use this enum: 1400a2749dSAllen Martin * 1500a2749dSAllen Martin * - function 1600a2749dSAllen Martin * - pullup / pulldown 1700a2749dSAllen Martin * - tristate or normal 1800a2749dSAllen Martin */ 1900a2749dSAllen Martin enum pmux_pingrp { 2000a2749dSAllen Martin /* APB_MISC_PP_TRISTATE_REG_A_0 */ 2170ad375eSStephen Warren PMUX_PINGRP_ATA, 2270ad375eSStephen Warren PMUX_PINGRP_ATB, 2370ad375eSStephen Warren PMUX_PINGRP_ATC, 2470ad375eSStephen Warren PMUX_PINGRP_ATD, 2570ad375eSStephen Warren PMUX_PINGRP_CDEV1, 2670ad375eSStephen Warren PMUX_PINGRP_CDEV2, 2770ad375eSStephen Warren PMUX_PINGRP_CSUS, 2870ad375eSStephen Warren PMUX_PINGRP_DAP1, 2900a2749dSAllen Martin 3070ad375eSStephen Warren PMUX_PINGRP_DAP2, 3170ad375eSStephen Warren PMUX_PINGRP_DAP3, 3270ad375eSStephen Warren PMUX_PINGRP_DAP4, 3370ad375eSStephen Warren PMUX_PINGRP_DTA, 3470ad375eSStephen Warren PMUX_PINGRP_DTB, 3570ad375eSStephen Warren PMUX_PINGRP_DTC, 3670ad375eSStephen Warren PMUX_PINGRP_DTD, 3770ad375eSStephen Warren PMUX_PINGRP_DTE, 3800a2749dSAllen Martin 3970ad375eSStephen Warren PMUX_PINGRP_GPU, 4070ad375eSStephen Warren PMUX_PINGRP_GPV, 4170ad375eSStephen Warren PMUX_PINGRP_I2CP, 4270ad375eSStephen Warren PMUX_PINGRP_IRTX, 4370ad375eSStephen Warren PMUX_PINGRP_IRRX, 4470ad375eSStephen Warren PMUX_PINGRP_KBCB, 4570ad375eSStephen Warren PMUX_PINGRP_KBCA, 4670ad375eSStephen Warren PMUX_PINGRP_PMC, 4700a2749dSAllen Martin 4870ad375eSStephen Warren PMUX_PINGRP_PTA, 4970ad375eSStephen Warren PMUX_PINGRP_RM, 5070ad375eSStephen Warren PMUX_PINGRP_KBCE, 5170ad375eSStephen Warren PMUX_PINGRP_KBCF, 5270ad375eSStephen Warren PMUX_PINGRP_GMA, 5370ad375eSStephen Warren PMUX_PINGRP_GMC, 5470ad375eSStephen Warren PMUX_PINGRP_SDIO1, 5570ad375eSStephen Warren PMUX_PINGRP_OWC, 5600a2749dSAllen Martin 5700a2749dSAllen Martin /* 32: APB_MISC_PP_TRISTATE_REG_B_0 */ 5870ad375eSStephen Warren PMUX_PINGRP_GME, 5970ad375eSStephen Warren PMUX_PINGRP_SDC, 6070ad375eSStephen Warren PMUX_PINGRP_SDD, 6170ad375eSStephen Warren PMUX_PINGRP_RESERVED0, 6270ad375eSStephen Warren PMUX_PINGRP_SLXA, 6370ad375eSStephen Warren PMUX_PINGRP_SLXC, 6470ad375eSStephen Warren PMUX_PINGRP_SLXD, 6570ad375eSStephen Warren PMUX_PINGRP_SLXK, 6600a2749dSAllen Martin 6770ad375eSStephen Warren PMUX_PINGRP_SPDI, 6870ad375eSStephen Warren PMUX_PINGRP_SPDO, 6970ad375eSStephen Warren PMUX_PINGRP_SPIA, 7070ad375eSStephen Warren PMUX_PINGRP_SPIB, 7170ad375eSStephen Warren PMUX_PINGRP_SPIC, 7270ad375eSStephen Warren PMUX_PINGRP_SPID, 7370ad375eSStephen Warren PMUX_PINGRP_SPIE, 7470ad375eSStephen Warren PMUX_PINGRP_SPIF, 7500a2749dSAllen Martin 7670ad375eSStephen Warren PMUX_PINGRP_SPIG, 7770ad375eSStephen Warren PMUX_PINGRP_SPIH, 7870ad375eSStephen Warren PMUX_PINGRP_UAA, 7970ad375eSStephen Warren PMUX_PINGRP_UAB, 8070ad375eSStephen Warren PMUX_PINGRP_UAC, 8170ad375eSStephen Warren PMUX_PINGRP_UAD, 8270ad375eSStephen Warren PMUX_PINGRP_UCA, 8370ad375eSStephen Warren PMUX_PINGRP_UCB, 8400a2749dSAllen Martin 8570ad375eSStephen Warren PMUX_PINGRP_RESERVED1, 8670ad375eSStephen Warren PMUX_PINGRP_ATE, 8770ad375eSStephen Warren PMUX_PINGRP_KBCC, 8870ad375eSStephen Warren PMUX_PINGRP_RESERVED2, 8970ad375eSStephen Warren PMUX_PINGRP_RESERVED3, 9070ad375eSStephen Warren PMUX_PINGRP_GMB, 9170ad375eSStephen Warren PMUX_PINGRP_GMD, 9270ad375eSStephen Warren PMUX_PINGRP_DDC, 9300a2749dSAllen Martin 9400a2749dSAllen Martin /* 64: APB_MISC_PP_TRISTATE_REG_C_0 */ 9570ad375eSStephen Warren PMUX_PINGRP_LD0, 9670ad375eSStephen Warren PMUX_PINGRP_LD1, 9770ad375eSStephen Warren PMUX_PINGRP_LD2, 9870ad375eSStephen Warren PMUX_PINGRP_LD3, 9970ad375eSStephen Warren PMUX_PINGRP_LD4, 10070ad375eSStephen Warren PMUX_PINGRP_LD5, 10170ad375eSStephen Warren PMUX_PINGRP_LD6, 10270ad375eSStephen Warren PMUX_PINGRP_LD7, 10300a2749dSAllen Martin 10470ad375eSStephen Warren PMUX_PINGRP_LD8, 10570ad375eSStephen Warren PMUX_PINGRP_LD9, 10670ad375eSStephen Warren PMUX_PINGRP_LD10, 10770ad375eSStephen Warren PMUX_PINGRP_LD11, 10870ad375eSStephen Warren PMUX_PINGRP_LD12, 10970ad375eSStephen Warren PMUX_PINGRP_LD13, 11070ad375eSStephen Warren PMUX_PINGRP_LD14, 11170ad375eSStephen Warren PMUX_PINGRP_LD15, 11200a2749dSAllen Martin 11370ad375eSStephen Warren PMUX_PINGRP_LD16, 11470ad375eSStephen Warren PMUX_PINGRP_LD17, 11570ad375eSStephen Warren PMUX_PINGRP_LHP0, 11670ad375eSStephen Warren PMUX_PINGRP_LHP1, 11770ad375eSStephen Warren PMUX_PINGRP_LHP2, 11870ad375eSStephen Warren PMUX_PINGRP_LVP0, 11970ad375eSStephen Warren PMUX_PINGRP_LVP1, 12070ad375eSStephen Warren PMUX_PINGRP_HDINT, 12100a2749dSAllen Martin 12270ad375eSStephen Warren PMUX_PINGRP_LM0, 12370ad375eSStephen Warren PMUX_PINGRP_LM1, 12470ad375eSStephen Warren PMUX_PINGRP_LVS, 12570ad375eSStephen Warren PMUX_PINGRP_LSC0, 12670ad375eSStephen Warren PMUX_PINGRP_LSC1, 12770ad375eSStephen Warren PMUX_PINGRP_LSCK, 12870ad375eSStephen Warren PMUX_PINGRP_LDC, 12970ad375eSStephen Warren PMUX_PINGRP_LCSN, 13000a2749dSAllen Martin 13100a2749dSAllen Martin /* 96: APB_MISC_PP_TRISTATE_REG_D_0 */ 13270ad375eSStephen Warren PMUX_PINGRP_LSPI, 13370ad375eSStephen Warren PMUX_PINGRP_LSDA, 13470ad375eSStephen Warren PMUX_PINGRP_LSDI, 13570ad375eSStephen Warren PMUX_PINGRP_LPW0, 13670ad375eSStephen Warren PMUX_PINGRP_LPW1, 13770ad375eSStephen Warren PMUX_PINGRP_LPW2, 13870ad375eSStephen Warren PMUX_PINGRP_LDI, 13970ad375eSStephen Warren PMUX_PINGRP_LHS, 14000a2749dSAllen Martin 14170ad375eSStephen Warren PMUX_PINGRP_LPP, 14270ad375eSStephen Warren PMUX_PINGRP_RESERVED4, 14370ad375eSStephen Warren PMUX_PINGRP_KBCD, 14470ad375eSStephen Warren PMUX_PINGRP_GPU7, 14570ad375eSStephen Warren PMUX_PINGRP_DTF, 14670ad375eSStephen Warren PMUX_PINGRP_UDA, 14770ad375eSStephen Warren PMUX_PINGRP_CRTP, 14870ad375eSStephen Warren PMUX_PINGRP_SDB, 14900a2749dSAllen Martin 15000a2749dSAllen Martin /* these pin groups only have pullup and pull down control */ 15170ad375eSStephen Warren PMUX_PINGRP_CK32, 15270ad375eSStephen Warren PMUX_PINGRP_DDRC, 15370ad375eSStephen Warren PMUX_PINGRP_PMCA, 15470ad375eSStephen Warren PMUX_PINGRP_PMCB, 15570ad375eSStephen Warren PMUX_PINGRP_PMCC, 15670ad375eSStephen Warren PMUX_PINGRP_PMCD, 15770ad375eSStephen Warren PMUX_PINGRP_PMCE, 15870ad375eSStephen Warren PMUX_PINGRP_XM2C, 15970ad375eSStephen Warren PMUX_PINGRP_XM2D, 160dfb42fc9SStephen Warren PMUX_PINGRP_COUNT, 16100a2749dSAllen Martin }; 16200a2749dSAllen Martin 16300a2749dSAllen Martin /* 16400a2749dSAllen Martin * Functions which can be assigned to each of the pin groups. The values here 16500a2749dSAllen Martin * bear no relation to the values programmed into pinmux registers and are 16600a2749dSAllen Martin * purely a convenience. The translation is done through a table search. 16700a2749dSAllen Martin */ 16800a2749dSAllen Martin enum pmux_func { 1694a68d343SStephen Warren PMUX_FUNC_DEFAULT, 17000a2749dSAllen Martin PMUX_FUNC_AHB_CLK, 17100a2749dSAllen Martin PMUX_FUNC_APB_CLK, 17200a2749dSAllen Martin PMUX_FUNC_AUDIO_SYNC, 17300a2749dSAllen Martin PMUX_FUNC_CRT, 17400a2749dSAllen Martin PMUX_FUNC_DAP1, 17500a2749dSAllen Martin PMUX_FUNC_DAP2, 17600a2749dSAllen Martin PMUX_FUNC_DAP3, 17700a2749dSAllen Martin PMUX_FUNC_DAP4, 17800a2749dSAllen Martin PMUX_FUNC_DAP5, 17900a2749dSAllen Martin PMUX_FUNC_DISPA, 18000a2749dSAllen Martin PMUX_FUNC_DISPB, 18100a2749dSAllen Martin PMUX_FUNC_EMC_TEST0_DLL, 18200a2749dSAllen Martin PMUX_FUNC_EMC_TEST1_DLL, 18300a2749dSAllen Martin PMUX_FUNC_GMI, 18400a2749dSAllen Martin PMUX_FUNC_GMI_INT, 18500a2749dSAllen Martin PMUX_FUNC_HDMI, 18600a2749dSAllen Martin PMUX_FUNC_I2C, 18700a2749dSAllen Martin PMUX_FUNC_I2C2, 18800a2749dSAllen Martin PMUX_FUNC_I2C3, 18900a2749dSAllen Martin PMUX_FUNC_IDE, 19000a2749dSAllen Martin PMUX_FUNC_KBC, 19100a2749dSAllen Martin PMUX_FUNC_MIO, 19200a2749dSAllen Martin PMUX_FUNC_MIPI_HS, 19300a2749dSAllen Martin PMUX_FUNC_NAND, 19400a2749dSAllen Martin PMUX_FUNC_OSC, 19500a2749dSAllen Martin PMUX_FUNC_OWR, 19600a2749dSAllen Martin PMUX_FUNC_PCIE, 19700a2749dSAllen Martin PMUX_FUNC_PLLA_OUT, 19800a2749dSAllen Martin PMUX_FUNC_PLLC_OUT1, 19900a2749dSAllen Martin PMUX_FUNC_PLLM_OUT1, 20000a2749dSAllen Martin PMUX_FUNC_PLLP_OUT2, 20100a2749dSAllen Martin PMUX_FUNC_PLLP_OUT3, 20200a2749dSAllen Martin PMUX_FUNC_PLLP_OUT4, 20300a2749dSAllen Martin PMUX_FUNC_PWM, 20400a2749dSAllen Martin PMUX_FUNC_PWR_INTR, 20500a2749dSAllen Martin PMUX_FUNC_PWR_ON, 20600a2749dSAllen Martin PMUX_FUNC_RTCK, 20700a2749dSAllen Martin PMUX_FUNC_SDIO1, 20800a2749dSAllen Martin PMUX_FUNC_SDIO2, 20900a2749dSAllen Martin PMUX_FUNC_SDIO3, 21000a2749dSAllen Martin PMUX_FUNC_SDIO4, 21100a2749dSAllen Martin PMUX_FUNC_SFLASH, 21200a2749dSAllen Martin PMUX_FUNC_SPDIF, 21300a2749dSAllen Martin PMUX_FUNC_SPI1, 21400a2749dSAllen Martin PMUX_FUNC_SPI2, 21500a2749dSAllen Martin PMUX_FUNC_SPI2_ALT, 21600a2749dSAllen Martin PMUX_FUNC_SPI3, 21700a2749dSAllen Martin PMUX_FUNC_SPI4, 21800a2749dSAllen Martin PMUX_FUNC_TRACE, 21900a2749dSAllen Martin PMUX_FUNC_TWC, 22000a2749dSAllen Martin PMUX_FUNC_UARTA, 22100a2749dSAllen Martin PMUX_FUNC_UARTB, 22200a2749dSAllen Martin PMUX_FUNC_UARTC, 22300a2749dSAllen Martin PMUX_FUNC_UARTD, 22400a2749dSAllen Martin PMUX_FUNC_UARTE, 22500a2749dSAllen Martin PMUX_FUNC_ULPI, 22600a2749dSAllen Martin PMUX_FUNC_VI, 22700a2749dSAllen Martin PMUX_FUNC_VI_SENSOR_CLK, 22800a2749dSAllen Martin PMUX_FUNC_XIO, 229d381294aSStephen Warren PMUX_FUNC_RSVD1, 230d381294aSStephen Warren PMUX_FUNC_RSVD2, 231d381294aSStephen Warren PMUX_FUNC_RSVD3, 232d381294aSStephen Warren PMUX_FUNC_RSVD4, 23300a2749dSAllen Martin PMUX_FUNC_COUNT, 23400a2749dSAllen Martin }; 23500a2749dSAllen Martin 236*790f7719SStephen Warren #define TEGRA_PMX_SOC_DRV_GROUP_BASE_REG 0x868 237e2969957SStephen Warren #include <asm/arch-tegra/pinmux.h> 23800a2749dSAllen Martin 239e2969957SStephen Warren #endif /* _TEGRA20_PINMUX_H_ */ 240