3 * Texas Instruments, <www.ti.com>
4 * Richard Woodruff <r-woodruff2@ti.com>
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License as
8 * published by the Free Software Foundation; either version 2 of
9 * the License, or (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21 #ifndef _OMAP2420_MUX_H_
22 #define _OMAP2420_MUX_H_
25 typedef unsigned char uint8;
26 typedef unsigned int uint32;
28 void muxSetupSDRC(void);
29 void muxSetupGPMC(void);
30 void muxSetupUsb0(void);
31 void muxSetupUart3(void);
32 void muxSetupI2C1(void);
33 void muxSetupUART1(void);
34 void muxSetupLCD(void);
35 void muxSetupCamera(void);
36 void muxSetupMMCSD(void) ;
37 void muxSetupTouchScreen(void) ;
38 void muxSetupHDQ(void);
41 #define USB_OTG_CTRL ((volatile uint32 *)0x4805E30C)
43 /* Pin Muxing registers used for HDQ (Smart battery) */
44 #define CONTROL_PADCONF_HDQ_SIO ((volatile unsigned char *)0x48000115)
46 /* Pin Muxing registers used for GPMC */
47 #define CONTROL_PADCONF_GPMC_D2_BYTE0 ((volatile unsigned char *)0x48000088)
48 #define CONTROL_PADCONF_GPMC_D2_BYTE1 ((volatile unsigned char *)0x48000089)
49 #define CONTROL_PADCONF_GPMC_D2_BYTE2 ((volatile unsigned char *)0x4800008A)
50 #define CONTROL_PADCONF_GPMC_D2_BYTE3 ((volatile unsigned char *)0x4800008B)
52 #define CONTROL_PADCONF_GPMC_NCS0_BYTE0 ((volatile unsigned char *)0x4800008C)
53 #define CONTROL_PADCONF_GPMC_NCS0_BYTE1 ((volatile unsigned char *)0x4800008D)
54 #define CONTROL_PADCONF_GPMC_NCS0_BYTE2 ((volatile unsigned char *)0x4800008E)
55 #define CONTROL_PADCONF_GPMC_NCS0_BYTE3 ((volatile unsigned char *)0x4800008F)
57 /* Pin Muxing registers used for SDRC */
58 #define CONTROL_PADCONF_SDRC_NCS0_BYTE0 ((volatile unsigned char *)0x480000A0)
59 #define CONTROL_PADCONF_SDRC_NCS0_BYTE1 ((volatile unsigned char *)0x480000A1)
60 #define CONTROL_PADCONF_SDRC_NCS0_BYTE2 ((volatile unsigned char *)0x480000A2)
61 #define CONTROL_PADCONF_SDRC_NCS0_BYTE3 ((volatile unsigned char *)0x480000A3)
63 #define CONTROL_PADCONF_SDRC_A14_BYTE0 ((volatile unsigned char *)0x48000030)
64 #define CONTROL_PADCONF_SDRC_A14_BYTE1 ((volatile unsigned char *)0x48000031)
65 #define CONTROL_PADCONF_SDRC_A14_BYTE2 ((volatile unsigned char *)0x48000032)
66 #define CONTROL_PADCONF_SDRC_A14_BYTE3 ((volatile unsigned char *)0x48000033)
68 /* Pin Muxing registers used for Touch Screen (SPI) */
69 #define CONTROL_PADCONF_SPI1_CLK ((volatile unsigned char *)0x480000FF)
70 #define CONTROL_PADCONF_SPI1_SIMO ((volatile unsigned char *)0x48000100)
71 #define CONTROL_PADCONF_SPI1_SOMI ((volatile unsigned char *)0x48000101)
72 #define CONTROL_PADCONF_SPI1_NCS0 ((volatile unsigned char *)0x48000102)
74 #define CONTROL_PADCONF_MCBSP1_FSR ((volatile unsigned char *)0x4800010B)
76 /* Pin Muxing registers used for MMCSD */
77 #define CONTROL_PADCONF_MMC_CLKI ((volatile unsigned char *)0x480000FE)
78 #define CONTROL_PADCONF_MMC_CLKO ((volatile unsigned char *)0x480000F3)
79 #define CONTROL_PADCONF_MMC_CMD ((volatile unsigned char *)0x480000F4)
80 #define CONTROL_PADCONF_MMC_DAT0 ((volatile unsigned char *)0x480000F5)
81 #define CONTROL_PADCONF_MMC_DAT1 ((volatile unsigned char *)0x480000F6)
82 #define CONTROL_PADCONF_MMC_DAT2 ((volatile unsigned char *)0x480000F7)
83 #define CONTROL_PADCONF_MMC_DAT3 ((volatile unsigned char *)0x480000F8)
84 #define CONTROL_PADCONF_MMC_DAT_DIR0 ((volatile unsigned char *)0x480000F9)
85 #define CONTROL_PADCONF_MMC_DAT_DIR1 ((volatile unsigned char *)0x480000FA)
86 #define CONTROL_PADCONF_MMC_DAT_DIR2 ((volatile unsigned char *)0x480000FB)
87 #define CONTROL_PADCONF_MMC_DAT_DIR3 ((volatile unsigned char *)0x480000FC)
88 #define CONTROL_PADCONF_MMC_CMD_DIR ((volatile unsigned char *)0x480000FD)
90 #define CONTROL_PADCONF_SDRC_A14 ((volatile unsigned char *)0x48000030)
91 #define CONTROL_PADCONF_SDRC_A13 ((volatile unsigned char *)0x48000031)
93 /* Pin Muxing registers used for CAMERA */
94 #define CONTROL_PADCONF_SYS_NRESWARM ((volatile unsigned char *)0x4800012B)
96 #define CONTROL_PADCONF_CAM_XCLK ((volatile unsigned char *)0x480000DC)
97 #define CONTROL_PADCONF_CAM_LCLK ((volatile unsigned char *)0x480000DB)
98 #define CONTROL_PADCONF_CAM_VS ((volatile unsigned char *)0x480000DA)
99 #define CONTROL_PADCONF_CAM_HS ((volatile unsigned char *)0x480000D9)
100 #define CONTROL_PADCONF_CAM_D0 ((volatile unsigned char *)0x480000D8)
101 #define CONTROL_PADCONF_CAM_D1 ((volatile unsigned char *)0x480000D7)
102 #define CONTROL_PADCONF_CAM_D2 ((volatile unsigned char *)0x480000D6)
103 #define CONTROL_PADCONF_CAM_D3 ((volatile unsigned char *)0x480000D5)
104 #define CONTROL_PADCONF_CAM_D4 ((volatile unsigned char *)0x480000D4)
105 #define CONTROL_PADCONF_CAM_D5 ((volatile unsigned char *)0x480000D3)
106 #define CONTROL_PADCONF_CAM_D6 ((volatile unsigned char *)0x480000D2)
107 #define CONTROL_PADCONF_CAM_D7 ((volatile unsigned char *)0x480000D1)
108 #define CONTROL_PADCONF_CAM_D8 ((volatile unsigned char *)0x480000D0)
109 #define CONTROL_PADCONF_CAM_D9 ((volatile unsigned char *)0x480000CF)
111 /* Pin Muxing registers used for LCD */
112 #define CONTROL_PADCONF_DSS_D0 ((volatile unsigned char *)0x480000B3)
113 #define CONTROL_PADCONF_DSS_D1 ((volatile unsigned char *)0x480000B4)
114 #define CONTROL_PADCONF_DSS_D2 ((volatile unsigned char *)0x480000B5)
115 #define CONTROL_PADCONF_DSS_D3 ((volatile unsigned char *)0x480000B6)
116 #define CONTROL_PADCONF_DSS_D4 ((volatile unsigned char *)0x480000B7)
117 #define CONTROL_PADCONF_DSS_D5 ((volatile unsigned char *)0x480000B8)
118 #define CONTROL_PADCONF_DSS_D6 ((volatile unsigned char *)0x480000B9)
119 #define CONTROL_PADCONF_DSS_D7 ((volatile unsigned char *)0x480000BA)
120 #define CONTROL_PADCONF_DSS_D8 ((volatile unsigned char *)0x480000BB)
121 #define CONTROL_PADCONF_DSS_D9 ((volatile unsigned char *)0x480000BC)
122 #define CONTROL_PADCONF_DSS_D10 ((volatile unsigned char *)0x480000BD)
123 #define CONTROL_PADCONF_DSS_D11 ((volatile unsigned char *)0x480000BE)
124 #define CONTROL_PADCONF_DSS_D12 ((volatile unsigned char *)0x480000BF)
125 #define CONTROL_PADCONF_DSS_D13 ((volatile unsigned char *)0x480000C0)
126 #define CONTROL_PADCONF_DSS_D14 ((volatile unsigned char *)0x480000C1)
127 #define CONTROL_PADCONF_DSS_D15 ((volatile unsigned char *)0x480000C2)
128 #define CONTROL_PADCONF_DSS_D16 ((volatile unsigned char *)0x480000C3)
129 #define CONTROL_PADCONF_DSS_D17 ((volatile unsigned char *)0x480000C4)
130 #define CONTROL_PADCONF_DSS_PCLK ((volatile unsigned char *)0x480000CB)
131 #define CONTROL_PADCONF_DSS_VSYNC ((volatile unsigned char *)0x480000CC)
132 #define CONTROL_PADCONF_DSS_HSYNC ((volatile unsigned char *)0x480000CD)
133 #define CONTROL_PADCONF_DSS_ACBIAS ((volatile unsigned char *)0x480000CE)
135 /* Pin Muxing registers used for UART1 */
136 #define CONTROL_PADCONF_UART1_CTS ((volatile unsigned char *)0x480000C5)
137 #define CONTROL_PADCONF_UART1_RTS ((volatile unsigned char *)0x480000C6)
138 #define CONTROL_PADCONF_UART1_TX ((volatile unsigned char *)0x480000C7)
139 #define CONTROL_PADCONF_UART1_RX ((volatile unsigned char *)0x480000C8)
141 /* Pin Muxing registers used for I2C1 */
142 #define CONTROL_PADCONF_I2C1_SCL ((volatile unsigned char *)0x48000111)
143 #define CONTROL_PADCONF_I2C1_SDA ((volatile unsigned char *)0x48000112)
145 /* Pin Muxing registres used for USB0. */
146 #define CONTROL_PADCONF_USB0_PUEN ((volatile uint8 *)0x4800011D)
147 #define CONTROL_PADCONF_USB0_VP ((volatile uint8 *)0x4800011E)
148 #define CONTROL_PADCONF_USB0_VM ((volatile uint8 *)0x4800011F)
149 #define CONTROL_PADCONF_USB0_RCV ((volatile uint8 *)0x48000120)
150 #define CONTROL_PADCONF_USB0_TXEN ((volatile uint8 *)0x48000121)
151 #define CONTROL_PADCONF_USB0_SE0 ((volatile uint8 *)0x48000122)
152 #define CONTROL_PADCONF_USB0_DAT ((volatile uint8 *)0x48000123)
154 /* Pin Muxing registers used for UART3/IRDA */
155 #define CONTROL_PADCONF_UART3_TX_IRTX ((volatile uint8 *)0x48000118)
156 #define CONTROL_PADCONF_UART3_RX_IRRX ((volatile uint8 *)0x48000119)