aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-orion5x/rd88f5182-setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-orion5x/rd88f5182-setup.c')
-rw-r--r--arch/arm/mach-orion5x/rd88f5182-setup.c48
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 ****************************************************************************/
245static 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
244static void __init rd88f5182_init(void) 269static 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 */