/* * (C) Copyright 2004 * Texas Instruments, * Richard Woodruff * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA */ #ifndef _OMAP2420_MUX_H_ #define _OMAP2420_MUX_H_ #ifndef __ASSEMBLY__ typedef unsigned char uint8; typedef unsigned int uint32; void muxSetupSDRC(void); void muxSetupGPMC(void); void muxSetupUsb0(void); void muxSetupUsbHost(void); void muxSetupUart3(void); void muxSetupI2C1(void); void muxSetupUART1(void); void muxSetupLCD(void); void muxSetupCamera(void); void muxSetupMMCSD(void) ; void muxSetupTouchScreen(void) ; void muxSetupHDQ(void); #endif #define USB_OTG_CTRL ((volatile uint32 *)0x4805E30C) /* Pin Muxing registers used for HDQ (Smart battery) */ #define CONTROL_PADCONF_HDQ_SIO ((volatile unsigned char *)0x48000115) /* Pin Muxing registers used for GPMC */ #define CONTROL_PADCONF_GPMC_D2_BYTE0 ((volatile unsigned char *)0x48000088) #define CONTROL_PADCONF_GPMC_D2_BYTE1 ((volatile unsigned char *)0x48000089) #define CONTROL_PADCONF_GPMC_D2_BYTE2 ((volatile unsigned char *)0x4800008A) #define CONTROL_PADCONF_GPMC_D2_BYTE3 ((volatile unsigned char *)0x4800008B) #define CONTROL_PADCONF_GPMC_NCS0_BYTE0 ((volatile unsigned char *)0x4800008C) #define CONTROL_PADCONF_GPMC_NCS0_BYTE1 ((volatile unsigned char *)0x4800008D) #define CONTROL_PADCONF_GPMC_NCS0_BYTE2 ((volatile unsigned char *)0x4800008E) #define CONTROL_PADCONF_GPMC_NCS0_BYTE3 ((volatile unsigned char *)0x4800008F) #define CONTROL_PADCONF_GPMC_NCS0_BYTE4 (0x48000090) #define CONTROL_PADCONF_GPMC_NCS0_BYTE5 (0x48000091) #define CONTROL_PADCONF_GPMC_NCS0_BYTE6 (0x48000092) #define CONTROL_PADCONF_GPMC_NCS0_BYTE7 (0x48000093) /* Pin Muxing registers used for SDRC */ #define CONTROL_PADCONF_SDRC_NCS0_BYTE0 ((volatile unsigned char *)0x480000A0) #define CONTROL_PADCONF_SDRC_NCS0_BYTE1 ((volatile unsigned char *)0x480000A1) #define CONTROL_PADCONF_SDRC_NCS0_BYTE2 ((volatile unsigned char *)0x480000A2) #define CONTROL_PADCONF_SDRC_NCS0_BYTE3 ((volatile unsigned char *)0x480000A3) #define CONTROL_PADCONF_SDRC_A14_BYTE0 ((volatile unsigned char *)0x48000030) #define CONTROL_PADCONF_SDRC_A14_BYTE1 ((volatile unsigned char *)0x48000031) #define CONTROL_PADCONF_SDRC_A14_BYTE2 ((volatile unsigned char *)0x48000032) #define CONTROL_PADCONF_SDRC_A14_BYTE3 ((volatile unsigned char *)0x48000033) /* Pin Muxing registers used for Touch Screen (SPI) */ #define CONTROL_PADCONF_SPI1_CLK ((volatile unsigned char *)0x480000FF) #define CONTROL_PADCONF_SPI1_SIMO ((volatile unsigned char *)0x48000100) #define CONTROL_PADCONF_SPI1_SOMI ((volatile unsigned char *)0x48000101) #define CONTROL_PADCONF_SPI1_NCS0 ((volatile unsigned char *)0x48000102) #define CONTROL_PADCONF_SPI1_NCS1 (0x48000103) #define CONTROL_PADCONF_MCBSP1_FSR ((volatile unsigned char *)0x4800010B) /* Pin Muxing registers used for MMCSD */ #define CONTROL_PADCONF_MMC_CLKI ((volatile unsigned char *)0x480000FE) #define CONTROL_PADCONF_MMC_CLKO ((volatile unsigned char *)0x480000F3) #define CONTROL_PADCONF_MMC_CMD ((volatile unsigned char *)0x480000F4) #define CONTROL_PADCONF_MMC_DAT0 ((volatile unsigned char *)0x480000F5) #define CONTROL_PADCONF_MMC_DAT1 ((volatile unsigned char *)0x480000F6) #define CONTROL_PADCONF_MMC_DAT2 ((volatile unsigned char *)0x480000F7) #define CONTROL_PADCONF_MMC_DAT3 ((volatile unsigned char *)0x480000F8) #define CONTROL_PADCONF_MMC_DAT_DIR0 ((volatile unsigned char *)0x480000F9) #define CONTROL_PADCONF_MMC_DAT_DIR1 ((volatile unsigned char *)0x480000FA) #define CONTROL_PADCONF_MMC_DAT_DIR2 ((volatile unsigned char *)0x480000FB) #define CONTROL_PADCONF_MMC_DAT_DIR3 ((volatile unsigned char *)0x480000FC) #define CONTROL_PADCONF_MMC_CMD_DIR ((volatile unsigned char *)0x480000FD) #define CONTROL_PADCONF_SDRC_A14 ((volatile unsigned char *)0x48000030) #define CONTROL_PADCONF_SDRC_A13 ((volatile unsigned char *)0x48000031) /* Pin Muxing registers used for CAMERA */ #define CONTROL_PADCONF_SYS_NRESWARM ((volatile unsigned char *)0x4800012B) #define CONTROL_PADCONF_CAM_XCLK ((volatile unsigned char *)0x480000DC) #define CONTROL_PADCONF_CAM_LCLK ((volatile unsigned char *)0x480000DB) #define CONTROL_PADCONF_CAM_VS ((volatile unsigned char *)0x480000DA) #define CONTROL_PADCONF_CAM_HS ((volatile unsigned char *)0x480000D9) #define CONTROL_PADCONF_CAM_D0 ((volatile unsigned char *)0x480000D8) #define CONTROL_PADCONF_CAM_D1 ((volatile unsigned char *)0x480000D7) #define CONTROL_PADCONF_CAM_D2 ((volatile unsigned char *)0x480000D6) #define CONTROL_PADCONF_CAM_D3 ((volatile unsigned char *)0x480000D5) #define CONTROL_PADCONF_CAM_D4 ((volatile unsigned char *)0x480000D4) #define CONTROL_PADCONF_CAM_D5 ((volatile unsigned char *)0x480000D3) #define CONTROL_PADCONF_CAM_D6 ((volatile unsigned char *)0x480000D2) #define CONTROL_PADCONF_CAM_D7 ((volatile unsigned char *)0x480000D1) #define CONTROL_PADCONF_CAM_D8 ((volatile unsigned char *)0x480000D0) #define CONTROL_PADCONF_CAM_D9 ((volatile unsigned char *)0x480000CF) /* Pin Muxing registers used for LCD */ #define CONTROL_PADCONF_DSS_D0 ((volatile unsigned char *)0x480000B3) #define CONTROL_PADCONF_DSS_D1 ((volatile unsigned char *)0x480000B4) #define CONTROL_PADCONF_DSS_D2 ((volatile unsigned char *)0x480000B5) #define CONTROL_PADCONF_DSS_D3 ((volatile unsigned char *)0x480000B6) #define CONTROL_PADCONF_DSS_D4 ((volatile unsigned char *)0x480000B7) #define CONTROL_PADCONF_DSS_D5 ((volatile unsigned char *)0x480000B8) #define CONTROL_PADCONF_DSS_D6 ((volatile unsigned char *)0x480000B9) #define CONTROL_PADCONF_DSS_D7 ((volatile unsigned char *)0x480000BA) #define CONTROL_PADCONF_DSS_D8 ((volatile unsigned char *)0x480000BB) #define CONTROL_PADCONF_DSS_D9 ((volatile unsigned char *)0x480000BC) #define CONTROL_PADCONF_DSS_D10 ((volatile unsigned char *)0x480000BD) #define CONTROL_PADCONF_DSS_D11 ((volatile unsigned char *)0x480000BE) #define CONTROL_PADCONF_DSS_D12 ((volatile unsigned char *)0x480000BF) #define CONTROL_PADCONF_DSS_D13 ((volatile unsigned char *)0x480000C0) #define CONTROL_PADCONF_DSS_D14 ((volatile unsigned char *)0x480000C1) #define CONTROL_PADCONF_DSS_D15 ((volatile unsigned char *)0x480000C2) #define CONTROL_PADCONF_DSS_D16 ((volatile unsigned char *)0x480000C3) #define CONTROL_PADCONF_DSS_D17 ((volatile unsigned char *)0x480000C4) #define CONTROL_PADCONF_DSS_PCLK ((volatile unsigned char *)0x480000CB) #define CONTROL_PADCONF_DSS_VSYNC ((volatile unsigned char *)0x480000CC) #define CONTROL_PADCONF_DSS_HSYNC ((volatile unsigned char *)0x480000CD) #define CONTROL_PADCONF_DSS_ACBIAS ((volatile unsigned char *)0x480000CE) /* Pin Muxing registers used for UART1 */ #define CONTROL_PADCONF_UART1_CTS ((volatile unsigned char *)0x480000C5) #define CONTROL_PADCONF_UART1_RTS ((volatile unsigned char *)0x480000C6) #define CONTROL_PADCONF_UART1_TX ((volatile unsigned char *)0x480000C7) #define CONTROL_PADCONF_UART1_RX ((volatile unsigned char *)0x480000C8) /* Pin Muxing registers used for I2C1 */ #define CONTROL_PADCONF_I2C1_SCL ((volatile unsigned char *)0x48000111) #define CONTROL_PADCONF_I2C1_SDA ((volatile unsigned char *)0x48000112) /* Pin Muxing registres used for USB0. */ #define CONTROL_PADCONF_USB0_PUEN ((volatile uint8 *)0x4800011D) #define CONTROL_PADCONF_USB0_VP ((volatile uint8 *)0x4800011E) #define CONTROL_PADCONF_USB0_VM ((volatile uint8 *)0x4800011F) #define CONTROL_PADCONF_USB0_RCV ((volatile uint8 *)0x48000120) #define CONTROL_PADCONF_USB0_TXEN ((volatile uint8 *)0x48000121) #define CONTROL_PADCONF_USB0_SE0 ((volatile uint8 *)0x48000122) #define CONTROL_PADCONF_USB0_DAT ((volatile uint8 *)0x48000123) /* Pin Muxing registres used for USB1. */ #define CONTROL_PADCONF_USB1_RCV (0x480000EB) #define CONTROL_PADCONF_USB1_TXEN (0x480000EC) /* Pin Muxing registers used for UART3/IRDA */ #define CONTROL_PADCONF_UART3_TX_IRTX ((volatile uint8 *)0x48000118) #define CONTROL_PADCONF_UART3_RX_IRRX ((volatile uint8 *)0x48000119) /* Pin Muxing registers used for GPIO */ #define CONTROL_PADCONF_GPIO69 (0x480000ED) #define CONTROL_PADCONF_GPIO70 (0x480000EE) #define CONTROL_PADCONF_GPIO102 (0x48000116) #define CONTROL_PADCONF_GPIO103 (0x48000117) #define CONTROL_PADCONF_GPIO104 (0x48000118) #define CONTROL_PADCONF_GPIO105 (0x48000119) #endif