3 Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
10 #include <Library/IoLib.h>
11 #include <Library/DebugLib.h>
12 #include <Omap3530/Omap3530.h>
13 #include <BeagleBoard.h>
15 #define NUM_PINS_SHARED 232
16 #define NUM_PINS_ABC 6
17 #define NUM_PINS_XM 12
19 PAD_CONFIGURATION PadConfigurationTableShared
[] = {
20 //Pin, MuxMode, PullConfig, InputEnable
21 { SDRC_D0
, MUXMODE0
, PULL_DISABLED
, INPUT
},
22 { SDRC_D1
, MUXMODE0
, PULL_DISABLED
, INPUT
},
23 { SDRC_D2
, MUXMODE0
, PULL_DISABLED
, INPUT
},
24 { SDRC_D3
, MUXMODE0
, PULL_DISABLED
, INPUT
},
25 { SDRC_D4
, MUXMODE0
, PULL_DISABLED
, INPUT
},
26 { SDRC_D5
, MUXMODE0
, PULL_DISABLED
, INPUT
},
27 { SDRC_D6
, MUXMODE0
, PULL_DISABLED
, INPUT
},
28 { SDRC_D7
, MUXMODE0
, PULL_DISABLED
, INPUT
},
29 { SDRC_D8
, MUXMODE0
, PULL_DISABLED
, INPUT
},
30 { SDRC_D9
, MUXMODE0
, PULL_DISABLED
, INPUT
},
31 { SDRC_D10
, MUXMODE0
, PULL_DISABLED
, INPUT
},
32 { SDRC_D11
, MUXMODE0
, PULL_DISABLED
, INPUT
},
33 { SDRC_D12
, MUXMODE0
, PULL_DISABLED
, INPUT
},
34 { SDRC_D13
, MUXMODE0
, PULL_DISABLED
, INPUT
},
35 { SDRC_D14
, MUXMODE0
, PULL_DISABLED
, INPUT
},
36 { SDRC_D15
, MUXMODE0
, PULL_DISABLED
, INPUT
},
37 { SDRC_D16
, MUXMODE0
, PULL_DISABLED
, INPUT
},
38 { SDRC_D17
, MUXMODE0
, PULL_DISABLED
, INPUT
},
39 { SDRC_D18
, MUXMODE0
, PULL_DISABLED
, INPUT
},
40 { SDRC_D19
, MUXMODE0
, PULL_DISABLED
, INPUT
},
41 { SDRC_D20
, MUXMODE0
, PULL_DISABLED
, INPUT
},
42 { SDRC_D21
, MUXMODE0
, PULL_DISABLED
, INPUT
},
43 { SDRC_D22
, MUXMODE0
, PULL_DISABLED
, INPUT
},
44 { SDRC_D23
, MUXMODE0
, PULL_DISABLED
, INPUT
},
45 { SDRC_D24
, MUXMODE0
, PULL_DISABLED
, INPUT
},
46 { SDRC_D25
, MUXMODE0
, PULL_DISABLED
, INPUT
},
47 { SDRC_D26
, MUXMODE0
, PULL_DISABLED
, INPUT
},
48 { SDRC_D27
, MUXMODE0
, PULL_DISABLED
, INPUT
},
49 { SDRC_D28
, MUXMODE0
, PULL_DISABLED
, INPUT
},
50 { SDRC_D29
, MUXMODE0
, PULL_DISABLED
, INPUT
},
51 { SDRC_D30
, MUXMODE0
, PULL_DISABLED
, INPUT
},
52 { SDRC_D31
, MUXMODE0
, PULL_DISABLED
, INPUT
},
53 { SDRC_CLK
, MUXMODE0
, PULL_DISABLED
, INPUT
},
54 { SDRC_DQS0
, MUXMODE0
, PULL_DISABLED
, INPUT
},
55 { SDRC_CKE0
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
56 { SDRC_CKE1
, MUXMODE7
, PULL_DISABLED
, INPUT
},
57 { SDRC_DQS1
, MUXMODE0
, PULL_DISABLED
, INPUT
},
58 { SDRC_DQS2
, MUXMODE0
, PULL_DISABLED
, INPUT
},
59 { SDRC_DQS3
, MUXMODE0
, PULL_DISABLED
, INPUT
},
60 { GPMC_A1
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
61 { GPMC_A2
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
62 { GPMC_A3
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
63 { GPMC_A4
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
64 { GPMC_A5
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
65 { GPMC_A6
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
66 { GPMC_A7
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
67 { GPMC_A8
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
68 { GPMC_A9
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
69 { GPMC_A10
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
70 { GPMC_D0
, MUXMODE0
, PULL_DISABLED
, INPUT
},
71 { GPMC_D1
, MUXMODE0
, PULL_DISABLED
, INPUT
},
72 { GPMC_D2
, MUXMODE0
, PULL_DISABLED
, INPUT
},
73 { GPMC_D3
, MUXMODE0
, PULL_DISABLED
, INPUT
},
74 { GPMC_D4
, MUXMODE0
, PULL_DISABLED
, INPUT
},
75 { GPMC_D5
, MUXMODE0
, PULL_DISABLED
, INPUT
},
76 { GPMC_D6
, MUXMODE0
, PULL_DISABLED
, INPUT
},
77 { GPMC_D7
, MUXMODE0
, PULL_DISABLED
, INPUT
},
78 { GPMC_D8
, MUXMODE0
, PULL_DISABLED
, INPUT
},
79 { GPMC_D9
, MUXMODE0
, PULL_DISABLED
, INPUT
},
80 { GPMC_D10
, MUXMODE0
, PULL_DISABLED
, INPUT
},
81 { GPMC_D11
, MUXMODE0
, PULL_DISABLED
, INPUT
},
82 { GPMC_D12
, MUXMODE0
, PULL_DISABLED
, INPUT
},
83 { GPMC_D13
, MUXMODE0
, PULL_DISABLED
, INPUT
},
84 { GPMC_D14
, MUXMODE0
, PULL_DISABLED
, INPUT
},
85 { GPMC_D15
, MUXMODE0
, PULL_DISABLED
, INPUT
},
86 { GPMC_NCS0
, MUXMODE0
, PULL_DISABLED
, INPUT
},
87 { GPMC_NCS1
, MUXMODE0
, PULL_UP_SELECTED
, OUTPUT
},
88 { GPMC_NCS2
, MUXMODE0
, PULL_UP_SELECTED
, OUTPUT
},
89 { GPMC_NCS3
, MUXMODE0
, PULL_UP_SELECTED
, OUTPUT
},
90 { GPMC_NCS4
, MUXMODE0
, PULL_UP_SELECTED
, OUTPUT
},
91 { GPMC_NCS5
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
92 { GPMC_NCS6
, MUXMODE1
, PULL_DISABLED
, INPUT
},
93 { GPMC_NCS7
, MUXMODE1
, PULL_UP_SELECTED
, INPUT
},
94 { GPMC_CLK
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
95 { GPMC_NADV_ALE
, MUXMODE0
, PULL_DISABLED
, INPUT
},
96 { GPMC_NOE
, MUXMODE0
, PULL_DISABLED
, INPUT
},
97 { GPMC_NWE
, MUXMODE0
, PULL_DISABLED
, INPUT
},
98 { GPMC_NBE0_CLE
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
99 { GPMC_NBE1
, MUXMODE0
, PULL_DISABLED
, INPUT
},
100 { GPMC_NWP
, MUXMODE0
, PULL_DISABLED
, INPUT
},
101 { GPMC_WAIT0
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
102 { GPMC_WAIT1
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
103 { GPMC_WAIT2
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
104 { GPMC_WAIT3
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
105 { DSS_PCLK
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
106 { DSS_HSYNC
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
107 { DSS_PSYNC
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
108 { DSS_ACBIAS
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
109 { DSS_DATA0
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
110 { DSS_DATA1
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
111 { DSS_DATA2
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
112 { DSS_DATA3
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
113 { DSS_DATA4
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
114 { DSS_DATA5
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
115 { DSS_DATA6
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
116 { DSS_DATA7
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
117 { DSS_DATA8
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
118 { DSS_DATA9
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
119 { DSS_DATA10
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
120 { DSS_DATA11
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
121 { DSS_DATA12
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
122 { DSS_DATA13
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
123 { DSS_DATA14
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
124 { DSS_DATA15
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
125 { DSS_DATA16
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
126 { DSS_DATA17
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
127 { CAM_HS
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
128 { CAM_VS
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
129 { CAM_XCLKA
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
130 { CAM_PCLK
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
131 { CAM_FLD
, MUXMODE4
, PULL_DISABLED
, OUTPUT
},
132 { CAM_D0
, MUXMODE0
, PULL_DISABLED
, INPUT
},
133 { CAM_D1
, MUXMODE0
, PULL_DISABLED
, INPUT
},
134 { CAM_D2
, MUXMODE0
, PULL_DISABLED
, INPUT
},
135 { CAM_D3
, MUXMODE0
, PULL_DISABLED
, INPUT
},
136 { CAM_D4
, MUXMODE0
, PULL_DISABLED
, INPUT
},
137 { CAM_D5
, MUXMODE0
, PULL_DISABLED
, INPUT
},
138 { CAM_D6
, MUXMODE0
, PULL_DISABLED
, INPUT
},
139 { CAM_D7
, MUXMODE0
, PULL_DISABLED
, INPUT
},
140 { CAM_D8
, MUXMODE0
, PULL_DISABLED
, INPUT
},
141 { CAM_D9
, MUXMODE0
, PULL_DISABLED
, INPUT
},
142 { CAM_D10
, MUXMODE0
, PULL_DISABLED
, INPUT
},
143 { CAM_D11
, MUXMODE0
, PULL_DISABLED
, INPUT
},
144 { CAM_XCLKB
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
145 { CAM_WEN
, MUXMODE4
, PULL_DISABLED
, INPUT
},
146 { CAM_STROBE
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
147 { CSI2_DX0
, MUXMODE0
, PULL_DISABLED
, INPUT
},
148 { CSI2_DY0
, MUXMODE0
, PULL_DISABLED
, INPUT
},
149 { CSI2_DX1
, MUXMODE0
, PULL_DISABLED
, INPUT
},
150 { CSI2_DY1
, MUXMODE0
, PULL_DISABLED
, INPUT
},
151 { MCBSP2_FSX
, MUXMODE0
, PULL_DISABLED
, INPUT
},
152 { MCBSP2_CLKX
, MUXMODE0
, PULL_DISABLED
, INPUT
},
153 { MCBSP2_DR
, MUXMODE0
, PULL_DISABLED
, INPUT
},
154 { MCBSP2_DX
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
155 { MMC1_CLK
, MUXMODE0
, PULL_UP_SELECTED
, OUTPUT
},
156 { MMC1_CMD
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
157 { MMC1_DAT0
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
158 { MMC1_DAT1
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
159 { MMC1_DAT2
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
160 { MMC1_DAT3
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
161 { MMC1_DAT4
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
162 { MMC1_DAT5
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
163 { MMC1_DAT6
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
164 { MMC1_DAT7
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
165 { MMC2_CLK
, MUXMODE4
, PULL_UP_SELECTED
, INPUT
},
166 { MMC2_CMD
, MUXMODE4
, PULL_UP_SELECTED
, INPUT
},
167 { MMC2_DAT0
, MUXMODE4
, PULL_UP_SELECTED
, INPUT
},
168 { MMC2_DAT1
, MUXMODE4
, PULL_UP_SELECTED
, INPUT
},
169 { MMC2_DAT2
, MUXMODE4
, PULL_UP_SELECTED
, INPUT
},
170 { MMC2_DAT3
, MUXMODE4
, PULL_UP_SELECTED
, INPUT
},
171 { MMC2_DAT4
, MUXMODE4
, PULL_UP_SELECTED
, INPUT
},
172 { MMC2_DAT5
, MUXMODE4
, PULL_UP_SELECTED
, INPUT
},
173 { MMC2_DAT6
, MUXMODE4
, PULL_UP_SELECTED
, INPUT
},
174 { MMC2_DAT7
, MUXMODE4
, PULL_UP_SELECTED
, INPUT
},
175 { MCBSP3_DX
, MUXMODE4
, PULL_DISABLED
, OUTPUT
},
176 { MCBSP3_DR
, MUXMODE4
, PULL_DISABLED
, OUTPUT
},
177 { MCBSP3_CLKX
, MUXMODE4
, PULL_DISABLED
, OUTPUT
},
178 { MCBSP3_FSX
, MUXMODE4
, PULL_DISABLED
, OUTPUT
},
179 { UART2_CTS
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
180 { UART2_RTS
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
181 { UART2_TX
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
182 { UART2_RX
, MUXMODE4
, PULL_DISABLED
, OUTPUT
},
183 { UART1_TX
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
184 { UART1_RTS
, MUXMODE4
, PULL_DISABLED
, OUTPUT
},
185 { UART1_CTS
, MUXMODE4
, PULL_DISABLED
, OUTPUT
},
186 { UART1_RX
, MUXMODE0
, PULL_DISABLED
, INPUT
},
187 { MCBSP4_CLKX
, MUXMODE1
, PULL_DISABLED
, INPUT
},
188 { MCBSP4_DR
, MUXMODE1
, PULL_DISABLED
, INPUT
},
189 { MCBSP4_DX
, MUXMODE1
, PULL_DISABLED
, INPUT
},
190 { MCBSP4_FSX
, MUXMODE1
, PULL_DISABLED
, INPUT
},
191 { MCBSP1_CLKR
, MUXMODE4
, PULL_DISABLED
, OUTPUT
},
192 { MCBSP1_FSR
, MUXMODE4
, PULL_UP_SELECTED
, OUTPUT
},
193 { MCBSP1_DX
, MUXMODE4
, PULL_DISABLED
, OUTPUT
},
194 { MCBSP1_DR
, MUXMODE4
, PULL_DISABLED
, OUTPUT
},
195 { MCBSP1_CLKS
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
196 { MCBSP1_FSX
, MUXMODE4
, PULL_DISABLED
, OUTPUT
},
197 { MCBSP1_CLKX
, MUXMODE4
, PULL_DISABLED
, OUTPUT
},
198 { UART3_CTS_RCTX
,MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
199 { UART3_RTS_SD
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
200 { UART3_RX_IRRX
, MUXMODE0
, PULL_DISABLED
, INPUT
},
201 { UART3_TX_IRTX
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
202 { HSUSB0_CLK
, MUXMODE0
, PULL_DISABLED
, INPUT
},
203 { HSUSB0_STP
, MUXMODE0
, PULL_UP_SELECTED
, OUTPUT
},
204 { HSUSB0_DIR
, MUXMODE0
, PULL_DISABLED
, INPUT
},
205 { HSUSB0_NXT
, MUXMODE0
, PULL_DISABLED
, INPUT
},
206 { HSUSB0_DATA0
, MUXMODE0
, PULL_DISABLED
, INPUT
},
207 { HSUSB0_DATA1
, MUXMODE0
, PULL_DISABLED
, INPUT
},
208 { HSUSB0_DATA2
, MUXMODE0
, PULL_DISABLED
, INPUT
},
209 { HSUSB0_DATA3
, MUXMODE0
, PULL_DISABLED
, INPUT
},
210 { HSUSB0_DATA4
, MUXMODE0
, PULL_DISABLED
, INPUT
},
211 { HSUSB0_DATA5
, MUXMODE0
, PULL_DISABLED
, INPUT
},
212 { HSUSB0_DATA6
, MUXMODE0
, PULL_DISABLED
, INPUT
},
213 { HSUSB0_DATA7
, MUXMODE0
, PULL_DISABLED
, INPUT
},
214 { I2C1_SCL
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
215 { I2C1_SDA
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
216 { I2C2_SCL
, MUXMODE4
, PULL_UP_SELECTED
, INPUT
},
217 { I2C2_SDA
, MUXMODE4
, PULL_UP_SELECTED
, INPUT
},
218 { I2C3_SCL
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
219 { I2C3_SDA
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
220 { HDQ_SIO
, MUXMODE4
, PULL_DISABLED
, OUTPUT
},
221 { MCSPI1_CLK
, MUXMODE4
, PULL_UP_SELECTED
, INPUT
},
222 { MCSPI1_SIMO
, MUXMODE4
, PULL_UP_SELECTED
, INPUT
},
223 { MCSPI1_SOMI
, MUXMODE0
, PULL_DISABLED
, INPUT
},
224 { MCSPI1_CS0
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
225 { MCSPI1_CS1
, MUXMODE0
, PULL_UP_SELECTED
, OUTPUT
},
226 { MCSPI1_CS2
, MUXMODE4
, PULL_DISABLED
, OUTPUT
},
227 { MCSPI1_CS3
, MUXMODE3
, PULL_UP_SELECTED
, INPUT
},
228 { MCSPI2_CLK
, MUXMODE3
, PULL_UP_SELECTED
, INPUT
},
229 { MCSPI2_SIMO
, MUXMODE3
, PULL_UP_SELECTED
, INPUT
},
230 { MCSPI2_SOMI
, MUXMODE3
, PULL_UP_SELECTED
, INPUT
},
231 { MCSPI2_CS0
, MUXMODE3
, PULL_UP_SELECTED
, INPUT
},
232 { MCSPI2_CS1
, MUXMODE3
, PULL_UP_SELECTED
, INPUT
},
233 { SYS_NIRQ
, MUXMODE0
, PULL_UP_SELECTED
, INPUT
},
234 { SYS_CLKOUT2
, MUXMODE4
, PULL_UP_SELECTED
, INPUT
},
235 { ETK_CLK
, MUXMODE3
, PULL_UP_SELECTED
, OUTPUT
},
236 { ETK_CTL
, MUXMODE3
, PULL_UP_SELECTED
, OUTPUT
},
237 { ETK_D0
, MUXMODE3
, PULL_UP_SELECTED
, INPUT
},
238 { ETK_D1
, MUXMODE3
, PULL_UP_SELECTED
, INPUT
},
239 { ETK_D2
, MUXMODE3
, PULL_UP_SELECTED
, INPUT
},
240 { ETK_D3
, MUXMODE3
, PULL_UP_SELECTED
, INPUT
},
241 { ETK_D4
, MUXMODE3
, PULL_UP_SELECTED
, INPUT
},
242 { ETK_D5
, MUXMODE3
, PULL_UP_SELECTED
, INPUT
},
243 { ETK_D6
, MUXMODE3
, PULL_UP_SELECTED
, INPUT
},
244 { ETK_D7
, MUXMODE3
, PULL_UP_SELECTED
, INPUT
},
245 { ETK_D8
, MUXMODE3
, PULL_UP_SELECTED
, INPUT
},
246 { ETK_D9
, MUXMODE4
, PULL_UP_SELECTED
, INPUT
},
247 { ETK_D10
, MUXMODE3
, PULL_UP_SELECTED
, OUTPUT
},
248 { ETK_D11
, MUXMODE3
, PULL_UP_SELECTED
, OUTPUT
},
249 { ETK_D12
, MUXMODE3
, PULL_UP_SELECTED
, INPUT
},
250 { ETK_D13
, MUXMODE3
, PULL_UP_SELECTED
, INPUT
},
251 { ETK_D14
, MUXMODE3
, PULL_UP_SELECTED
, INPUT
},
252 { ETK_D15
, MUXMODE3
, PULL_UP_SELECTED
, INPUT
}
255 PAD_CONFIGURATION PadConfigurationTableAbc
[] = {
256 { DSS_DATA18
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
257 { DSS_DATA19
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
258 { DSS_DATA20
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
259 { DSS_DATA21
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
260 { DSS_DATA22
, MUXMODE0
, PULL_DISABLED
, OUTPUT
},
261 { DSS_DATA23
, MUXMODE0
, PULL_DISABLED
, OUTPUT
}
264 PAD_CONFIGURATION PadConfigurationTableXm
[] = {
265 { DSS_DATA18
, MUXMODE3
, PULL_DISABLED
, OUTPUT
},
266 { DSS_DATA19
, MUXMODE3
, PULL_DISABLED
, OUTPUT
},
267 { DSS_DATA20
, MUXMODE3
, PULL_DISABLED
, OUTPUT
},
268 { DSS_DATA21
, MUXMODE3
, PULL_DISABLED
, OUTPUT
},
269 { DSS_DATA22
, MUXMODE3
, PULL_DISABLED
, OUTPUT
},
270 { DSS_DATA23
, MUXMODE3
, PULL_DISABLED
, OUTPUT
},
271 { SYS_BOOT0
, MUXMODE3
, PULL_DISABLED
, OUTPUT
},
272 { SYS_BOOT1
, MUXMODE3
, PULL_DISABLED
, OUTPUT
},
273 { SYS_BOOT3
, MUXMODE3
, PULL_DISABLED
, OUTPUT
},
274 { SYS_BOOT4
, MUXMODE3
, PULL_DISABLED
, OUTPUT
},
275 { SYS_BOOT5
, MUXMODE3
, PULL_DISABLED
, OUTPUT
},
276 { SYS_BOOT6
, MUXMODE3
, PULL_DISABLED
, OUTPUT
}
281 BEAGLEBOARD_REVISION Revision
285 UINT16 PadConfiguration
;
286 PAD_CONFIGURATION
*BoardConfiguration
;
287 UINTN NumPinsToConfigure
;
289 for (Index
= 0; Index
< NUM_PINS_SHARED
; Index
++) {
290 // Set up Pad configuration for particular pin.
291 PadConfiguration
= (PadConfigurationTableShared
[Index
].MuxMode
<< MUXMODE_OFFSET
);
292 PadConfiguration
|= (PadConfigurationTableShared
[Index
].PullConfig
<< PULL_CONFIG_OFFSET
);
293 PadConfiguration
|= (PadConfigurationTableShared
[Index
].InputEnable
<< INPUTENABLE_OFFSET
);
295 // Configure the pin with specific Pad configuration.
296 MmioWrite16(PadConfigurationTableShared
[Index
].Pin
, PadConfiguration
);
299 if (Revision
== REVISION_XM
) {
300 BoardConfiguration
= PadConfigurationTableXm
;
301 NumPinsToConfigure
= NUM_PINS_XM
;
303 BoardConfiguration
= PadConfigurationTableAbc
;
304 NumPinsToConfigure
= NUM_PINS_ABC
;
307 for (Index
= 0; Index
< NumPinsToConfigure
; Index
++) {
308 //Set up Pad configuration for particular pin.
309 PadConfiguration
= (BoardConfiguration
[Index
].MuxMode
<< MUXMODE_OFFSET
);
310 PadConfiguration
|= (BoardConfiguration
[Index
].PullConfig
<< PULL_CONFIG_OFFSET
);
311 PadConfiguration
|= (BoardConfiguration
[Index
].InputEnable
<< INPUTENABLE_OFFSET
);
313 //Configure the pin with specific Pad configuration.
314 MmioWrite16(BoardConfiguration
[Index
].Pin
, PadConfiguration
);