Merge with /home/wd/git/u-boot/testing-NAND/ to add new NAND handling.
[oweals/u-boot.git] / include / asm-arm / arch-arm1136 / mux.h
1 /*
2  * (C) Copyright 2004
3  * Texas Instruments, <www.ti.com>
4  * Richard Woodruff <r-woodruff2@ti.com>
5  *
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.
10  *
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.
15  *
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,
19  * MA 02111-1307 USA
20  */
21 #ifndef _OMAP2420_MUX_H_
22 #define _OMAP2420_MUX_H_
23
24 #ifndef __ASSEMBLY__
25 typedef  unsigned char uint8;
26 typedef  unsigned int uint32;
27
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);
39 #endif
40
41 #define USB_OTG_CTRL                            ((volatile uint32 *)0x4805E30C)
42
43 /* Pin Muxing registers used for HDQ (Smart battery) */
44 #define CONTROL_PADCONF_HDQ_SIO         ((volatile unsigned char *)0x48000115)
45
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)
51
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)
56
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)
62
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)
67
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)
73
74 #define CONTROL_PADCONF_MCBSP1_FSR      ((volatile unsigned char *)0x4800010B)
75
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)
89
90 #define CONTROL_PADCONF_SDRC_A14        ((volatile unsigned char *)0x48000030)
91 #define CONTROL_PADCONF_SDRC_A13        ((volatile unsigned char *)0x48000031)
92
93 /* Pin Muxing registers used for CAMERA */
94 #define CONTROL_PADCONF_SYS_NRESWARM    ((volatile unsigned char *)0x4800012B)
95
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)
110
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)
134
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)
140
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)
144
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)
153
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)
157
158 #endif