blob: 30bfad7c20ff07ef0c407da87e0f1b38b26f5951 [file] [log] [blame]
Steve Sakoman9bb65b52010-07-15 13:43:10 -07001/*
2 * (C) Copyright 2004-2009
3 * Texas Instruments Incorporated
4 * Richard Woodruff <r-woodruff2@ti.com>
5 * Aneesh V <aneesh@ti.com>
6 * Balaji Krishnamoorthy <balajitk@ti.com>
7 *
8 * See file CREDITS for list of people who contributed to this
9 * project.
10 *
11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of
14 * the License, or (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
24 * MA 02111-1307 USA
25 */
26#ifndef _MUX_OMAP4_H_
27#define _MUX_OMAP4_H_
28
29#include <asm/types.h>
30
31struct pad_conf_entry {
32
33 u16 offset;
34
35 u16 val;
36
37} __attribute__ ((packed));
38
39#ifdef CONFIG_OFF_PADCONF
40#define OFF_PD (1 << 12)
41#define OFF_PU (3 << 12)
42#define OFF_OUT_PTD (0 << 10)
43#define OFF_OUT_PTU (2 << 10)
44#define OFF_IN (1 << 10)
45#define OFF_OUT (0 << 10)
46#define OFF_EN (1 << 9)
47#else
48#define OFF_PD (0 << 12)
49#define OFF_PU (0 << 12)
50#define OFF_OUT_PTD (0 << 10)
51#define OFF_OUT_PTU (0 << 10)
52#define OFF_IN (0 << 10)
53#define OFF_OUT (0 << 10)
54#define OFF_EN (0 << 9)
55#endif
56
57#define IEN (1 << 8)
58#define IDIS (0 << 8)
59#define PTU (3 << 3)
60#define PTD (1 << 3)
61#define EN (1 << 3)
62#define DIS (0 << 3)
63
64#define M0 0
65#define M1 1
66#define M2 2
67#define M3 3
68#define M4 4
69#define M5 5
70#define M6 6
71#define M7 7
72
73#define SAFE_MODE M7
74
75#ifdef CONFIG_OFF_PADCONF
76#define OFF_IN_PD (OFF_PD | OFF_IN | OFF_EN)
77#define OFF_IN_PU (OFF_PU | OFF_IN | OFF_EN)
78#define OFF_OUT_PD (OFF_OUT_PTD | OFF_OUT | OFF_EN)
79#define OFF_OUT_PU (OFF_OUT_PTU | OFF_OUT | OFF_EN)
80#else
81#define OFF_IN_PD 0
82#define OFF_IN_PU 0
83#define OFF_OUT_PD 0
84#define OFF_OUT_PU 0
85#endif
86
87#define CORE_REVISION 0x0000
88#define CORE_HWINFO 0x0004
89#define CORE_SYSCONFIG 0x0010
90#define GPMC_AD0 0x0040
91#define GPMC_AD1 0x0042
92#define GPMC_AD2 0x0044
93#define GPMC_AD3 0x0046
94#define GPMC_AD4 0x0048
95#define GPMC_AD5 0x004A
96#define GPMC_AD6 0x004C
97#define GPMC_AD7 0x004E
98#define GPMC_AD8 0x0050
99#define GPMC_AD9 0x0052
100#define GPMC_AD10 0x0054
101#define GPMC_AD11 0x0056
102#define GPMC_AD12 0x0058
103#define GPMC_AD13 0x005A
104#define GPMC_AD14 0x005C
105#define GPMC_AD15 0x005E
106#define GPMC_A16 0x0060
107#define GPMC_A17 0x0062
108#define GPMC_A18 0x0064
109#define GPMC_A19 0x0066
110#define GPMC_A20 0x0068
111#define GPMC_A21 0x006A
112#define GPMC_A22 0x006C
113#define GPMC_A23 0x006E
114#define GPMC_A24 0x0070
115#define GPMC_A25 0x0072
116#define GPMC_NCS0 0x0074
117#define GPMC_NCS1 0x0076
118#define GPMC_NCS2 0x0078
119#define GPMC_NCS3 0x007A
120#define GPMC_NWP 0x007C
121#define GPMC_CLK 0x007E
122#define GPMC_NADV_ALE 0x0080
123#define GPMC_NOE 0x0082
124#define GPMC_NWE 0x0084
125#define GPMC_NBE0_CLE 0x0086
126#define GPMC_NBE1 0x0088
127#define GPMC_WAIT0 0x008A
128#define GPMC_WAIT1 0x008C
129#define C2C_DATA11 0x008E
130#define C2C_DATA12 0x0090
131#define C2C_DATA13 0x0092
132#define C2C_DATA14 0x0094
133#define C2C_DATA15 0x0096
134#define HDMI_HPD 0x0098
135#define HDMI_CEC 0x009A
136#define HDMI_DDC_SCL 0x009C
137#define HDMI_DDC_SDA 0x009E
138#define CSI21_DX0 0x00A0
139#define CSI21_DY0 0x00A2
140#define CSI21_DX1 0x00A4
141#define CSI21_DY1 0x00A6
142#define CSI21_DX2 0x00A8
143#define CSI21_DY2 0x00AA
144#define CSI21_DX3 0x00AC
145#define CSI21_DY3 0x00AE
146#define CSI21_DX4 0x00B0
147#define CSI21_DY4 0x00B2
148#define CSI22_DX0 0x00B4
149#define CSI22_DY0 0x00B6
150#define CSI22_DX1 0x00B8
151#define CSI22_DY1 0x00BA
152#define CAM_SHUTTER 0x00BC
153#define CAM_STROBE 0x00BE
154#define CAM_GLOBALRESET 0x00C0
155#define USBB1_ULPITLL_CLK 0x00C2
156#define USBB1_ULPITLL_STP 0x00C4
157#define USBB1_ULPITLL_DIR 0x00C6
158#define USBB1_ULPITLL_NXT 0x00C8
159#define USBB1_ULPITLL_DAT0 0x00CA
160#define USBB1_ULPITLL_DAT1 0x00CC
161#define USBB1_ULPITLL_DAT2 0x00CE
162#define USBB1_ULPITLL_DAT3 0x00D0
163#define USBB1_ULPITLL_DAT4 0x00D2
164#define USBB1_ULPITLL_DAT5 0x00D4
165#define USBB1_ULPITLL_DAT6 0x00D6
166#define USBB1_ULPITLL_DAT7 0x00D8
167#define USBB1_HSIC_DATA 0x00DA
168#define USBB1_HSIC_STROBE 0x00DC
169#define USBC1_ICUSB_DP 0x00DE
170#define USBC1_ICUSB_DM 0x00E0
171#define SDMMC1_CLK 0x00E2
172#define SDMMC1_CMD 0x00E4
173#define SDMMC1_DAT0 0x00E6
174#define SDMMC1_DAT1 0x00E8
175#define SDMMC1_DAT2 0x00EA
176#define SDMMC1_DAT3 0x00EC
177#define SDMMC1_DAT4 0x00EE
178#define SDMMC1_DAT5 0x00F0
179#define SDMMC1_DAT6 0x00F2
180#define SDMMC1_DAT7 0x00F4
181#define ABE_MCBSP2_CLKX 0x00F6
182#define ABE_MCBSP2_DR 0x00F8
183#define ABE_MCBSP2_DX 0x00FA
184#define ABE_MCBSP2_FSX 0x00FC
185#define ABE_MCBSP1_CLKX 0x00FE
186#define ABE_MCBSP1_DR 0x0100
187#define ABE_MCBSP1_DX 0x0102
188#define ABE_MCBSP1_FSX 0x0104
189#define ABE_PDM_UL_DATA 0x0106
190#define ABE_PDM_DL_DATA 0x0108
191#define ABE_PDM_FRAME 0x010A
192#define ABE_PDM_LB_CLK 0x010C
193#define ABE_CLKS 0x010E
194#define ABE_DMIC_CLK1 0x0110
195#define ABE_DMIC_DIN1 0x0112
196#define ABE_DMIC_DIN2 0x0114
197#define ABE_DMIC_DIN3 0x0116
198#define UART2_CTS 0x0118
199#define UART2_RTS 0x011A
200#define UART2_RX 0x011C
201#define UART2_TX 0x011E
202#define HDQ_SIO 0x0120
203#define I2C1_SCL 0x0122
204#define I2C1_SDA 0x0124
205#define I2C2_SCL 0x0126
206#define I2C2_SDA 0x0128
207#define I2C3_SCL 0x012A
208#define I2C3_SDA 0x012C
209#define I2C4_SCL 0x012E
210#define I2C4_SDA 0x0130
211#define MCSPI1_CLK 0x0132
212#define MCSPI1_SOMI 0x0134
213#define MCSPI1_SIMO 0x0136
214#define MCSPI1_CS0 0x0138
215#define MCSPI1_CS1 0x013A
216#define MCSPI1_CS2 0x013C
217#define MCSPI1_CS3 0x013E
218#define UART3_CTS_RCTX 0x0140
219#define UART3_RTS_SD 0x0142
220#define UART3_RX_IRRX 0x0144
221#define UART3_TX_IRTX 0x0146
222#define SDMMC5_CLK 0x0148
223#define SDMMC5_CMD 0x014A
224#define SDMMC5_DAT0 0x014C
225#define SDMMC5_DAT1 0x014E
226#define SDMMC5_DAT2 0x0150
227#define SDMMC5_DAT3 0x0152
228#define MCSPI4_CLK 0x0154
229#define MCSPI4_SIMO 0x0156
230#define MCSPI4_SOMI 0x0158
231#define MCSPI4_CS0 0x015A
232#define UART4_RX 0x015C
233#define UART4_TX 0x015E
234#define USBB2_ULPITLL_CLK 0x0160
235#define USBB2_ULPITLL_STP 0x0162
236#define USBB2_ULPITLL_DIR 0x0164
237#define USBB2_ULPITLL_NXT 0x0166
238#define USBB2_ULPITLL_DAT0 0x0168
239#define USBB2_ULPITLL_DAT1 0x016A
240#define USBB2_ULPITLL_DAT2 0x016C
241#define USBB2_ULPITLL_DAT3 0x016E
242#define USBB2_ULPITLL_DAT4 0x0170
243#define USBB2_ULPITLL_DAT5 0x0172
244#define USBB2_ULPITLL_DAT6 0x0174
245#define USBB2_ULPITLL_DAT7 0x0176
246#define USBB2_HSIC_DATA 0x0178
247#define USBB2_HSIC_STROBE 0x017A
248#define UNIPRO_TX0 0x017C
249#define UNIPRO_TY0 0x017E
250#define UNIPRO_TX1 0x0180
251#define UNIPRO_TY1 0x0182
252#define UNIPRO_TX2 0x0184
253#define UNIPRO_TY2 0x0186
254#define UNIPRO_RX0 0x0188
255#define UNIPRO_RY0 0x018A
256#define UNIPRO_RX1 0x018C
257#define UNIPRO_RY1 0x018E
258#define UNIPRO_RX2 0x0190
259#define UNIPRO_RY2 0x0192
260#define USBA0_OTG_CE 0x0194
261#define USBA0_OTG_DP 0x0196
262#define USBA0_OTG_DM 0x0198
263#define FREF_CLK1_OUT 0x019A
264#define FREF_CLK2_OUT 0x019C
265#define SYS_NIRQ1 0x019E
266#define SYS_NIRQ2 0x01A0
267#define SYS_BOOT0 0x01A2
268#define SYS_BOOT1 0x01A4
269#define SYS_BOOT2 0x01A6
270#define SYS_BOOT3 0x01A8
271#define SYS_BOOT4 0x01AA
272#define SYS_BOOT5 0x01AC
273#define DPM_EMU0 0x01AE
274#define DPM_EMU1 0x01B0
275#define DPM_EMU2 0x01B2
276#define DPM_EMU3 0x01B4
277#define DPM_EMU4 0x01B6
278#define DPM_EMU5 0x01B8
279#define DPM_EMU6 0x01BA
280#define DPM_EMU7 0x01BC
281#define DPM_EMU8 0x01BE
282#define DPM_EMU9 0x01C0
283#define DPM_EMU10 0x01C2
284#define DPM_EMU11 0x01C4
285#define DPM_EMU12 0x01C6
286#define DPM_EMU13 0x01C8
287#define DPM_EMU14 0x01CA
288#define DPM_EMU15 0x01CC
289#define DPM_EMU16 0x01CE
290#define DPM_EMU17 0x01D0
291#define DPM_EMU18 0x01D2
292#define DPM_EMU19 0x01D4
293#define WAKEUPEVENT_0 0x01D8
294#define WAKEUPEVENT_1 0x01DC
295#define WAKEUPEVENT_2 0x01E0
296#define WAKEUPEVENT_3 0x01E4
297#define WAKEUPEVENT_4 0x01E8
298#define WAKEUPEVENT_5 0x01EC
299#define WAKEUPEVENT_6 0x01F0
300
301#define WKUP_REVISION 0x0000
302#define WKUP_HWINFO 0x0004
303#define WKUP_SYSCONFIG 0x0010
304#define PAD0_SIM_IO 0x0040
305#define PAD1_SIM_CLK 0x0042
306#define PAD0_SIM_RESET 0x0044
307#define PAD1_SIM_CD 0x0046
308#define PAD0_SIM_PWRCTRL 0x0048
309#define PAD1_SR_SCL 0x004A
310#define PAD0_SR_SDA 0x004C
311#define PAD1_FREF_XTAL_IN 0x004E
312#define PAD0_FREF_SLICER_IN 0x0050
313#define PAD1_FREF_CLK_IOREQ 0x0052
314#define PAD0_FREF_CLK0_OUT 0x0054
315#define PAD1_FREF_CLK3_REQ 0x0056
316#define PAD0_FREF_CLK3_OUT 0x0058
317#define PAD1_FREF_CLK4_REQ 0x005A
318#define PAD0_FREF_CLK4_OUT 0x005C
319#define PAD1_SYS_32K 0x005E
320#define PAD0_SYS_NRESPWRON 0x0060
321#define PAD1_SYS_NRESWARM 0x0062
322#define PAD0_SYS_PWR_REQ 0x0064
323#define PAD1_SYS_PWRON_RESET 0x0066
324#define PAD0_SYS_BOOT6 0x0068
325#define PAD1_SYS_BOOT7 0x006A
326#define PAD0_JTAG_NTRST 0x006C
327#define PAD1_JTAG_TCK 0x006D
328#define PAD0_JTAG_RTCK 0x0070
329#define PAD1_JTAG_TMS_TMSC 0x0072
330#define PAD0_JTAG_TDI 0x0074
331#define PAD1_JTAG_TDO 0x0076
332#define PADCONF_WAKEUPEVENT_0 0x007C
333#define CONTROL_SMART1NOPMIO_PADCONF_0 0x05A0
334#define CONTROL_SMART1NOPMIO_PADCONF_1 0x05A4
335#define PADCONF_MODE 0x05A8
336#define CONTROL_XTAL_OSCILLATOR 0x05AC
337#define CONTROL_CONTROL_I2C_2 0x0604
338#define CONTROL_CONTROL_JTAG 0x0608
339#define CONTROL_CONTROL_SYS 0x060C
340#define CONTROL_SPARE_RW 0x0614
341#define CONTROL_SPARE_R 0x0618
342#define CONTROL_SPARE_R_C0 0x061C
343
Aneesh V0fa1d1b2011-07-21 09:29:32 -0400344#define CONTROL_WKUP_PAD1_FREF_CLK4_REQ 0x4A31E05A
Steve Sakoman9bb65b52010-07-15 13:43:10 -0700345#endif /* _MUX_OMAP4_H_ */