|  | /* | 
|  | * (C) Copyright 2004 | 
|  | * Texas Instruments, <www.ti.com> | 
|  | * Richard Woodruff <r-woodruff2@ti.com> | 
|  | * | 
|  | * 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 |