xref: /OK3568_Linux_fs/u-boot/arch/arm/include/asm/arch-omap3/mux.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * (C) Copyright 2006-2008
3*4882a593Smuzhiyun  * Texas Instruments, <www.ti.com>
4*4882a593Smuzhiyun  * Syed Mohammed Khasim <x0khasim@ti.com>
5*4882a593Smuzhiyun  *
6*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0+
7*4882a593Smuzhiyun  */
8*4882a593Smuzhiyun #ifndef _MUX_H_
9*4882a593Smuzhiyun #define _MUX_H_
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun /*
12*4882a593Smuzhiyun  * IEN  - Input Enable
13*4882a593Smuzhiyun  * IDIS - Input Disable
14*4882a593Smuzhiyun  * PTD  - Pull type Down
15*4882a593Smuzhiyun  * PTU  - Pull type Up
16*4882a593Smuzhiyun  * DIS  - Pull type selection is inactive
17*4882a593Smuzhiyun  * EN   - Pull type selection is active
18*4882a593Smuzhiyun  * SB_LOW - Standby mode configuration: Output low-level
19*4882a593Smuzhiyun  * SB_HI - Standby mode configuration: Output high-level
20*4882a593Smuzhiyun  * SB_HIZ - Standby mode configuration: Output hi-impedence
21*4882a593Smuzhiyun  * SB_PD - Standby mode pull-down enabled
22*4882a593Smuzhiyun  * SB_PU - Standby mode pull-up enabled
23*4882a593Smuzhiyun  * WKEN - Wakeup input enabled
24*4882a593Smuzhiyun  * M0   - Mode 0
25*4882a593Smuzhiyun  */
26*4882a593Smuzhiyun 
27*4882a593Smuzhiyun #define IEN	(1 << 8)
28*4882a593Smuzhiyun 
29*4882a593Smuzhiyun #define IDIS	(0 << 8)
30*4882a593Smuzhiyun #define PTU	(1 << 4)
31*4882a593Smuzhiyun #define PTD	(0 << 4)
32*4882a593Smuzhiyun #define EN	(1 << 3)
33*4882a593Smuzhiyun #define DIS	(0 << 3)
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun #define SB_LOW (1 << 9)
36*4882a593Smuzhiyun #define SB_HI (5 << 9)
37*4882a593Smuzhiyun #define SB_HIZ (2 << 9)
38*4882a593Smuzhiyun #define SB_PD (1 << 12)
39*4882a593Smuzhiyun #define SB_PU (3 << 12)
40*4882a593Smuzhiyun #define WKEN (1 << 14)
41*4882a593Smuzhiyun 
42*4882a593Smuzhiyun #define M0	0
43*4882a593Smuzhiyun #define M1	1
44*4882a593Smuzhiyun #define M2	2
45*4882a593Smuzhiyun #define M3	3
46*4882a593Smuzhiyun #define M4	4
47*4882a593Smuzhiyun #define M5	5
48*4882a593Smuzhiyun #define M6	6
49*4882a593Smuzhiyun #define M7	7
50*4882a593Smuzhiyun 
51*4882a593Smuzhiyun /*
52*4882a593Smuzhiyun  * To get the actual address the offset has to be added
53*4882a593Smuzhiyun  * to OMAP34XX_CTRL_BASE
54*4882a593Smuzhiyun  */
55*4882a593Smuzhiyun 
56*4882a593Smuzhiyun /*SDRC*/
57*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D0		0x0030
58*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D1		0x0032
59*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D2		0x0034
60*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D3		0x0036
61*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D4		0x0038
62*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D5		0x003A
63*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D6		0x003C
64*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D7		0x003E
65*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D8		0x0040
66*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D9		0x0042
67*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D10	0x0044
68*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D11	0x0046
69*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D12	0x0048
70*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D13	0x004A
71*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D14	0x004C
72*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D15	0x004E
73*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D16	0x0050
74*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D17	0x0052
75*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D18	0x0054
76*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D19	0x0056
77*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D20	0x0058
78*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D21	0x005A
79*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D22	0x005C
80*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D23	0x005E
81*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D24	0x0060
82*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D25	0x0062
83*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D26	0x0064
84*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D27	0x0066
85*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D28	0x0068
86*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D29	0x006A
87*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D30	0x006C
88*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_D31	0x006E
89*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_CLK	0x0070
90*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_DQS0	0x0072
91*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_DQS1	0x0074
92*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_DQS2	0x0076
93*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_DQS3	0x0078
94*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_BA0	0x05A0
95*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_BA1	0x05A2
96*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_A0		0x05A4
97*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_A1		0x05A6
98*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_A2		0x05A8
99*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_A3		0x05AA
100*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_A4		0x05AC
101*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_A5		0x05AE
102*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_A6		0x05B0
103*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_A7		0x05B2
104*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_A8		0x05B4
105*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_A9		0x05B6
106*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_A10	0x05B8
107*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_A11	0x05BA
108*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_A12	0x05BC
109*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_A13	0x05BE
110*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_A14	0x05C0
111*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_NCS0	0x05C2
112*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_NCS1	0x05C4
113*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_NCLK	0x05C6
114*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_NRAS	0x05C8
115*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_NCAS	0x05CA
116*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_NWE	0x05CC
117*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_DM0	0x05CE
118*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_DM1	0x05D0
119*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_DM2	0x05D2
120*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_DM3	0x05D4
121*4882a593Smuzhiyun /*GPMC*/
122*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_A1		0x007A
123*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_A2		0x007C
124*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_A3		0x007E
125*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_A4		0x0080
126*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_A5		0x0082
127*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_A6		0x0084
128*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_A7		0x0086
129*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_A8		0x0088
130*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_A9		0x008A
131*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_A10	0x008C
132*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_A11	0x0264
133*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_D0		0x008E
134*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_D1		0x0090
135*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_D2		0x0092
136*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_D3		0x0094
137*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_D4		0x0096
138*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_D5		0x0098
139*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_D6		0x009A
140*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_D7		0x009C
141*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_D8		0x009E
142*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_D9		0x00A0
143*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_D10	0x00A2
144*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_D11	0x00A4
145*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_D12	0x00A6
146*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_D13	0x00A8
147*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_D14	0x00AA
148*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_D15	0x00AC
149*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_NCS0	0x00AE
150*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_NCS1	0x00B0
151*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_NCS2	0x00B2
152*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_NCS3	0x00B4
153*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_NCS4	0x00B6
154*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_NCS5	0x00B8
155*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_NCS6	0x00BA
156*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_NCS7	0x00BC
157*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_CLK	0x00BE
158*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_NADV_ALE	0x00C0
159*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_NOE	0x00C2
160*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_NWE	0x00C4
161*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_NBE0_CLE	0x00C6
162*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_NBE1	0x00C8
163*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_NWP	0x00CA
164*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_WAIT0	0x00CC
165*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_WAIT1	0x00CE
166*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_WAIT2	0x00D0
167*4882a593Smuzhiyun #define CONTROL_PADCONF_GPMC_WAIT3	0x00D2
168*4882a593Smuzhiyun /*DSS*/
169*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_PCLK	0x00D4
170*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_HSYNC	0x00D6
171*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_VSYNC	0x00D8
172*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_ACBIAS	0x00DA
173*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA0	0x00DC
174*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA1	0x00DE
175*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA2	0x00E0
176*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA3	0x00E2
177*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA4	0x00E4
178*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA5	0x00E6
179*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA6	0x00E8
180*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA7	0x00EA
181*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA8	0x00EC
182*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA9	0x00EE
183*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA10	0x00F0
184*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA11	0x00F2
185*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA12	0x00F4
186*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA13	0x00F6
187*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA14	0x00F8
188*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA15	0x00FA
189*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA16	0x00FC
190*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA17	0x00FE
191*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA18	0x0100
192*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA19	0x0102
193*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA20	0x0104
194*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA21	0x0106
195*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA22	0x0108
196*4882a593Smuzhiyun #define CONTROL_PADCONF_DSS_DATA23	0x010A
197*4882a593Smuzhiyun /*CAMERA*/
198*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_HS		0x010C
199*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_VS		0x010E
200*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_XCLKA	0x0110
201*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_PCLK	0x0112
202*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_FLD		0x0114
203*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_D0		0x0116
204*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_D1		0x0118
205*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_D2		0x011A
206*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_D3		0x011C
207*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_D4		0x011E
208*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_D5		0x0120
209*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_D6		0x0122
210*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_D7		0x0124
211*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_D8		0x0126
212*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_D9		0x0128
213*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_D10		0x012A
214*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_D11		0x012C
215*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_XCLKB	0x012E
216*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_WEN		0x0130
217*4882a593Smuzhiyun #define CONTROL_PADCONF_CAM_STROBE	0x0132
218*4882a593Smuzhiyun #define CONTROL_PADCONF_CSI2_DX0	0x0134
219*4882a593Smuzhiyun #define CONTROL_PADCONF_CSI2_DY0	0x0136
220*4882a593Smuzhiyun #define CONTROL_PADCONF_CSI2_DX1	0x0138
221*4882a593Smuzhiyun #define CONTROL_PADCONF_CSI2_DY1	0x013A
222*4882a593Smuzhiyun /*Audio Interface */
223*4882a593Smuzhiyun #define CONTROL_PADCONF_MCBSP2_FSX	0x013C
224*4882a593Smuzhiyun #define CONTROL_PADCONF_MCBSP2_CLKX	0x013E
225*4882a593Smuzhiyun #define CONTROL_PADCONF_MCBSP2_DR	0x0140
226*4882a593Smuzhiyun #define CONTROL_PADCONF_MCBSP2_DX	0x0142
227*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC1_CLK	0x0144
228*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC1_CMD	0x0146
229*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC1_DAT0	0x0148
230*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC1_DAT1	0x014A
231*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC1_DAT2	0x014C
232*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC1_DAT3	0x014E
233*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC1_DAT4	0x0150
234*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC1_DAT5	0x0152
235*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC1_DAT6	0x0154
236*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC1_DAT7	0x0156
237*4882a593Smuzhiyun /*Wireless LAN */
238*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC2_CLK	0x0158
239*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC2_CMD	0x015A
240*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC2_DAT0	0x015C
241*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC2_DAT1	0x015E
242*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC2_DAT2	0x0160
243*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC2_DAT3	0x0162
244*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC2_DAT4	0x0164
245*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC2_DAT5	0x0166
246*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC2_DAT6	0x0168
247*4882a593Smuzhiyun #define CONTROL_PADCONF_MMC2_DAT7	0x016A
248*4882a593Smuzhiyun /*Bluetooth*/
249*4882a593Smuzhiyun #define CONTROL_PADCONF_MCBSP3_DX	0x016C
250*4882a593Smuzhiyun #define CONTROL_PADCONF_MCBSP3_DR	0x016E
251*4882a593Smuzhiyun #define CONTROL_PADCONF_MCBSP3_CLKX	0x0170
252*4882a593Smuzhiyun #define CONTROL_PADCONF_MCBSP3_FSX	0x0172
253*4882a593Smuzhiyun #define CONTROL_PADCONF_UART2_CTS	0x0174
254*4882a593Smuzhiyun #define CONTROL_PADCONF_UART2_RTS	0x0176
255*4882a593Smuzhiyun #define CONTROL_PADCONF_UART2_TX	0x0178
256*4882a593Smuzhiyun #define CONTROL_PADCONF_UART2_RX	0x017A
257*4882a593Smuzhiyun /*Modem Interface */
258*4882a593Smuzhiyun #define CONTROL_PADCONF_UART1_TX	0x017C
259*4882a593Smuzhiyun #define CONTROL_PADCONF_UART1_RTS	0x017E
260*4882a593Smuzhiyun #define CONTROL_PADCONF_UART1_CTS	0x0180
261*4882a593Smuzhiyun #define CONTROL_PADCONF_UART1_RX	0x0182
262*4882a593Smuzhiyun #define CONTROL_PADCONF_MCBSP4_CLKX	0x0184
263*4882a593Smuzhiyun #define CONTROL_PADCONF_MCBSP4_DR	0x0186
264*4882a593Smuzhiyun #define CONTROL_PADCONF_MCBSP4_DX	0x0188
265*4882a593Smuzhiyun #define CONTROL_PADCONF_MCBSP4_FSX	0x018A
266*4882a593Smuzhiyun #define CONTROL_PADCONF_MCBSP1_CLKR	0x018C
267*4882a593Smuzhiyun #define CONTROL_PADCONF_MCBSP1_FSR	0x018E
268*4882a593Smuzhiyun #define CONTROL_PADCONF_MCBSP1_DX	0x0190
269*4882a593Smuzhiyun #define CONTROL_PADCONF_MCBSP1_DR	0x0192
270*4882a593Smuzhiyun #define CONTROL_PADCONF_MCBSP_CLKS	0x0194
271*4882a593Smuzhiyun #define CONTROL_PADCONF_MCBSP1_FSX	0x0196
272*4882a593Smuzhiyun #define CONTROL_PADCONF_MCBSP1_CLKX	0x0198
273*4882a593Smuzhiyun /*Serial Interface*/
274*4882a593Smuzhiyun #define CONTROL_PADCONF_UART3_CTS_RCTX	0x019A
275*4882a593Smuzhiyun #define CONTROL_PADCONF_UART3_RTS_SD	0x019C
276*4882a593Smuzhiyun #define CONTROL_PADCONF_UART3_RX_IRRX	0x019E
277*4882a593Smuzhiyun #define CONTROL_PADCONF_UART3_TX_IRTX	0x01A0
278*4882a593Smuzhiyun #define CONTROL_PADCONF_HSUSB0_CLK	0x01A2
279*4882a593Smuzhiyun #define CONTROL_PADCONF_HSUSB0_STP	0x01A4
280*4882a593Smuzhiyun #define CONTROL_PADCONF_HSUSB0_DIR	0x01A6
281*4882a593Smuzhiyun #define CONTROL_PADCONF_HSUSB0_NXT	0x01A8
282*4882a593Smuzhiyun #define CONTROL_PADCONF_HSUSB0_DATA0	0x01AA
283*4882a593Smuzhiyun #define CONTROL_PADCONF_HSUSB0_DATA1	0x01AC
284*4882a593Smuzhiyun #define CONTROL_PADCONF_HSUSB0_DATA2	0x01AE
285*4882a593Smuzhiyun #define CONTROL_PADCONF_HSUSB0_DATA3	0x01B0
286*4882a593Smuzhiyun #define CONTROL_PADCONF_HSUSB0_DATA4	0x01B2
287*4882a593Smuzhiyun #define CONTROL_PADCONF_HSUSB0_DATA5	0x01B4
288*4882a593Smuzhiyun #define CONTROL_PADCONF_HSUSB0_DATA6	0x01B6
289*4882a593Smuzhiyun #define CONTROL_PADCONF_HSUSB0_DATA7	0x01B8
290*4882a593Smuzhiyun #define CONTROL_PADCONF_I2C1_SCL	0x01BA
291*4882a593Smuzhiyun #define CONTROL_PADCONF_I2C1_SDA	0x01BC
292*4882a593Smuzhiyun #define CONTROL_PADCONF_I2C2_SCL	0x01BE
293*4882a593Smuzhiyun #define CONTROL_PADCONF_I2C2_SDA	0x01C0
294*4882a593Smuzhiyun #define CONTROL_PADCONF_I2C3_SCL	0x01C2
295*4882a593Smuzhiyun #define CONTROL_PADCONF_I2C3_SDA	0x01C4
296*4882a593Smuzhiyun #define CONTROL_PADCONF_I2C4_SCL	0x0A00
297*4882a593Smuzhiyun #define CONTROL_PADCONF_I2C4_SDA	0x0A02
298*4882a593Smuzhiyun #define CONTROL_PADCONF_HDQ_SIO		0x01C6
299*4882a593Smuzhiyun #define CONTROL_PADCONF_MCSPI1_CLK	0x01C8
300*4882a593Smuzhiyun #define CONTROL_PADCONF_MCSPI1_SIMO	0x01CA
301*4882a593Smuzhiyun #define CONTROL_PADCONF_MCSPI1_SOMI	0x01CC
302*4882a593Smuzhiyun #define CONTROL_PADCONF_MCSPI1_CS0	0x01CE
303*4882a593Smuzhiyun #define CONTROL_PADCONF_MCSPI1_CS1	0x01D0
304*4882a593Smuzhiyun #define CONTROL_PADCONF_MCSPI1_CS2	0x01D2
305*4882a593Smuzhiyun #define CONTROL_PADCONF_MCSPI1_CS3	0x01D4
306*4882a593Smuzhiyun #define CONTROL_PADCONF_MCSPI2_CLK	0x01D6
307*4882a593Smuzhiyun #define CONTROL_PADCONF_MCSPI2_SIMO	0x01D8
308*4882a593Smuzhiyun #define CONTROL_PADCONF_MCSPI2_SOMI	0x01DA
309*4882a593Smuzhiyun #define CONTROL_PADCONF_MCSPI2_CS0	0x01DC
310*4882a593Smuzhiyun #define CONTROL_PADCONF_MCSPI2_CS1	0x01DE
311*4882a593Smuzhiyun /*Control and debug */
312*4882a593Smuzhiyun #define CONTROL_PADCONF_SYS_32K		0x0A04
313*4882a593Smuzhiyun #define CONTROL_PADCONF_SYS_CLKREQ	0x0A06
314*4882a593Smuzhiyun #define CONTROL_PADCONF_SYS_NIRQ	0x01E0
315*4882a593Smuzhiyun #define CONTROL_PADCONF_SYS_BOOT0	0x0A0A
316*4882a593Smuzhiyun #define CONTROL_PADCONF_SYS_BOOT1	0x0A0C
317*4882a593Smuzhiyun #define CONTROL_PADCONF_SYS_BOOT2	0x0A0E
318*4882a593Smuzhiyun #define CONTROL_PADCONF_SYS_BOOT3	0x0A10
319*4882a593Smuzhiyun #define CONTROL_PADCONF_SYS_BOOT4	0x0A12
320*4882a593Smuzhiyun #define CONTROL_PADCONF_SYS_BOOT5	0x0A14
321*4882a593Smuzhiyun #define CONTROL_PADCONF_SYS_BOOT6	0x0A16
322*4882a593Smuzhiyun #define CONTROL_PADCONF_SYS_OFF_MODE	0x0A18
323*4882a593Smuzhiyun #define CONTROL_PADCONF_SYS_CLKOUT1	0x0A1A
324*4882a593Smuzhiyun #define CONTROL_PADCONF_SYS_CLKOUT2	0x01E2
325*4882a593Smuzhiyun #define CONTROL_PADCONF_JTAG_NTRST	0x0A1C
326*4882a593Smuzhiyun #define CONTROL_PADCONF_JTAG_TCK	0x0A1E
327*4882a593Smuzhiyun #define CONTROL_PADCONF_JTAG_TMS	0x0A20
328*4882a593Smuzhiyun #define CONTROL_PADCONF_JTAG_TDI	0x0A22
329*4882a593Smuzhiyun #define CONTROL_PADCONF_JTAG_EMU0	0x0A24
330*4882a593Smuzhiyun #define CONTROL_PADCONF_JTAG_EMU1	0x0A26
331*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_CLK		0x0A28
332*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_CTL		0x0A2A
333*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D0		0x0A2C
334*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D1		0x0A2E
335*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D2		0x0A30
336*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D3		0x0A32
337*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D4		0x0A34
338*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D5		0x0A36
339*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D6		0x0A38
340*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D7		0x0A3A
341*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D8		0x0A3C
342*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D9		0x0A3E
343*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D10		0x0A40
344*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D11		0x0A42
345*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D12		0x0A44
346*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D13		0x0A46
347*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D14		0x0A48
348*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D15		0x0A4A
349*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_CLK_ES2	0x05D8
350*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_CTL_ES2	0x05DA
351*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D0_ES2	0x05DC
352*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D1_ES2	0x05DE
353*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D2_ES2	0x05E0
354*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D3_ES2	0x05E2
355*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D4_ES2	0x05E4
356*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D5_ES2	0x05E6
357*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D6_ES2	0x05E8
358*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D7_ES2	0x05EA
359*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D8_ES2	0x05EC
360*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D9_ES2	0x05EE
361*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D10_ES2	0x05F0
362*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D11_ES2	0x05F2
363*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D12_ES2	0x05F4
364*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D13_ES2	0x05F6
365*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D14_ES2	0x05F8
366*4882a593Smuzhiyun #define CONTROL_PADCONF_ETK_D15_ES2	0x05FA
367*4882a593Smuzhiyun #define CONTROL_PADCONF_JTAG_RTCK	0x0A4E
368*4882a593Smuzhiyun #define CONTROL_PADCONF_JTAG_TDO	0x0A50
369*4882a593Smuzhiyun /*Die to Die */
370*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD0	0x01E4
371*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD1	0x01E6
372*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD2	0x01E8
373*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD3	0x01EA
374*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD4	0x01EC
375*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD5	0x01EE
376*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD6	0x01F0
377*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD7	0x01F2
378*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD8	0x01F4
379*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD9	0x01F6
380*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD10	0x01F8
381*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD11	0x01FA
382*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD12	0x01FC
383*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD13	0x01FE
384*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD14	0x0200
385*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD15	0x0202
386*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD16	0x0204
387*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD17	0x0206
388*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD18	0x0208
389*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD19	0x020A
390*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD20	0x020C
391*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD21	0x020E
392*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD22	0x0210
393*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD23	0x0212
394*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD24	0x0214
395*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD25	0x0216
396*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD26	0x0218
397*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD27	0x021A
398*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD28	0x021C
399*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD29	0x021E
400*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD30	0x0220
401*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD31	0x0222
402*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD32	0x0224
403*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD33	0x0226
404*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD34	0x0228
405*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD35	0x022A
406*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MCAD36	0x022C
407*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_CLK26MI	0x022E
408*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_NRESPWRON	0x0230
409*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_NRESWARM	0x0232
410*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_ARM9NIRQ	0x0234
411*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_UMA2P6FIQ	0x0236
412*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_SPINT	0x0238
413*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_FRINT	0x023A
414*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_DMAREQ0	0x023C
415*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_DMAREQ1	0x023E
416*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_DMAREQ2	0x0240
417*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_DMAREQ3	0x0242
418*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_N3GTRST	0x0244
419*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_N3GTDI	0x0246
420*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_N3GTDO	0x0248
421*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_N3GTMS	0x024A
422*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_N3GTCK	0x024C
423*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_N3GRTCK	0x024E
424*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MSTDBY	0x0250
425*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_SWAKEUP	0x0A4C
426*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_IDLEREQ	0x0252
427*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_IDLEACK	0x0254
428*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MWRITE	0x0256
429*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_SWRITE	0x0258
430*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MREAD	0x025A
431*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_SREAD	0x025C
432*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_MBUSFLAG	0x025E
433*4882a593Smuzhiyun #define CONTROL_PADCONF_D2D_SBUSFLAG	0x0260
434*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_CKE0	0x0262
435*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_CKE1	0x0264
436*4882a593Smuzhiyun 
437*4882a593Smuzhiyun /* AM3517 specific mux configuration */
438*4882a593Smuzhiyun #define CONTROL_PADCONF_SYS_NRESWARM	0x0A08
439*4882a593Smuzhiyun /* CCDC */
440*4882a593Smuzhiyun #define CONTROL_PADCONF_CCDC_PCLK	0x01E4
441*4882a593Smuzhiyun #define CONTROL_PADCONF_CCDC_FIELD	0x01E6
442*4882a593Smuzhiyun #define CONTROL_PADCONF_CCDC_HD		0x01E8
443*4882a593Smuzhiyun #define CONTROL_PADCONF_CCDC_VD		0x01EA
444*4882a593Smuzhiyun #define CONTROL_PADCONF_CCDC_WEN	0x01EC
445*4882a593Smuzhiyun #define CONTROL_PADCONF_CCDC_DATA0	0x01EE
446*4882a593Smuzhiyun #define CONTROL_PADCONF_CCDC_DATA1	0x01F0
447*4882a593Smuzhiyun #define CONTROL_PADCONF_CCDC_DATA2	0x01F2
448*4882a593Smuzhiyun #define CONTROL_PADCONF_CCDC_DATA3	0x01F4
449*4882a593Smuzhiyun #define CONTROL_PADCONF_CCDC_DATA4	0x01F6
450*4882a593Smuzhiyun #define CONTROL_PADCONF_CCDC_DATA5	0x01F8
451*4882a593Smuzhiyun #define CONTROL_PADCONF_CCDC_DATA6	0x01FA
452*4882a593Smuzhiyun #define CONTROL_PADCONF_CCDC_DATA7	0x01FC
453*4882a593Smuzhiyun /* RMII */
454*4882a593Smuzhiyun #define CONTROL_PADCONF_RMII_MDIO_DATA	0x01FE
455*4882a593Smuzhiyun #define CONTROL_PADCONF_RMII_MDIO_CLK	0x0200
456*4882a593Smuzhiyun #define CONTROL_PADCONF_RMII_RXD0	0x0202
457*4882a593Smuzhiyun #define CONTROL_PADCONF_RMII_RXD1	0x0204
458*4882a593Smuzhiyun #define CONTROL_PADCONF_RMII_CRS_DV	0x0206
459*4882a593Smuzhiyun #define CONTROL_PADCONF_RMII_RXER	0x0208
460*4882a593Smuzhiyun #define CONTROL_PADCONF_RMII_TXD0	0x020A
461*4882a593Smuzhiyun #define CONTROL_PADCONF_RMII_TXD1	0x020C
462*4882a593Smuzhiyun #define CONTROL_PADCONF_RMII_TXEN	0x020E
463*4882a593Smuzhiyun #define CONTROL_PADCONF_RMII_50MHZ_CLK	0x0210
464*4882a593Smuzhiyun #define CONTROL_PADCONF_USB0_DRVBUS	0x0212
465*4882a593Smuzhiyun /* CAN */
466*4882a593Smuzhiyun #define CONTROL_PADCONF_HECC1_TXD	0x0214
467*4882a593Smuzhiyun #define CONTROL_PADCONF_HECC1_RXD	0x0216
468*4882a593Smuzhiyun 
469*4882a593Smuzhiyun #define CONTROL_PADCONF_SYS_BOOT7	0x0218
470*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_DQS0N	0x021A
471*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_DQS1N	0x021C
472*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_DQS2N	0x021E
473*4882a593Smuzhiyun #define CONTROL_PADCONF_SDRC_DQS3N	0x0220
474*4882a593Smuzhiyun #define CONTROL_PADCONF_STRBEN_DLY0	0x0222
475*4882a593Smuzhiyun #define CONTROL_PADCONF_STRBEN_DLY1	0x0224
476*4882a593Smuzhiyun #define CONTROL_PADCONF_SYS_BOOT8	0x0226
477*4882a593Smuzhiyun 
478*4882a593Smuzhiyun /* AM/DM37xx specific */
479*4882a593Smuzhiyun #define CONTROL_PADCONF_GPIO112		0x0134
480*4882a593Smuzhiyun #define CONTROL_PADCONF_GPIO113		0x0136
481*4882a593Smuzhiyun #define CONTROL_PADCONF_GPIO114		0x0138
482*4882a593Smuzhiyun #define CONTROL_PADCONF_GPIO115		0x013A
483*4882a593Smuzhiyun #define CONTROL_PADCONF_GPIO127		0x0A54
484*4882a593Smuzhiyun #define CONTROL_PADCONF_GPIO126		0x0A56
485*4882a593Smuzhiyun #define CONTROL_PADCONF_GPIO128		0x0A58
486*4882a593Smuzhiyun #define CONTROL_PADCONF_GPIO129		0x0A5A
487*4882a593Smuzhiyun 
488*4882a593Smuzhiyun /* AM/DM37xx specific: gpio_127, gpio_127 and gpio_129 require configuration
489*4882a593Smuzhiyun  * of the extended drain cells */
490*4882a593Smuzhiyun #define OMAP34XX_CTRL_WKUP_CTRL		(OMAP34XX_CTRL_BASE + 0x0A5C)
491*4882a593Smuzhiyun #define OMAP34XX_CTRL_WKUP_CTRL_GPIO_IO_PWRDNZ	(1<<6)
492*4882a593Smuzhiyun 
493*4882a593Smuzhiyun #define MUX_VAL(OFFSET, VALUE)\
494*4882a593Smuzhiyun 	writew((VALUE), OMAP34XX_CTRL_BASE + (OFFSET));
495*4882a593Smuzhiyun 
496*4882a593Smuzhiyun #define	CP(x)	(CONTROL_PADCONF_##x)
497*4882a593Smuzhiyun 
498*4882a593Smuzhiyun #endif
499