diff options
Diffstat (limited to 'arch/arm/mach-orion5x/rd88f5182-setup.c')
-rw-r--r-- | arch/arm/mach-orion5x/rd88f5182-setup.c | 48 |
1 files changed, 27 insertions, 21 deletions
diff --git a/arch/arm/mach-orion5x/rd88f5182-setup.c b/arch/arm/mach-orion5x/rd88f5182-setup.c index 403ba9a0c9bd..44ad5de87b79 100644 --- a/arch/arm/mach-orion5x/rd88f5182-setup.c +++ b/arch/arm/mach-orion5x/rd88f5182-setup.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <asm/mach/pci.h> | 26 | #include <asm/mach/pci.h> |
27 | #include <asm/arch/orion5x.h> | 27 | #include <asm/arch/orion5x.h> |
28 | #include "common.h" | 28 | #include "common.h" |
29 | #include "mpp.h" | ||
29 | 30 | ||
30 | /***************************************************************************** | 31 | /***************************************************************************** |
31 | * RD-88F5182 Info | 32 | * RD-88F5182 Info |
@@ -241,6 +242,30 @@ static struct mv_sata_platform_data rd88f5182_sata_data = { | |||
241 | /***************************************************************************** | 242 | /***************************************************************************** |
242 | * General Setup | 243 | * General Setup |
243 | ****************************************************************************/ | 244 | ****************************************************************************/ |
245 | static struct orion5x_mpp_mode rd88f5182_mpp_modes[] __initdata = { | ||
246 | { 0, MPP_GPIO }, /* Debug Led */ | ||
247 | { 1, MPP_GPIO }, /* Reset Switch */ | ||
248 | { 2, MPP_UNUSED }, | ||
249 | { 3, MPP_GPIO }, /* RTC Int */ | ||
250 | { 4, MPP_GPIO }, | ||
251 | { 5, MPP_GPIO }, | ||
252 | { 6, MPP_GPIO }, /* PCI_intA */ | ||
253 | { 7, MPP_GPIO }, /* PCI_intB */ | ||
254 | { 8, MPP_UNUSED }, | ||
255 | { 9, MPP_UNUSED }, | ||
256 | { 10, MPP_UNUSED }, | ||
257 | { 11, MPP_UNUSED }, | ||
258 | { 12, MPP_SATA_LED }, /* SATA 0 presence */ | ||
259 | { 13, MPP_SATA_LED }, /* SATA 1 presence */ | ||
260 | { 14, MPP_SATA_LED }, /* SATA 0 active */ | ||
261 | { 15, MPP_SATA_LED }, /* SATA 1 active */ | ||
262 | { 16, MPP_UNUSED }, | ||
263 | { 17, MPP_UNUSED }, | ||
264 | { 18, MPP_UNUSED }, | ||
265 | { 19, MPP_UNUSED }, | ||
266 | { -1 }, | ||
267 | }; | ||
268 | |||
244 | static void __init rd88f5182_init(void) | 269 | static void __init rd88f5182_init(void) |
245 | { | 270 | { |
246 | /* | 271 | /* |
@@ -248,22 +273,9 @@ static void __init rd88f5182_init(void) | |||
248 | */ | 273 | */ |
249 | orion5x_init(); | 274 | orion5x_init(); |
250 | 275 | ||
276 | orion5x_mpp_conf(rd88f5182_mpp_modes); | ||
277 | |||
251 | /* | 278 | /* |
252 | * Setup Multiplexing Pins -- | ||
253 | * MPP[0] Debug Led (GPIO - Out) | ||
254 | * MPP[1] Debug Led (GPIO - Out) | ||
255 | * MPP[2] N/A | ||
256 | * MPP[3] RTC_Int (GPIO - In) | ||
257 | * MPP[4] GPIO | ||
258 | * MPP[5] GPIO | ||
259 | * MPP[6] PCI_intA (GPIO - In) | ||
260 | * MPP[7] PCI_intB (GPIO - In) | ||
261 | * MPP[8-11] N/A | ||
262 | * MPP[12] SATA 0 presence Indication | ||
263 | * MPP[13] SATA 1 presence Indication | ||
264 | * MPP[14] SATA 0 active Indication | ||
265 | * MPP[15] SATA 1 active indication | ||
266 | * MPP[16-19] Not used | ||
267 | * MPP[20] PCI Clock to MV88F5182 | 279 | * MPP[20] PCI Clock to MV88F5182 |
268 | * MPP[21] PCI Clock to mini PCI CON11 | 280 | * MPP[21] PCI Clock to mini PCI CON11 |
269 | * MPP[22] USB 0 over current indication | 281 | * MPP[22] USB 0 over current indication |
@@ -272,12 +284,6 @@ static void __init rd88f5182_init(void) | |||
272 | * MPP[25] USB 0 over current enable | 284 | * MPP[25] USB 0 over current enable |
273 | */ | 285 | */ |
274 | 286 | ||
275 | orion5x_write(MPP_0_7_CTRL, 0x00000003); | ||
276 | orion5x_write(MPP_8_15_CTRL, 0x55550000); | ||
277 | orion5x_write(MPP_16_19_CTRL, 0x5555); | ||
278 | |||
279 | orion5x_gpio_set_valid_pins(0x000000fb); | ||
280 | |||
281 | /* | 287 | /* |
282 | * Configure peripherals. | 288 | * Configure peripherals. |
283 | */ | 289 | */ |