xref: /OK3568_Linux_fs/u-boot/board/overo/overo.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * (C) Copyright 2008
3*4882a593Smuzhiyun  * Steve Sakoman <steve@sakoman.com>
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0+
6*4882a593Smuzhiyun  */
7*4882a593Smuzhiyun #ifndef _OVERO_H_
8*4882a593Smuzhiyun #define _OVERO_H_
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun const omap3_sysinfo sysinfo = {
11*4882a593Smuzhiyun 	DDR_STACKED,
12*4882a593Smuzhiyun 	"Gumstix Overo board",
13*4882a593Smuzhiyun #if defined(CONFIG_ENV_IS_IN_ONENAND)
14*4882a593Smuzhiyun 	"OneNAND",
15*4882a593Smuzhiyun #else
16*4882a593Smuzhiyun 	"NAND",
17*4882a593Smuzhiyun #endif
18*4882a593Smuzhiyun };
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun int get_board_revision(void);
21*4882a593Smuzhiyun 
22*4882a593Smuzhiyun /* overo revisions */
23*4882a593Smuzhiyun #define REVISION_0	0x0
24*4882a593Smuzhiyun #define REVISION_1	0x1
25*4882a593Smuzhiyun #define REVISION_2	0x2
26*4882a593Smuzhiyun #define REVISION_3	0x3
27*4882a593Smuzhiyun #define REVISION_4	0x4
28*4882a593Smuzhiyun 
29*4882a593Smuzhiyun /*
30*4882a593Smuzhiyun  * IEN  - Input Enable
31*4882a593Smuzhiyun  * IDIS - Input Disable
32*4882a593Smuzhiyun  * PTD  - Pull type Down
33*4882a593Smuzhiyun  * PTU  - Pull type Up
34*4882a593Smuzhiyun  * DIS  - Pull type selection is inactive
35*4882a593Smuzhiyun  * EN   - Pull type selection is active
36*4882a593Smuzhiyun  * M0   - Mode 0
37*4882a593Smuzhiyun  * The commented string gives the final mux configuration for that pin
38*4882a593Smuzhiyun  */
39*4882a593Smuzhiyun #define MUX_GUMSTIX() \
40*4882a593Smuzhiyun   /*GPMC*/\
41*4882a593Smuzhiyun 	MUX_VAL(CP(GPMC_NCS1),		(IDIS | PTU | EN  | M0)) /*GPMC_nCS1*/\
42*4882a593Smuzhiyun 	MUX_VAL(CP(GPMC_NCS4),		(IDIS | PTU | EN  | M0)) /*GPMC_nCS4*/\
43*4882a593Smuzhiyun 	MUX_VAL(CP(GPMC_NCS5),		(IDIS | PTU | EN  | M0)) /*GPMC_nCS5*/\
44*4882a593Smuzhiyun 	MUX_VAL(CP(GPMC_NCS6),		(IEN  | PTD | DIS | M0)) /*GPMC_nCS6*/\
45*4882a593Smuzhiyun 	MUX_VAL(CP(GPMC_WAIT1),		(IEN  | PTU | EN  | M4)) /*GPIO_63*/\
46*4882a593Smuzhiyun 								 /* - CAM_IRQ*/\
47*4882a593Smuzhiyun 	MUX_VAL(CP(GPMC_WAIT2),		(IEN  | PTU | EN  | M4)) /*GPIO_64*/\
48*4882a593Smuzhiyun 								 /* - SMSC911X_NRES*/\
49*4882a593Smuzhiyun 	MUX_VAL(CP(GPMC_WAIT3),		(IEN  | PTU | DIS | M4)) /*GPIO_65*/\
50*4882a593Smuzhiyun  /*DSS*/\
51*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_PCLK),		(IDIS | PTD | DIS | M0)) /*DSS_PCLK*/\
52*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_HSYNC),		(IDIS | PTD | DIS | M0)) /*DSS_HSYNC*/\
53*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_VSYNC),		(IDIS | PTD | DIS | M0)) /*DSS_VSYNC*/\
54*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_ACBIAS),		(IDIS | PTD | DIS | M0)) /*DSS_ACBIAS*/\
55*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA0),		(IDIS | PTD | DIS | M0)) /*DSS_DATA0*/\
56*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA1),		(IDIS | PTD | DIS | M0)) /*DSS_DATA1*/\
57*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA2),		(IDIS | PTD | DIS | M0)) /*DSS_DATA2*/\
58*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA3),		(IDIS | PTD | DIS | M0)) /*DSS_DATA3*/\
59*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA4),		(IDIS | PTD | DIS | M0)) /*DSS_DATA4*/\
60*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA5),		(IDIS | PTD | DIS | M0)) /*DSS_DATA5*/\
61*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA6),		(IDIS | PTD | DIS | M0)) /*DSS_DATA6*/\
62*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA7),		(IDIS | PTD | DIS | M0)) /*DSS_DATA7*/\
63*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA8),		(IDIS | PTD | DIS | M0)) /*DSS_DATA8*/\
64*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA9),		(IDIS | PTD | DIS | M0)) /*DSS_DATA9*/\
65*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA10),		(IDIS | PTD | DIS | M0)) /*DSS_DATA10*/\
66*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA11),		(IDIS | PTD | DIS | M0)) /*DSS_DATA11*/\
67*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA12),		(IDIS | PTD | DIS | M0)) /*DSS_DATA12*/\
68*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA13),		(IDIS | PTD | DIS | M0)) /*DSS_DATA13*/\
69*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA14),		(IDIS | PTD | DIS | M0)) /*DSS_DATA14*/\
70*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA15),		(IDIS | PTD | DIS | M0)) /*DSS_DATA15*/\
71*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA16),		(IDIS | PTD | DIS | M0)) /*DSS_DATA16*/\
72*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA17),		(IDIS | PTD | DIS | M0)) /*DSS_DATA17*/\
73*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA18),		(IDIS | PTD | DIS | M0)) /*DSS_DATA18*/\
74*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA19),		(IDIS | PTD | DIS | M0)) /*DSS_DATA19*/\
75*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA20),		(IDIS | PTD | DIS | M0)) /*DSS_DATA20*/\
76*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA21),		(IDIS | PTD | DIS | M0)) /*DSS_DATA21*/\
77*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA22),		(IDIS | PTD | DIS | M0)) /*DSS_DATA22*/\
78*4882a593Smuzhiyun 	MUX_VAL(CP(DSS_DATA23),		(IDIS | PTD | DIS | M0)) /*DSS_DATA23*/\
79*4882a593Smuzhiyun  /*CAMERA*/\
80*4882a593Smuzhiyun 	MUX_VAL(CP(CAM_FLD),		(IDIS | PTD | DIS | M4)) /*CAM_FLD*/\
81*4882a593Smuzhiyun 	MUX_VAL(CP(CAM_XCLKB),		(IDIS | PTD | DIS | M0)) /*CAM_XCLKB*/\
82*4882a593Smuzhiyun 	MUX_VAL(CP(CAM_WEN),		(IEN  | PTD | DIS | M0)) /*CAM_WEN*/\
83*4882a593Smuzhiyun 	MUX_VAL(CP(CAM_STROBE),		(IDIS | PTD | DIS | M0)) /*CAM_STROBE*/\
84*4882a593Smuzhiyun 	MUX_VAL(CP(CSI2_DX1),		(IEN  | PTD | EN  | M4)) /*GPIO_114*/\
85*4882a593Smuzhiyun 								 /* - PEN_DOWN*/\
86*4882a593Smuzhiyun  /*Bluetooth*/\
87*4882a593Smuzhiyun 	MUX_VAL(CP(UART2_CTS),		(IEN  | PTD | DIS | M4)) /*GPIO_144 - LCD_EN*/\
88*4882a593Smuzhiyun 	MUX_VAL(CP(UART2_RTS),		(IEN  | PTD | DIS | M4)) /*GPIO_145*/\
89*4882a593Smuzhiyun 	MUX_VAL(CP(UART2_TX),		(IEN  | PTD | DIS | M4)) /*GPIO_146*/\
90*4882a593Smuzhiyun 	MUX_VAL(CP(UART2_RX),		(IEN  | PTD | DIS | M4)) /*GPIO_147*/\
91*4882a593Smuzhiyun 	MUX_VAL(CP(UART1_TX),		(IDIS | PTD | DIS | M0)) /*UART1_TX*/\
92*4882a593Smuzhiyun 	MUX_VAL(CP(UART1_CTS),		(IEN  | PTU | DIS | M4)) /*GPIO_150-MMC3_WP*/\
93*4882a593Smuzhiyun 	MUX_VAL(CP(UART1_RX),		(IEN  | PTD | DIS | M0)) /*UART1_RX*/\
94*4882a593Smuzhiyun  /*Serial Interface*/\
95*4882a593Smuzhiyun 	MUX_VAL(CP(UART3_CTS_RCTX),	(IEN  | PTD | EN  | M0)) /*UART3_CTS_RCTX*/\
96*4882a593Smuzhiyun 	MUX_VAL(CP(HDQ_SIO),		(IDIS | PTU | EN  | M4)) /*HDQ_SIO*/\
97*4882a593Smuzhiyun 	MUX_VAL(CP(MCSPI1_CLK),		(IEN  | PTD | DIS | M0)) /*McSPI1_CLK*/\
98*4882a593Smuzhiyun 	MUX_VAL(CP(MCSPI1_SIMO),	(IEN  | PTD | DIS | M0)) /*McSPI1_SIMO */\
99*4882a593Smuzhiyun 	MUX_VAL(CP(MCSPI1_SOMI),	(IEN  | PTD | DIS | M0)) /*McSPI1_SOMI */\
100*4882a593Smuzhiyun 	MUX_VAL(CP(MCSPI1_CS0),		(IEN  | PTD | EN  | M0)) /*McSPI1_CS0*/\
101*4882a593Smuzhiyun 	MUX_VAL(CP(MCSPI1_CS1),		(IDIS | PTD | EN  | M0)) /*McSPI1_CS1*/\
102*4882a593Smuzhiyun 	MUX_VAL(CP(MCSPI1_CS2),		(IEN  | PTU | DIS | M4)) /*GPIO_176 */\
103*4882a593Smuzhiyun 								 /* - LAN_INTR */\
104*4882a593Smuzhiyun  /*Control and debug */\
105*4882a593Smuzhiyun 	MUX_VAL(CP(SYS_CLKOUT1),	(IEN  | PTU | EN  | M4)) /*GPIO_10*/\
106*4882a593Smuzhiyun 	MUX_VAL(CP(SYS_CLKOUT2),	(IEN  | PTU | EN  | M4)) /*GPIO_186*/\
107*4882a593Smuzhiyun 	MUX_VAL(CP(ETK_CLK_ES2),	(IEN  | PTU | EN  | M2)) /*MMC3_CLK*/\
108*4882a593Smuzhiyun 	MUX_VAL(CP(ETK_CTL_ES2),	(IEN  | PTU | EN  | M2)) /*MMC3_CMD*/\
109*4882a593Smuzhiyun 	MUX_VAL(CP(ETK_D0_ES2),		(IEN  | PTU | EN  | M4)) /*GPIO_14*/\
110*4882a593Smuzhiyun 	MUX_VAL(CP(ETK_D3_ES2),		(IEN  | PTU | EN  | M2)) /*MMC3_DAT3*/\
111*4882a593Smuzhiyun 	MUX_VAL(CP(ETK_D4_ES2),		(IEN  | PTU | EN  | M2)) /*MMC3_DAT0*/\
112*4882a593Smuzhiyun 	MUX_VAL(CP(ETK_D5_ES2),		(IEN  | PTU | EN  | M2)) /*MMC3_DAT1*/\
113*4882a593Smuzhiyun 	MUX_VAL(CP(ETK_D6_ES2),		(IEN  | PTU | EN  | M2)) /*MMC3_DAT2*/\
114*4882a593Smuzhiyun 	MUX_VAL(CP(ETK_D7_ES2),		(IEN  | PTU | EN  | M4)) /*GPIO_21*/\
115*4882a593Smuzhiyun 	MUX_VAL(CP(ETK_D8_ES2),		(IEN  | PTU | EN  | M4)) /*GPIO_22*/\
116*4882a593Smuzhiyun 	MUX_VAL(CP(ETK_D9_ES2),		(IEN  | PTU | EN  | M4)) /*GPIO_23*/\
117*4882a593Smuzhiyun 
118*4882a593Smuzhiyun #define MUX_OVERO_SDIO2_DIRECT() \
119*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_CLK),		(IEN  | PTU | EN  | M0)) /*MMC2_CLK*/\
120*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_CMD),		(IEN  | PTU | EN  | M0)) /*MMC2_CMD*/\
121*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_DAT0),		(IEN  | PTU | EN  | M0)) /*MMC2_DAT0*/\
122*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_DAT1),		(IEN  | PTU | EN  | M0)) /*MMC2_DAT1*/\
123*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_DAT2),		(IEN  | PTU | EN  | M0)) /*MMC2_DAT2*/\
124*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_DAT3),		(IEN  | PTU | EN  | M0)) /*MMC2_DAT3*/\
125*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_DAT4),		(IEN  | PTU | EN  | M0)) /*MMC2_DAT4*/\
126*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_DAT5),		(IEN  | PTU | EN  | M0)) /*MMC2_DAT5*/\
127*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_DAT6),		(IEN  | PTU | EN  | M0)) /*MMC2_DAT6*/\
128*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_DAT7),		(IEN  | PTU | EN  | M0)) /*MMC2_DAT7*/\
129*4882a593Smuzhiyun 	MUX_VAL(CP(MMC1_DAT4),		(IEN  | PTD | EN  | M4)) /*GPIO_126*/\
130*4882a593Smuzhiyun 	MUX_VAL(CP(MMC1_DAT5),		(IEN  | PTU | EN  | M4)) /*GPIO_127*/\
131*4882a593Smuzhiyun 	MUX_VAL(CP(MMC1_DAT6),		(IEN  | PTU | EN  | M4)) /*GPIO_128*/\
132*4882a593Smuzhiyun 	MUX_VAL(CP(MMC1_DAT7),		(IEN  | PTU | EN  | M4)) /*GPIO_129*/
133*4882a593Smuzhiyun 
134*4882a593Smuzhiyun #define MUX_OVERO_SDIO2_TRANSCEIVER() \
135*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_CLK),		(IEN  | PTU | EN  | M0)) /*MMC2_CLK*/\
136*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_CMD),		(IEN  | PTU | EN  | M0)) /*MMC2_CMD*/\
137*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_DAT0),		(IEN  | PTU | EN  | M0)) /*MMC2_DAT0*/\
138*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_DAT1),		(IEN  | PTU | EN  | M0)) /*MMC2_DAT1*/\
139*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_DAT2),		(IEN  | PTU | EN  | M0)) /*MMC2_DAT2*/\
140*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_DAT3),		(IEN  | PTU | EN  | M0)) /*MMC2_DAT3*/\
141*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_DAT4),		(IEN  | PTU | EN  | M1)) /*MMC2_DIR_DAT0*/\
142*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_DAT5),		(IEN  | PTU | EN  | M1)) /*MMC2_DIR_DAT1*/\
143*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_DAT6),		(IEN  | PTU | EN  | M1)) /*MMC2_DIR_CMD*/\
144*4882a593Smuzhiyun 	MUX_VAL(CP(MMC2_DAT7),		(IEN  | PTU | EN  | M1)) /*MMC2_CLKIN*/\
145*4882a593Smuzhiyun 	MUX_VAL(CP(MMC1_DAT4),		(IEN  | PTU | EN  | M4)) /*GPIO_126*/\
146*4882a593Smuzhiyun 	MUX_VAL(CP(MMC1_DAT5),		(IEN  | PTU | EN  | M4)) /*GPIO_127*/\
147*4882a593Smuzhiyun 	MUX_VAL(CP(MMC1_DAT6),		(IEN  | PTU | EN  | M4)) /*GPIO_128*/\
148*4882a593Smuzhiyun 	MUX_VAL(CP(MMC1_DAT7),		(IEN  | PTU | EN  | M4)) /*GPIO_129*/
149*4882a593Smuzhiyun 
150*4882a593Smuzhiyun #define MUX_USRP_E() \
151*4882a593Smuzhiyun 	MUX_VAL(CP(MCSPI1_SOMI),	(IEN  | PTD | DIS | M4)) /*GPIO_173 */\
152*4882a593Smuzhiyun 	MUX_VAL(CP(MCSPI1_CS1),		(IDIS | PTD | EN  | M4)) /*GPIO_175 */\
153*4882a593Smuzhiyun 
154*4882a593Smuzhiyun #define MUX_ALTO35() \
155*4882a593Smuzhiyun 	MUX_VAL(CP(SYS_CLKOUT1),	(IEN  | PTU | EN  | M4)) /*GPIO_10-BTN*/\
156*4882a593Smuzhiyun 	MUX_VAL(CP(UART1_TX),		(IDIS | PTD | DIS | M4)) /*GPIO_148-RED LED*/\
157*4882a593Smuzhiyun 	MUX_VAL(CP(UART1_CTS),		(IDIS | PTD | DIS | M4)) /*GPIO_150-YELLOW LED*/\
158*4882a593Smuzhiyun 	MUX_VAL(CP(UART1_RX),		(IDIS | PTD | DIS | M4)) /*GPIO_151-BLUE LED*/\
159*4882a593Smuzhiyun 	MUX_VAL(CP(HDQ_SIO),		(IDIS | PTD | DIS | M4)) /*GPIO_170-GREEN LED*/\
160*4882a593Smuzhiyun 	MUX_VAL(CP(MCSPI1_CS1),		(IDIS | PTD | EN  | M4)) /*GPIO_175*/\
161*4882a593Smuzhiyun 
162*4882a593Smuzhiyun #define MUX_ARBOR43C() \
163*4882a593Smuzhiyun 	MUX_VAL(CP(CSI2_DX1),		(IDIS | PTD | DIS | M4)) /*GPIO_114-RED LED*/\
164*4882a593Smuzhiyun 	MUX_VAL(CP(UART1_CTS),		(IDIS | PTD | DIS | M4)) /*GPIO_150-YELLOW LED*/\
165*4882a593Smuzhiyun 	MUX_VAL(CP(HDQ_SIO),		(IEN  | PTU | EN  | M4)) /*GPIO_170-BUTTON */\
166*4882a593Smuzhiyun 	MUX_VAL(CP(SYS_CLKOUT2),	(IDIS | PTD | DIS | M4)) /*GPIO_186-BLUE LED*/\
167*4882a593Smuzhiyun 	MUX_VAL(CP(JTAG_EMU1),		(IDIS | PTD | DIS | M4)) /*GPIO_31-CAP WAKE*/\
168*4882a593Smuzhiyun 	MUX_VAL(CP(SYS_CLKOUT1),	(IEN  | PTU | EN  | M4)) /*GPIO_10-CAP IRQ*/\
169*4882a593Smuzhiyun 
170*4882a593Smuzhiyun #endif
171