Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
?arch/arm/mach-orion5x/d2net-setup.c ? ? ? ? ? ?| ? 44 +++---
?arch/arm/mach-orion5x/db88f5281-setup.c ? ? ? ?| ? 44 +++---
?arch/arm/mach-orion5x/dns323-setup.c ? ? ? ? ? | ?132 ++++++++--------
?arch/arm/mach-orion5x/edmini_v2-setup.c ? ? ? ?| ? 44 +++---
?arch/arm/mach-orion5x/kurobox_pro-setup.c ? ? ?| ? 44 +++---
?arch/arm/mach-orion5x/ls-chl-setup.c ? ? ? ? ? | ? 44 +++---
?arch/arm/mach-orion5x/ls_hgl-setup.c ? ? ? ? ? | ? 44 +++---
?arch/arm/mach-orion5x/lsmini-setup.c ? ? ? ? ? | ? 44 +++---
?arch/arm/mach-orion5x/mpp.c ? ? ? ? ? ? ? ? ? ?| ?150 ++-----------------
?arch/arm/mach-orion5x/mpp.h ? ? ? ? ? ? ? ? ? ?| ?191 +++++++++++++++---------
?arch/arm/mach-orion5x/mss2-setup.c ? ? ? ? ? ? | ? 44 +++---
?arch/arm/mach-orion5x/mv2120-setup.c ? ? ? ? ? | ? 44 +++---
?arch/arm/mach-orion5x/net2big-setup.c ? ? ? ? ?| ? 44 +++---
?arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c ? | ? 44 +++---
?arch/arm/mach-orion5x/rd88f5181l-ge-setup.c ? ?| ? 44 +++---
?arch/arm/mach-orion5x/rd88f5182-setup.c ? ? ? ?| ? 44 +++---
?arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c ? | ? ?1 -
?arch/arm/mach-orion5x/terastation_pro2-setup.c | ? 44 +++---
?arch/arm/mach-orion5x/ts209-setup.c ? ? ? ? ? ?| ? 44 +++---
?arch/arm/mach-orion5x/ts409-setup.c ? ? ? ? ? ?| ? 44 +++---
?arch/arm/mach-orion5x/ts78xx-setup.c ? ? ? ? ? | ? 44 +++---
?arch/arm/mach-orion5x/wnr854t-setup.c ? ? ? ? ?| ? 44 +++---
?arch/arm/mach-orion5x/wrt350n-v2-setup.c ? ? ? | ? 44 +++---
?23 files changed, 622 insertions(+), 688 deletions(-)
diff --git a/arch/arm/mach-orion5x/d2net-setup.c b/arch/arm/mach-orion5x/d2net-setup.c
index 4258075..19cf5bf 100644
--- a/arch/arm/mach-orion5x/d2net-setup.c
+++ b/arch/arm/mach-orion5x/d2net-setup.c
@@ -267,28 +267,28 @@ static struct platform_device d2net_gpio_buttons = {?* General Setup
?****************************************************************************/
-static struct orion5x_mpp_mode d2net_mpp_modes[] __initdata = {
- ? ? ? { ?0, MPP_GPIO }, ? ? ? /* Board ID (bit 0) */
- ? ? ? { ?1, MPP_GPIO }, ? ? ? /* Board ID (bit 1) */
- ? ? ? { ?2, MPP_GPIO }, ? ? ? /* Board ID (bit 2) */
- ? ? ? { ?3, MPP_GPIO }, ? ? ? /* SATA 0 power */
- ? ? ? { ?4, MPP_UNUSED },
- ? ? ? { ?5, MPP_GPIO }, ? ? ? /* Fan fail detection */
- ? ? ? { ?6, MPP_GPIO }, ? ? ? /* Red front LED */
- ? ? ? { ?7, MPP_UNUSED },
- ? ? ? { ?8, MPP_GPIO }, ? ? ? /* Rear power switch (on|auto) */
- ? ? ? { ?9, MPP_GPIO }, ? ? ? /* Rear power switch (auto|off) */
- ? ? ? { 10, MPP_UNUSED },
- ? ? ? { 11, MPP_UNUSED },
- ? ? ? { 12, MPP_GPIO }, ? ? ? /* SATA 1 power */
- ? ? ? { 13, MPP_UNUSED },
- ? ? ? { 14, MPP_SATA_LED }, ? /* SATA 0 active */
- ? ? ? { 15, MPP_SATA_LED }, ? /* SATA 1 active */
- ? ? ? { 16, MPP_GPIO }, ? ? ? /* Blue front LED blink control */
- ? ? ? { 17, MPP_UNUSED },
- ? ? ? { 18, MPP_GPIO }, ? ? ? /* Front button (0 = Released, 1 = Pushed ) */
- ? ? ? { 19, MPP_UNUSED },
- ? ? ? { -1 }
+static unsigned int d2net_mpp_modes[] __initdata = {
+ ? ? ? MPP0_GPIO, ? ? ?/* Board ID (bit 0) */
+ ? ? ? MPP1_GPIO, ? ? ?/* Board ID (bit 1) */
+ ? ? ? MPP2_GPIO, ? ? ?/* Board ID (bit 2) */
+ ? ? ? MPP3_GPIO, ? ? ?/* SATA 0 power */
+ ? ? ? MPP4_UNUSED,
+ ? ? ? MPP5_GPIO, ? ? ?/* Fan fail detection */
+ ? ? ? MPP6_GPIO, ? ? ?/* Red front LED */
+ ? ? ? MPP7_UNUSED,
+ ? ? ? MPP8_GPIO, ? ? ?/* Rear power switch (on|auto) */
+ ? ? ? MPP9_GPIO, ? ? ?/* Rear power switch (auto|off) */
+ ? ? ? MPP10_UNUSED,
+ ? ? ? MPP11_UNUSED,
+ ? ? ? MPP12_GPIO, ? ? /* SATA 1 power */
+ ? ? ? MPP13_UNUSED,
+ ? ? ? MPP14_SATA_LED, /* SATA 0 active */
+ ? ? ? MPP15_SATA_LED, /* SATA 1 active */
+ ? ? ? MPP16_GPIO, ? ? /* Blue front LED blink control */
+ ? ? ? MPP17_UNUSED,
+ ? ? ? MPP18_GPIO, ? ? /* Front button (0 = Released, 1 = Pushed ) */
+ ? ? ? MPP19_UNUSED,
+ ? ? ? 0,
? ? ? ?/* 22: USB port 1 fuse (0 = Fail, 1 = Ok) */
? ? ? ?/* 23: Blue front LED off */
? ? ? ?/* 24: Inhibit board power off (0 = Disabled, 1 = Enabled) */diff --git a/arch/arm/mach-orion5x/db88f5281-setup.c b/arch/arm/mach-orion5x/db88f5281-setup.c
index c10a117..24587b7 100644
--- a/arch/arm/mach-orion5x/db88f5281-setup.c
+++ b/arch/arm/mach-orion5x/db88f5281-setup.c
@@ -298,28 +298,28 @@ static struct i2c_board_info __initdata db88f5281_i2c_rtc = {?/*****************************************************************************
?* General Setup
?****************************************************************************/
-static struct orion5x_mpp_mode db88f5281_mpp_modes[] __initdata = {
- ? ? ? { ?0, MPP_GPIO }, ? ? ? ? ? ? ? /* USB Over Current */
- ? ? ? { ?1, MPP_GPIO }, ? ? ? ? ? ? ? /* USB Vbat input */
- ? ? ? { ?2, MPP_PCI_ARB }, ? ? ? ? ? ?/* PCI_REQn[2] */
- ? ? ? { ?3, MPP_PCI_ARB }, ? ? ? ? ? ?/* PCI_GNTn[2] */
- ? ? ? { ?4, MPP_PCI_ARB }, ? ? ? ? ? ?/* PCI_REQn[3] */
- ? ? ? { ?5, MPP_PCI_ARB }, ? ? ? ? ? ?/* PCI_GNTn[3] */
- ? ? ? { ?6, MPP_GPIO }, ? ? ? ? ? ? ? /* JP0, CON17.2 */
- ? ? ? { ?7, MPP_GPIO }, ? ? ? ? ? ? ? /* JP1, CON17.1 */
- ? ? ? { ?8, MPP_GPIO }, ? ? ? ? ? ? ? /* JP2, CON11.2 */
- ? ? ? { ?9, MPP_GPIO }, ? ? ? ? ? ? ? /* JP3, CON11.3 */
- ? ? ? { 10, MPP_GPIO }, ? ? ? ? ? ? ? /* RTC int */
- ? ? ? { 11, MPP_GPIO }, ? ? ? ? ? ? ? /* Baud Rate Generator */
- ? ? ? { 12, MPP_GPIO }, ? ? ? ? ? ? ? /* PCI int 1 */
- ? ? ? { 13, MPP_GPIO }, ? ? ? ? ? ? ? /* PCI int 2 */
- ? ? ? { 14, MPP_NAND }, ? ? ? ? ? ? ? /* NAND_REn[2] */
- ? ? ? { 15, MPP_NAND }, ? ? ? ? ? ? ? /* NAND_WEn[2] */
- ? ? ? { 16, MPP_UART }, ? ? ? ? ? ? ? /* UART1_RX */
- ? ? ? { 17, MPP_UART }, ? ? ? ? ? ? ? /* UART1_TX */
- ? ? ? { 18, MPP_UART }, ? ? ? ? ? ? ? /* UART1_CTSn */
- ? ? ? { 19, MPP_UART }, ? ? ? ? ? ? ? /* UART1_RTSn */
- ? ? ? { -1 },
+static unsigned int db88f5281_mpp_modes[] __initdata = {
+ ? ? ? MPP0_GPIO, ? ? ? ? ? ? ?/* USB Over Current */
+ ? ? ? MPP1_GPIO, ? ? ? ? ? ? ?/* USB Vbat input */
+ ? ? ? MPP2_PCI_ARB, ? ? ? ? ? /* PCI_REQn[2] */
+ ? ? ? MPP3_PCI_ARB, ? ? ? ? ? /* PCI_GNTn[2] */
+ ? ? ? MPP4_PCI_ARB, ? ? ? ? ? /* PCI_REQn[3] */
+ ? ? ? MPP5_PCI_ARB, ? ? ? ? ? /* PCI_GNTn[3] */
+ ? ? ? MPP6_GPIO, ? ? ? ? ? ? ?/* JP0, CON17.2 */
+ ? ? ? MPP7_GPIO, ? ? ? ? ? ? ?/* JP1, CON17.1 */
+ ? ? ? MPP8_GPIO, ? ? ? ? ? ? ?/* JP2, CON11.2 */
+ ? ? ? MPP9_GPIO, ? ? ? ? ? ? ?/* JP3, CON11.3 */
+ ? ? ? MPP10_GPIO, ? ? ? ? ? ? /* RTC int */
+ ? ? ? MPP11_GPIO, ? ? ? ? ? ? /* Baud Rate Generator */
+ ? ? ? MPP12_GPIO, ? ? ? ? ? ? /* PCI int 1 */
+ ? ? ? MPP13_GPIO, ? ? ? ? ? ? /* PCI int 2 */
+ ? ? ? MPP14_NAND, ? ? ? ? ? ? /* NAND_REn[2] */
+ ? ? ? MPP15_NAND, ? ? ? ? ? ? /* NAND_WEn[2] */
+ ? ? ? MPP16_UART, ? ? ? ? ? ? /* UART1_RX */
+ ? ? ? MPP17_UART, ? ? ? ? ? ? /* UART1_TX */
+ ? ? ? MPP18_UART, ? ? ? ? ? ? /* UART1_CTSn */
+ ? ? ? MPP19_UART, ? ? ? ? ? ? /* UART1_RTSn */
+ ? ? ? 0,
?};
?static void __init db88f5281_init(void)diff --git a/arch/arm/mach-orion5x/dns323-setup.c b/arch/arm/mach-orion5x/dns323-setup.c
index 90ab022..855e0e7 100644
--- a/arch/arm/mach-orion5x/dns323-setup.c
+++ b/arch/arm/mach-orion5x/dns323-setup.c
@@ -385,76 +385,76 @@ static struct mv_sata_platform_data dns323_sata_data = {?/****************************************************************************
?* General Setup
?*/
-static struct orion5x_mpp_mode dns323a_mpp_modes[] __initdata = {
- ? ? ? { ?0, MPP_PCIE_RST_OUTn },
- ? ? ? { ?1, MPP_GPIO }, ? ? ? ? ? ? ? /* right amber LED (sata ch0) */
- ? ? ? { ?2, MPP_GPIO }, ? ? ? ? ? ? ? /* left amber LED (sata ch1) */
- ? ? ? { ?3, MPP_UNUSED },
- ? ? ? { ?4, MPP_GPIO }, ? ? ? ? ? ? ? /* power button LED */
- ? ? ? { ?5, MPP_GPIO }, ? ? ? ? ? ? ? /* power button LED */
- ? ? ? { ?6, MPP_GPIO }, ? ? ? ? ? ? ? /* GMT G751-2f overtemp */
- ? ? ? { ?7, MPP_GPIO }, ? ? ? ? ? ? ? /* M41T80 nIRQ/OUT/SQW */
- ? ? ? { ?8, MPP_GPIO }, ? ? ? ? ? ? ? /* triggers power off */
- ? ? ? { ?9, MPP_GPIO }, ? ? ? ? ? ? ? /* power button switch */
- ? ? ? { 10, MPP_GPIO }, ? ? ? ? ? ? ? /* reset button switch */
- ? ? ? { 11, MPP_UNUSED },
- ? ? ? { 12, MPP_UNUSED },
- ? ? ? { 13, MPP_UNUSED },
- ? ? ? { 14, MPP_UNUSED },
- ? ? ? { 15, MPP_UNUSED },
- ? ? ? { 16, MPP_UNUSED },
- ? ? ? { 17, MPP_UNUSED },
- ? ? ? { 18, MPP_UNUSED },
- ? ? ? { 19, MPP_UNUSED },
- ? ? ? { -1 },
+static unsigned int dns323a_mpp_modes[] __initdata = {
+ ? ? ? MPP0_PCIE_RST_OUTn,
+ ? ? ? MPP1_GPIO, ? ? ? ? ? ? ?/* right amber LED (sata ch0) */
+ ? ? ? MPP2_GPIO, ? ? ? ? ? ? ?/* left amber LED (sata ch1) */
+ ? ? ? MPP3_UNUSED,
+ ? ? ? MPP4_GPIO, ? ? ? ? ? ? ?/* power button LED */
+ ? ? ? MPP5_GPIO, ? ? ? ? ? ? ?/* power button LED */
+ ? ? ? MPP6_GPIO, ? ? ? ? ? ? ?/* GMT G751-2f overtemp */
+ ? ? ? MPP7_GPIO, ? ? ? ? ? ? ?/* M41T80 nIRQ/OUT/SQW */
+ ? ? ? MPP8_GPIO, ? ? ? ? ? ? ?/* triggers power off */
+ ? ? ? MPP9_GPIO, ? ? ? ? ? ? ?/* power button switch */
+ ? ? ? MPP10_GPIO, ? ? ? ? ? ? /* reset button switch */
+ ? ? ? MPP11_UNUSED,
+ ? ? ? MPP12_UNUSED,
+ ? ? ? MPP13_UNUSED,
+ ? ? ? MPP14_UNUSED,
+ ? ? ? MPP15_UNUSED,
+ ? ? ? MPP16_UNUSED,
+ ? ? ? MPP17_UNUSED,
+ ? ? ? MPP18_UNUSED,
+ ? ? ? MPP19_UNUSED,
+ ? ? ? 0,
?};
-static struct orion5x_mpp_mode dns323b_mpp_modes[] __initdata = {
- ? ? ? { ?0, MPP_UNUSED },
- ? ? ? { ?1, MPP_GPIO }, ? ? ? ? ? ? ? /* right amber LED (sata ch0) */
- ? ? ? { ?2, MPP_GPIO }, ? ? ? ? ? ? ? /* left amber LED (sata ch1) */
- ? ? ? { ?3, MPP_GPIO }, ? ? ? ? ? ? ? /* system up flag */
- ? ? ? { ?4, MPP_GPIO }, ? ? ? ? ? ? ? /* power button LED */
- ? ? ? { ?5, MPP_GPIO }, ? ? ? ? ? ? ? /* power button LED */
- ? ? ? { ?6, MPP_GPIO }, ? ? ? ? ? ? ? /* GMT G751-2f overtemp */
- ? ? ? { ?7, MPP_GPIO }, ? ? ? ? ? ? ? /* M41T80 nIRQ/OUT/SQW */
- ? ? ? { ?8, MPP_GPIO }, ? ? ? ? ? ? ? /* triggers power off */
- ? ? ? { ?9, MPP_GPIO }, ? ? ? ? ? ? ? /* power button switch */
- ? ? ? { 10, MPP_GPIO }, ? ? ? ? ? ? ? /* reset button switch */
- ? ? ? { 11, MPP_UNUSED },
- ? ? ? { 12, MPP_SATA_LED },
- ? ? ? { 13, MPP_SATA_LED },
- ? ? ? { 14, MPP_SATA_LED },
- ? ? ? { 15, MPP_SATA_LED },
- ? ? ? { 16, MPP_UNUSED },
- ? ? ? { 17, MPP_UNUSED },
- ? ? ? { 18, MPP_UNUSED },
- ? ? ? { 19, MPP_UNUSED },
- ? ? ? { -1 },
+static unsigned int dns323b_mpp_modes[] __initdata = {
+ ? ? ? MPP0_UNUSED,
+ ? ? ? MPP1_GPIO, ? ? ? ? ? ? ?/* right amber LED (sata ch0) */
+ ? ? ? MPP2_GPIO, ? ? ? ? ? ? ?/* left amber LED (sata ch1) */
+ ? ? ? MPP3_GPIO, ? ? ? ? ? ? ?/* system up flag */
+ ? ? ? MPP4_GPIO, ? ? ? ? ? ? ?/* power button LED */
+ ? ? ? MPP5_GPIO, ? ? ? ? ? ? ?/* power button LED */
+ ? ? ? MPP6_GPIO, ? ? ? ? ? ? ?/* GMT G751-2f overtemp */
+ ? ? ? MPP7_GPIO, ? ? ? ? ? ? ?/* M41T80 nIRQ/OUT/SQW */
+ ? ? ? MPP8_GPIO, ? ? ? ? ? ? ?/* triggers power off */
+ ? ? ? MPP9_GPIO, ? ? ? ? ? ? ?/* power button switch */
+ ? ? ? MPP10_GPIO, ? ? ? ? ? ? /* reset button switch */
+ ? ? ? MPP11_UNUSED,
+ ? ? ? MPP12_SATA_LED,
+ ? ? ? MPP13_SATA_LED,
+ ? ? ? MPP14_SATA_LED,
+ ? ? ? MPP15_SATA_LED,
+ ? ? ? MPP16_UNUSED,
+ ? ? ? MPP17_UNUSED,
+ ? ? ? MPP18_UNUSED,
+ ? ? ? MPP19_UNUSED,
+ ? ? ? 0,
?};
-static struct orion5x_mpp_mode dns323c_mpp_modes[] __initdata = {
- ? ? ? { ?0, MPP_GPIO }, ? ? ? ? ? ? ? /* ? input */
- ? ? ? { ?1, MPP_GPIO }, ? ? ? ? ? ? ? /* input power switch (0 = pressed) */
- ? ? ? { ?2, MPP_GPIO }, ? ? ? ? ? ? ? /* output power off */
- ? ? ? { ?3, MPP_UNUSED }, ? ? ? ? ? ? /* ? output */
- ? ? ? { ?4, MPP_UNUSED }, ? ? ? ? ? ? /* ? output */
- ? ? ? { ?5, MPP_UNUSED }, ? ? ? ? ? ? /* ? output */
- ? ? ? { ?6, MPP_UNUSED }, ? ? ? ? ? ? /* ? output */
- ? ? ? { ?7, MPP_UNUSED }, ? ? ? ? ? ? /* ? output */
- ? ? ? { ?8, MPP_GPIO }, ? ? ? ? ? ? ? /* i/o right amber LED */
- ? ? ? { ?9, MPP_GPIO }, ? ? ? ? ? ? ? /* i/o left amber LED */
- ? ? ? { 10, MPP_GPIO }, ? ? ? ? ? ? ? /* input */
- ? ? ? { 11, MPP_UNUSED },
- ? ? ? { 12, MPP_SATA_LED },
- ? ? ? { 13, MPP_SATA_LED },
- ? ? ? { 14, MPP_SATA_LED },
- ? ? ? { 15, MPP_SATA_LED },
- ? ? ? { 16, MPP_UNUSED },
- ? ? ? { 17, MPP_GPIO }, ? ? ? ? ? ? ? /* power button LED */
- ? ? ? { 18, MPP_GPIO }, ? ? ? ? ? ? ? /* fan speed bit 0 */
- ? ? ? { 19, MPP_GPIO }, ? ? ? ? ? ? ? /* fan speed bit 1 */
- ? ? ? { -1 },
+static unsigned int dns323c_mpp_modes[] __initdata = {
+ ? ? ? MPP0_GPIO, ? ? ? ? ? ? ?/* ? input */
+ ? ? ? MPP1_GPIO, ? ? ? ? ? ? ?/* input power switch (0 = pressed) */
+ ? ? ? MPP2_GPIO, ? ? ? ? ? ? ?/* output power off */
+ ? ? ? MPP3_UNUSED, ? ? ? ? ? ?/* ? output */
+ ? ? ? MPP4_UNUSED, ? ? ? ? ? ?/* ? output */
+ ? ? ? MPP5_UNUSED, ? ? ? ? ? ?/* ? output */
+ ? ? ? MPP6_UNUSED, ? ? ? ? ? ?/* ? output */
+ ? ? ? MPP7_UNUSED, ? ? ? ? ? ?/* ? output */
+ ? ? ? MPP8_GPIO, ? ? ? ? ? ? ?/* i/o right amber LED */
+ ? ? ? MPP9_GPIO, ? ? ? ? ? ? ?/* i/o left amber LED */
+ ? ? ? MPP10_GPIO, ? ? ? ? ? ? /* input */
+ ? ? ? MPP11_UNUSED,
+ ? ? ? MPP12_SATA_LED,
+ ? ? ? MPP13_SATA_LED,
+ ? ? ? MPP14_SATA_LED,
+ ? ? ? MPP15_SATA_LED,
+ ? ? ? MPP16_UNUSED,
+ ? ? ? MPP17_GPIO, ? ? ? ? ? ? /* power button LED */
+ ? ? ? MPP18_GPIO, ? ? ? ? ? ? /* fan speed bit 0 */
+ ? ? ? MPP19_GPIO, ? ? ? ? ? ? /* fan speed bit 1 */
+ ? ? ? 0,
?};
?/* Rev C1 Fan speed notes:diff --git a/arch/arm/mach-orion5x/edmini_v2-setup.c b/arch/arm/mach-orion5x/edmini_v2-setup.c
index d037a90..b67cff0 100644
--- a/arch/arm/mach-orion5x/edmini_v2-setup.c
+++ b/arch/arm/mach-orion5x/edmini_v2-setup.c
@@ -180,31 +180,31 @@ static struct platform_device edmini_v2_gpio_buttons = {?/*****************************************************************************
?* General Setup
?****************************************************************************/
-static struct orion5x_mpp_mode edminiv2_mpp_modes[] __initdata = {
- ? ? ? { ?0, MPP_UNUSED },
- ? ? ? { ?1, MPP_UNUSED },
- ? ? ? { ?2, MPP_UNUSED },
- ? ? ? { ?3, MPP_GPIO }, ? ? ? /* RTC interrupt */
- ? ? ? { ?4, MPP_UNUSED },
- ? ? ? { ?5, MPP_UNUSED },
- ? ? ? { ?6, MPP_UNUSED },
- ? ? ? { ?7, MPP_UNUSED },
- ? ? ? { ?8, MPP_UNUSED },
- ? ? ? { ?9, MPP_UNUSED },
- ? ? ? { 10, MPP_UNUSED },
- ? ? ? { 11, MPP_UNUSED },
- ? ? ? { 12, MPP_SATA_LED }, ? /* SATA 0 presence */
- ? ? ? { 13, MPP_SATA_LED }, ? /* SATA 1 presence */
- ? ? ? { 14, MPP_SATA_LED }, ? /* SATA 0 active */
- ? ? ? { 15, MPP_SATA_LED }, ? /* SATA 1 active */
+static unsigned int edminiv2_mpp_modes[] __initdata = {
+ ? ? ? MPP0_UNUSED,
+ ? ? ? MPP1_UNUSED,
+ ? ? ? MPP2_UNUSED,
+ ? ? ? MPP3_GPIO, ? ? ?/* RTC interrupt */
+ ? ? ? MPP4_UNUSED,
+ ? ? ? MPP5_UNUSED,
+ ? ? ? MPP6_UNUSED,
+ ? ? ? MPP7_UNUSED,
+ ? ? ? MPP8_UNUSED,
+ ? ? ? MPP9_UNUSED,
+ ? ? ? MPP10_UNUSED,
+ ? ? ? MPP11_UNUSED,
+ ? ? ? MPP12_SATA_LED, /* SATA 0 presence */
+ ? ? ? MPP13_SATA_LED, /* SATA 1 presence */
+ ? ? ? MPP14_SATA_LED, /* SATA 0 active */
+ ? ? ? MPP15_SATA_LED, /* SATA 1 active */
? ? ? ?/* 16: Power LED control (0 = On, 1 = Off) */
- ? ? ? { 16, MPP_GPIO },
+ ? ? ? MPP16_GPIO,
? ? ? ?/* 17: Power LED control select (0 = CPLD, 1 = GPIO16) */
- ? ? ? { 17, MPP_GPIO },
+ ? ? ? MPP17_GPIO,
? ? ? ?/* 18: Power button status (0 = Released, 1 = Pressed) */
- ? ? ? { 18, MPP_GPIO },
- ? ? ? { 19, MPP_UNUSED },
- ? ? ? { -1 }
+ ? ? ? MPP18_GPIO,
+ ? ? ? MPP19_UNUSED,
+ ? ? ? 0,
?};
?static void __init edmini_v2_init(void)diff --git a/arch/arm/mach-orion5x/kurobox_pro-setup.c b/arch/arm/mach-orion5x/kurobox_pro-setup.c
index 47497c7..c0eb646 100644
--- a/arch/arm/mach-orion5x/kurobox_pro-setup.c
+++ b/arch/arm/mach-orion5x/kurobox_pro-setup.c
@@ -315,28 +315,28 @@ static void kurobox_pro_power_off(void)
?/*****************************************************************************
?* General Setup
?****************************************************************************/
-static struct orion5x_mpp_mode kurobox_pro_mpp_modes[] __initdata = {
- ? ? ? { ?0, MPP_UNUSED },
- ? ? ? { ?1, MPP_UNUSED },
- ? ? ? { ?2, MPP_GPIO }, ? ? ? ? ? ? ? /* GPIO Micon */
- ? ? ? { ?3, MPP_GPIO }, ? ? ? ? ? ? ? /* GPIO Rtc */
- ? ? ? { ?4, MPP_UNUSED },
- ? ? ? { ?5, MPP_UNUSED },
- ? ? ? { ?6, MPP_NAND }, ? ? ? ? ? ? ? /* NAND Flash REn */
- ? ? ? { ?7, MPP_NAND }, ? ? ? ? ? ? ? /* NAND Flash WEn */
- ? ? ? { ?8, MPP_UNUSED },
- ? ? ? { ?9, MPP_UNUSED },
- ? ? ? { 10, MPP_UNUSED },
- ? ? ? { 11, MPP_UNUSED },
- ? ? ? { 12, MPP_SATA_LED }, ? ? ? ? ? /* SATA 0 presence */
- ? ? ? { 13, MPP_SATA_LED }, ? ? ? ? ? /* SATA 1 presence */
- ? ? ? { 14, MPP_SATA_LED }, ? ? ? ? ? /* SATA 0 active */
- ? ? ? { 15, MPP_SATA_LED }, ? ? ? ? ? /* SATA 1 active */
- ? ? ? { 16, MPP_UART }, ? ? ? ? ? ? ? /* UART1 RXD */
- ? ? ? { 17, MPP_UART }, ? ? ? ? ? ? ? /* UART1 TXD */
- ? ? ? { 18, MPP_UART }, ? ? ? ? ? ? ? /* UART1 CTSn */
- ? ? ? { 19, MPP_UART }, ? ? ? ? ? ? ? /* UART1 RTSn */
- ? ? ? { -1 },
+static unsigned int kurobox_pro_mpp_modes[] __initdata = {
+ ? ? ? MPP0_UNUSED,
+ ? ? ? MPP1_UNUSED,
+ ? ? ? MPP2_GPIO, ? ? ? ? ? ? ?/* GPIO Micon */
+ ? ? ? MPP3_GPIO, ? ? ? ? ? ? ?/* GPIO Rtc */
+ ? ? ? MPP4_UNUSED,
+ ? ? ? MPP5_UNUSED,
+ ? ? ? MPP6_NAND, ? ? ? ? ? ? ?/* NAND Flash REn */
+ ? ? ? MPP7_NAND, ? ? ? ? ? ? ?/* NAND Flash WEn */
+ ? ? ? MPP8_UNUSED,
+ ? ? ? MPP9_UNUSED,
+ ? ? ? MPP10_UNUSED,
+ ? ? ? MPP11_UNUSED,
+ ? ? ? MPP12_SATA_LED, ? ? ? ? /* SATA 0 presence */
+ ? ? ? MPP13_SATA_LED, ? ? ? ? /* SATA 1 presence */
+ ? ? ? MPP14_SATA_LED, ? ? ? ? /* SATA 0 active */
+ ? ? ? MPP15_SATA_LED, ? ? ? ? /* SATA 1 active */
+ ? ? ? MPP16_UART, ? ? ? ? ? ? /* UART1 RXD */
+ ? ? ? MPP17_UART, ? ? ? ? ? ? /* UART1 TXD */
+ ? ? ? MPP18_UART, ? ? ? ? ? ? /* UART1 CTSn */
+ ? ? ? MPP19_UART, ? ? ? ? ? ? /* UART1 RTSn */
+ ? ? ? 0,
?};
?static void __init kurobox_pro_init(void)diff --git a/arch/arm/mach-orion5x/ls-chl-setup.c b/arch/arm/mach-orion5x/ls-chl-setup.c
index 6ae12aa..5065803 100644
--- a/arch/arm/mach-orion5x/ls-chl-setup.c
+++ b/arch/arm/mach-orion5x/ls-chl-setup.c
@@ -251,28 +251,28 @@ static struct platform_device lschl_fan_device = {?* GPIO Data
?****************************************************************************/
-static struct orion5x_mpp_mode lschl_mpp_modes[] __initdata = {
- ? ? ? { ?0, MPP_GPIO }, /* LED POWER */
- ? ? ? { ?1, MPP_GPIO }, /* HDD POWER */
- ? ? ? { ?2, MPP_GPIO }, /* LED ALARM */
- ? ? ? { ?3, MPP_GPIO }, /* LED INFO */
- ? ? ? { ?4, MPP_UNUSED },
- ? ? ? { ?5, MPP_UNUSED },
- ? ? ? { ?6, MPP_GPIO }, /* FAN LOCK */
- ? ? ? { ?7, MPP_GPIO }, /* SW INIT */
- ? ? ? { ?8, MPP_GPIO }, /* SW POWER */
- ? ? ? { ?9, MPP_GPIO }, /* USB POWER */
- ? ? ? { 10, MPP_GPIO }, /* SW AUTO POWER */
- ? ? ? { 11, MPP_UNUSED },
- ? ? ? { 12, MPP_UNUSED },
- ? ? ? { 13, MPP_UNUSED },
- ? ? ? { 14, MPP_GPIO }, /* FAN HIGH */
- ? ? ? { 15, MPP_GPIO }, /* SW FUNC */
- ? ? ? { 16, MPP_GPIO }, /* FAN LOW */
- ? ? ? { 17, MPP_GPIO }, /* LED FUNC */
- ? ? ? { 18, MPP_UNUSED },
- ? ? ? { 19, MPP_UNUSED },
- ? ? ? { -1 },
+static unsigned int lschl_mpp_modes[] __initdata = {
+ ? ? ? MPP0_GPIO, /* LED POWER */
+ ? ? ? MPP1_GPIO, /* HDD POWER */
+ ? ? ? MPP2_GPIO, /* LED ALARM */
+ ? ? ? MPP3_GPIO, /* LED INFO */
+ ? ? ? MPP4_UNUSED,
+ ? ? ? MPP5_UNUSED,
+ ? ? ? MPP6_GPIO, /* FAN LOCK */
+ ? ? ? MPP7_GPIO, /* SW INIT */
+ ? ? ? MPP8_GPIO, /* SW POWER */
+ ? ? ? MPP9_GPIO, /* USB POWER */
+ ? ? ? MPP10_GPIO, /* SW AUTO POWER */
+ ? ? ? MPP11_UNUSED,
+ ? ? ? MPP12_UNUSED,
+ ? ? ? MPP13_UNUSED,
+ ? ? ? MPP14_GPIO, /* FAN HIGH */
+ ? ? ? MPP15_GPIO, /* SW FUNC */
+ ? ? ? MPP16_GPIO, /* FAN LOW */
+ ? ? ? MPP17_GPIO, /* LED FUNC */
+ ? ? ? MPP18_UNUSED,
+ ? ? ? MPP19_UNUSED,
+ ? ? ? 0,
?};
?static void __init lschl_init(void)diff --git a/arch/arm/mach-orion5x/ls_hgl-setup.c b/arch/arm/mach-orion5x/ls_hgl-setup.c
index 7adafd7..8503d0a 100644
--- a/arch/arm/mach-orion5x/ls_hgl-setup.c
+++ b/arch/arm/mach-orion5x/ls_hgl-setup.c
@@ -200,28 +200,28 @@ static void ls_hgl_power_off(void)
?#define LS_HGL_GPIO_HDD_POWER ?1
-static struct orion5x_mpp_mode ls_hgl_mpp_modes[] __initdata = {
- ? ? ? { ?0, MPP_GPIO }, /* LED_PWR */
- ? ? ? { ?1, MPP_GPIO }, /* HDD_PWR */
- ? ? ? { ?2, MPP_GPIO }, /* LED_ALARM */
- ? ? ? { ?3, MPP_GPIO }, /* LED_INFO */
- ? ? ? { ?4, MPP_UNUSED },
- ? ? ? { ?5, MPP_UNUSED },
- ? ? ? { ?6, MPP_GPIO }, /* FAN_LCK */
- ? ? ? { ?7, MPP_GPIO }, /* INIT */
- ? ? ? { ?8, MPP_GPIO }, /* POWER */
- ? ? ? { ?9, MPP_GPIO }, /* USB_PWR */
- ? ? ? { 10, MPP_GPIO }, /* AUTO_POWER */
- ? ? ? { 11, MPP_UNUSED }, /* LED_ETH (dummy) */
- ? ? ? { 12, MPP_UNUSED },
- ? ? ? { 13, MPP_UNUSED },
- ? ? ? { 14, MPP_UNUSED },
- ? ? ? { 15, MPP_GPIO }, /* FUNC */
- ? ? ? { 16, MPP_UNUSED },
- ? ? ? { 17, MPP_GPIO }, /* LED_FUNC */
- ? ? ? { 18, MPP_UNUSED },
- ? ? ? { 19, MPP_UNUSED },
- ? ? ? { -1 },
+static unsigned int ls_hgl_mpp_modes[] __initdata = {
+ ? ? ? MPP0_GPIO, /* LED_PWR */
+ ? ? ? MPP1_GPIO, /* HDD_PWR */
+ ? ? ? MPP2_GPIO, /* LED_ALARM */
+ ? ? ? MPP3_GPIO, /* LED_INFO */
+ ? ? ? MPP4_UNUSED,
+ ? ? ? MPP5_UNUSED,
+ ? ? ? MPP6_GPIO, /* FAN_LCK */
+ ? ? ? MPP7_GPIO, /* INIT */
+ ? ? ? MPP8_GPIO, /* POWER */
+ ? ? ? MPP9_GPIO, /* USB_PWR */
+ ? ? ? MPP10_GPIO, /* AUTO_POWER */
+ ? ? ? MPP11_UNUSED, /* LED_ETH (dummy) */
+ ? ? ? MPP12_UNUSED,
+ ? ? ? MPP13_UNUSED,
+ ? ? ? MPP14_UNUSED,
+ ? ? ? MPP15_GPIO, /* FUNC */
+ ? ? ? MPP16_UNUSED,
+ ? ? ? MPP17_GPIO, /* LED_FUNC */
+ ? ? ? MPP18_UNUSED,
+ ? ? ? MPP19_UNUSED,
+ ? ? ? 0,
?};
?static void __init ls_hgl_init(void)diff --git a/arch/arm/mach-orion5x/lsmini-setup.c b/arch/arm/mach-orion5x/lsmini-setup.c
index 869958f..9c82723 100644
--- a/arch/arm/mach-orion5x/lsmini-setup.c
+++ b/arch/arm/mach-orion5x/lsmini-setup.c
@@ -201,28 +201,28 @@ static void lsmini_power_off(void)
?#define LSMINI_GPIO_HDD_POWER0 1
?#define LSMINI_GPIO_HDD_POWER1 19
-static struct orion5x_mpp_mode lsmini_mpp_modes[] __initdata = {
- ? ? ? { ?0, MPP_UNUSED }, /* LED_RESERVE1 (unused) */
- ? ? ? { ?1, MPP_GPIO }, /* HDD_PWR */
- ? ? ? { ?2, MPP_GPIO }, /* LED_ALARM */
- ? ? ? { ?3, MPP_GPIO }, /* LED_INFO */
- ? ? ? { ?4, MPP_UNUSED },
- ? ? ? { ?5, MPP_UNUSED },
- ? ? ? { ?6, MPP_UNUSED },
- ? ? ? { ?7, MPP_UNUSED },
- ? ? ? { ?8, MPP_UNUSED },
- ? ? ? { ?9, MPP_GPIO }, /* LED_FUNC */
- ? ? ? { 10, MPP_UNUSED },
- ? ? ? { 11, MPP_UNUSED }, /* LED_ETH (dummy) */
- ? ? ? { 12, MPP_UNUSED },
- ? ? ? { 13, MPP_UNUSED },
- ? ? ? { 14, MPP_GPIO }, /* LED_PWR */
- ? ? ? { 15, MPP_GPIO }, /* FUNC */
- ? ? ? { 16, MPP_GPIO }, /* USB_PWR */
- ? ? ? { 17, MPP_GPIO }, /* AUTO_POWER */
- ? ? ? { 18, MPP_GPIO }, /* POWER */
- ? ? ? { 19, MPP_GPIO }, /* HDD_PWR1 */
- ? ? ? { -1 },
+static unsigned int lsmini_mpp_modes[] __initdata = {
+ ? ? ? MPP0_UNUSED, /* LED_RESERVE1 (unused) */
+ ? ? ? MPP1_GPIO, /* HDD_PWR */
+ ? ? ? MPP2_GPIO, /* LED_ALARM */
+ ? ? ? MPP3_GPIO, /* LED_INFO */
+ ? ? ? MPP4_UNUSED,
+ ? ? ? MPP5_UNUSED,
+ ? ? ? MPP6_UNUSED,
+ ? ? ? MPP7_UNUSED,
+ ? ? ? MPP8_UNUSED,
+ ? ? ? MPP9_GPIO, /* LED_FUNC */
+ ? ? ? MPP10_UNUSED,
+ ? ? ? MPP11_UNUSED, /* LED_ETH (dummy) */
+ ? ? ? MPP12_UNUSED,
+ ? ? ? MPP13_UNUSED,
+ ? ? ? MPP14_GPIO, /* LED_PWR */
+ ? ? ? MPP15_GPIO, /* FUNC */
+ ? ? ? MPP16_GPIO, /* USB_PWR */
+ ? ? ? MPP17_GPIO, /* AUTO_POWER */
+ ? ? ? MPP18_GPIO, /* POWER */
+ ? ? ? MPP19_GPIO, /* HDD_PWR1 */
+ ? ? ? 0,
?};
?static void __init lsmini_init(void)diff --git a/arch/arm/mach-orion5x/mpp.c b/arch/arm/mach-orion5x/mpp.c
index 2288207..f12c41b 100644
--- a/arch/arm/mach-orion5x/mpp.c
+++ b/arch/arm/mach-orion5x/mpp.c
?#include <linux/init.h>
?#include <linux/mbus.h>
?#include <linux/io.h>
-#include <asm/gpio.h>
?#include <mach/hardware.h>
-#include "common.h"
+#include <plat/mpp.h>
?#include "mpp.h"
+#include "common.h"
-static int is_5181l(void)
-{
- ? ? ? u32 dev;
- ? ? ? u32 rev;
-
- ? ? ? orion5x_pcie_id(&dev, &rev);
-
- ? ? ? return !!(dev == MV88F5181_DEV_ID && rev >= MV88F5181L_REV_A0);
-}
-
-static int is_5182(void)
+static unsigned int __init orion5x_variant(void)
?{
? ? ? ?u32 dev;
? ? ? ?u32 rev;
? ? ? ?orion5x_pcie_id(&dev, &rev);
- ? ? ? return !!(dev == MV88F5182_DEV_ID);
-}
+ ? ? ? if (dev == MV88F5181_DEV_ID && rev >= MV88F5181L_REV_A0)
+ ? ? ? ? ? ? ? return MPP_F5181_MASK;
-static int is_5281(void)
-{
- ? ? ? u32 dev;
- ? ? ? u32 rev;
+ ? ? ? if (dev == MV88F5182_DEV_ID)
+ ? ? ? ? ? ? ? return MPP_F5182_MASK;
- ? ? ? orion5x_pcie_id(&dev, &rev);
+ ? ? ? if (dev == MV88F5281_DEV_ID)
+ ? ? ? ? ? ? ? return MPP_F5281_MASK;
- ? ? ? return !!(dev == MV88F5281_DEV_ID);
+ ? ? ? printk(KERN_ERR "MPP setup: unknown orion5x variant "
+ ? ? ? ? ? ? ?"(dev %#x rev %#x)\n", dev, rev);
+ ? ? ? return 0;
?}
-static int __init determine_type_encoding(int mpp, enum orion5x_mpp_type type)
+void __init orion5x_mpp_conf(unsigned int *mpp_list)
?{
- ? ? ? switch (type) {
- ? ? ? case MPP_UNUSED:
- ? ? ? case MPP_GPIO:
- ? ? ? ? ? ? ? if (mpp == 0)
- ? ? ? ? ? ? ? ? ? ? ? return 3;
- ? ? ? ? ? ? ? if (mpp >= 1 && mpp <= 15)
- ? ? ? ? ? ? ? ? ? ? ? return 0;
- ? ? ? ? ? ? ? if (mpp >= 16 && mpp <= 19) {
- ? ? ? ? ? ? ? ? ? ? ? if (is_5182())
- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? return 5;
- ? ? ? ? ? ? ? ? ? ? ? if (type == MPP_UNUSED)
- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? return 0;
- ? ? ? ? ? ? ? }
- ? ? ? ? ? ? ? return -1;
-
- ? ? ? case MPP_PCIE_RST_OUTn:
- ? ? ? ? ? ? ? if (mpp == 0)
- ? ? ? ? ? ? ? ? ? ? ? return 0;
- ? ? ? ? ? ? ? return -1;
-
- ? ? ? case MPP_PCI_ARB:
- ? ? ? ? ? ? ? if (mpp >= 0 && mpp <= 7)
- ? ? ? ? ? ? ? ? ? ? ? return 2;
- ? ? ? ? ? ? ? return -1;
-
- ? ? ? case MPP_PCI_PMEn:
- ? ? ? ? ? ? ? if (mpp == 2)
- ? ? ? ? ? ? ? ? ? ? ? return 3;
- ? ? ? ? ? ? ? return -1;
-
- ? ? ? case MPP_GIGE:
- ? ? ? ? ? ? ? if (mpp >= 8 && mpp <= 19)
- ? ? ? ? ? ? ? ? ? ? ? return 1;
- ? ? ? ? ? ? ? return -1;
-
- ? ? ? case MPP_NAND:
- ? ? ? ? ? ? ? if (is_5182() || is_5281()) {
- ? ? ? ? ? ? ? ? ? ? ? if (mpp >= 4 && mpp <= 7)
- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? return 4;
- ? ? ? ? ? ? ? ? ? ? ? if (mpp >= 12 && mpp <= 17)
- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? return 4;
- ? ? ? ? ? ? ? }
- ? ? ? ? ? ? ? return -1;
-
- ? ? ? case MPP_PCI_CLK:
- ? ? ? ? ? ? ? if (is_5181l() && mpp >= 6 && mpp <= 7)
- ? ? ? ? ? ? ? ? ? ? ? return 5;
- ? ? ? ? ? ? ? return -1;
-
- ? ? ? case MPP_SATA_LED:
- ? ? ? ? ? ? ? if (is_5182()) {
- ? ? ? ? ? ? ? ? ? ? ? if (mpp >= 4 && mpp <= 7)
- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? return 5;
- ? ? ? ? ? ? ? ? ? ? ? if (mpp >= 12 && mpp <= 15)
- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? return 5;
- ? ? ? ? ? ? ? }
- ? ? ? ? ? ? ? return -1;
-
- ? ? ? case MPP_UART:
- ? ? ? ? ? ? ? if (mpp >= 16 && mpp <= 19)
- ? ? ? ? ? ? ? ? ? ? ? return 0;
- ? ? ? ? ? ? ? return -1;
- ? ? ? }
-
- ? ? ? printk(KERN_INFO "unknown MPP type %d\n", type);
-
- ? ? ? return -1;
-}
-
-void __init orion5x_mpp_conf(struct orion5x_mpp_mode *mode)
-{
- ? ? ? u32 mpp_0_7_ctrl = readl(MPP_0_7_CTRL);
- ? ? ? u32 mpp_8_15_ctrl = readl(MPP_8_15_CTRL);
- ? ? ? u32 mpp_16_19_ctrl = readl(MPP_16_19_CTRL);
-
- ? ? ? for ( ; mode->mpp >= 0; mode++) {
- ? ? ? ? ? ? ? u32 *reg;
- ? ? ? ? ? ? ? int num_type;
- ? ? ? ? ? ? ? int shift;
-
- ? ? ? ? ? ? ? if (mode->mpp >= 0 && mode->mpp <= 7)
- ? ? ? ? ? ? ? ? ? ? ? reg = &mpp_0_7_ctrl;
- ? ? ? ? ? ? ? else if (mode->mpp >= 8 && mode->mpp <= 15)
- ? ? ? ? ? ? ? ? ? ? ? reg = &mpp_8_15_ctrl;
- ? ? ? ? ? ? ? else if (mode->mpp >= 16 && mode->mpp <= 19)
- ? ? ? ? ? ? ? ? ? ? ? reg = &mpp_16_19_ctrl;
- ? ? ? ? ? ? ? else {
- ? ? ? ? ? ? ? ? ? ? ? printk(KERN_ERR "orion5x_mpp_conf: invalid MPP "
- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "(%d)\n", mode->mpp);
- ? ? ? ? ? ? ? ? ? ? ? continue;
- ? ? ? ? ? ? ? }
-
- ? ? ? ? ? ? ? num_type = determine_type_encoding(mode->mpp, mode->type);
- ? ? ? ? ? ? ? if (num_type < 0) {
- ? ? ? ? ? ? ? ? ? ? ? printk(KERN_ERR "orion5x_mpp_conf: invalid MPP "
- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "combination (%d, %d)\n", mode->mpp,
- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? mode->type);
- ? ? ? ? ? ? ? ? ? ? ? continue;
- ? ? ? ? ? ? ? }
-
- ? ? ? ? ? ? ? shift = (mode->mpp & 7) << 2;
- ? ? ? ? ? ? ? *reg &= ~(0xf << shift);
- ? ? ? ? ? ? ? *reg |= (num_type & 0xf) << shift;
-
- ? ? ? ? ? ? ? if (mode->type == MPP_UNUSED && (mode->mpp < 16 || is_5182()))
- ? ? ? ? ? ? ? ? ? ? ? orion_gpio_set_unused(mode->mpp);
-
- ? ? ? ? ? ? ? orion_gpio_set_valid(mode->mpp, !!(mode->type == MPP_GPIO));
- ? ? ? }
-
- ? ? ? writel(mpp_0_7_ctrl, MPP_0_7_CTRL);
- ? ? ? writel(mpp_8_15_ctrl, MPP_8_15_CTRL);
- ? ? ? writel(mpp_16_19_ctrl, MPP_16_19_CTRL);
+ ? ? ? orion_mpp_conf(mpp_list, orion5x_variant(),
+ ? ? ? ? ? ? ? ? ? ? ?MPP_MAX, ORION5X_DEV_BUS_VIRT_BASE);
?}diff --git a/arch/arm/mach-orion5x/mpp.h b/arch/arm/mach-orion5x/mpp.h
index 290e610..e1ad611 100644
--- a/arch/arm/mach-orion5x/mpp.h
+++ b/arch/arm/mach-orion5x/mpp.h
?#ifndef __ARCH_ORION5X_MPP_H
?#define __ARCH_ORION5X_MPP_H
-enum orion5x_mpp_type {
- ? ? ? /*
- ? ? ? ?* This MPP is unused.
- ? ? ? ?*/
- ? ? ? MPP_UNUSED,
-
- ? ? ? /*
- ? ? ? ?* This MPP pin is used as a generic GPIO pin. ?Valid for
- ? ? ? ?* MPPs 0-15 and device bus data pins 16-31. ?On 5182, also
- ? ? ? ?* valid for MPPs 16-19.
- ? ? ? ?*/
- ? ? ? MPP_GPIO,
-
- ? ? ? /*
- ? ? ? ?* This MPP is used as PCIe_RST_OUTn pin. ?Valid for
- ? ? ? ?* MPP 0 only.
- ? ? ? ?*/
- ? ? ? MPP_PCIE_RST_OUTn,
-
- ? ? ? /*
- ? ? ? ?* This MPP is used as PCI arbiter pin (REQn/GNTn).
- ? ? ? ?* Valid for MPPs 0-7 only.
- ? ? ? ?*/
- ? ? ? MPP_PCI_ARB,
-
- ? ? ? /*
- ? ? ? ?* This MPP is used as PCI_PMEn pin. ?Valid for MPP 2 only.
- ? ? ? ?*/
- ? ? ? MPP_PCI_PMEn,
-
- ? ? ? /*
- ? ? ? ?* This MPP is used as GigE half-duplex (COL, CRS) or GMII
- ? ? ? ?* (RXERR, CRS, TXERR, TXD[7:4], RXD[7:4]) pin. ?Valid for
- ? ? ? ?* MPPs 8-19 only.
- ? ? ? ?*/
- ? ? ? MPP_GIGE,
-
- ? ? ? /*
- ? ? ? ?* This MPP is used as NAND REn/WEn pin. ?Valid for MPPs
- ? ? ? ?* 4-7 and 12-17 only, and only on the 5181l/5182/5281.
- ? ? ? ?*/
- ? ? ? MPP_NAND,
-
- ? ? ? /*
- ? ? ? ?* This MPP is used as a PCI clock output pin. ?Valid for
- ? ? ? ?* MPPs 6-7 only, and only on the 5181l.
- ? ? ? ?*/
- ? ? ? MPP_PCI_CLK,
-
- ? ? ? /*
- ? ? ? ?* This MPP is used as a SATA presence/activity LED.
- ? ? ? ?* Valid for MPPs 4-7 and 12-15 only, and only on the 5182.
- ? ? ? ?*/
- ? ? ? MPP_SATA_LED,
-
- ? ? ? /*
- ? ? ? ?* This MPP is used as UART1 RXD/TXD/CTSn/RTSn pin.
- ? ? ? ?* Valid for MPPs 16-19 only.
- ? ? ? ?*/
- ? ? ? MPP_UART,
-};
-
-struct orion5x_mpp_mode {
- ? ? ? int ? ? ? ? ? ? ? ? ? ? mpp;
- ? ? ? enum orion5x_mpp_type ? type;
-};
-
-void orion5x_mpp_conf(struct orion5x_mpp_mode *mode);
+#define MPP(_num, _sel, _in, _out, _F5181l, _F5182, _F5281) ( \
+ ? ? ? /* MPP number */ ? ? ? ? ? ? ? ?((_num) & 0xff) | \
+ ? ? ? /* MPP select value */ ? ? ? ? ?(((_sel) & 0xf) << 8) | \
+ ? ? ? /* may be input signal */ ? ? ? ((!!(_in)) << 12) | \
+ ? ? ? /* may be output signal */ ? ? ?((!!(_out)) << 13) | \
+ ? ? ? /* available on F5181l */ ? ? ? ((!!(_F5181l)) << 14) | \
+ ? ? ? /* available on F5182 */ ? ? ? ?((!!(_F5182)) << 15) | \
+ ? ? ? /* available on F5281 */ ? ? ? ?((!!(_F5281)) << 16))
+ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* num sel ?i ?o ?5181 5182 5281 */
+
+#define MPP_F5181_MASK ? ? ? ? MPP(0, ?0x0, 0, 0, 1, ? 0, ? 0)
+#define MPP_F5182_MASK ? ? ? ? MPP(0, ?0x0, 0, 0, 0, ? 1, ? 0)
+#define MPP_F5281_MASK ? ? ? ? MPP(0, ?0x0, 0, 0, 0, ? 0, ? 1)
+
+#define MPP0_UNUSED ? ? ? ? ? ?MPP(0, ?0x3, 1, 1, 1, ? 1, ? 1)
+#define MPP0_GPIO ? ? ? ? ? ? ?MPP(0, ?0x3, 1, 1, 1, ? 1, ? 1)
+#define MPP0_PCIE_RST_OUTn ? ? MPP(0, ?0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP0_PCI_ARB ? ? ? ? ? ?MPP(0, ?0x2, 1, 1, 1, ? 1, ? 1)
+
+#define MPP1_UNUSED ? ? ? ? ? ?MPP(1, ?0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP1_GPIO ? ? ? ? ? ? ?MPP(1, ?0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP1_PCI_ARB ? ? ? ? ? ?MPP(1, ?0x2, 1, 1, 1, ? 1, ? 1)
+
+#define MPP2_UNUSED ? ? ? ? ? ?MPP(2, ?0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP2_GPIO ? ? ? ? ? ? ?MPP(2, ?0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP2_PCI_ARB ? ? ? ? ? ?MPP(2, ?0x2, 1, 1, 1, ? 1, ? 1)
+#define MPP2_PCI_PMEn ? ? ? ? ? MPP(2, ?0x3, 1, 1, 1, ? 1, ? 1)
+
+#define MPP3_UNUSED ? ? ? ? ? ?MPP(3, ?0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP3_GPIO ? ? ? ? ? ? ?MPP(3, ?0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP3_PCI_ARB ? ? ? ? ? ?MPP(3, ?0x2, 1, 1, 1, ? 1, ? 1)
+
+#define MPP4_UNUSED ? ? ? ? ? ?MPP(4, ?0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP4_GPIO ? ? ? ? ? ? ?MPP(4, ?0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP4_PCI_ARB ? ? ? ? ? ?MPP(4, ?0x2, 1, 1, 1, ? 1, ? 1)
+#define MPP4_NAND ? ? ? ? ? ? ? MPP(4, ?0x4, 1, 1, 0, ? 1, ? 1)
+#define MPP4_SATA_LED ? ? ? ? ? MPP(4, ?0x5, 1, 1, 0, ? 1, ? 0)
+
+#define MPP5_UNUSED ? ? ? ? ? ?MPP(5, ?0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP5_GPIO ? ? ? ? ? ? ?MPP(5, ?0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP5_PCI_ARB ? ? ? ? ? ?MPP(5, ?0x2, 1, 1, 1, ? 1, ? 1)
+#define MPP5_NAND ? ? ? ? ? ? ? MPP(5, ?0x4, 1, 1, 0, ? 1, ? 1)
+#define MPP5_SATA_LED ? ? ? ? ? MPP(5, ?0x5, 1, 1, 0, ? 1, ? 0)
+
+#define MPP6_UNUSED ? ? ? ? ? ?MPP(6, ?0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP6_GPIO ? ? ? ? ? ? ?MPP(6, ?0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP6_PCI_ARB ? ? ? ? ? ?MPP(6, ?0x2, 1, 1, 1, ? 1, ? 1)
+#define MPP6_NAND ? ? ? ? ? ? ? MPP(6, ?0x4, 1, 1, 0, ? 1, ? 1)
+#define MPP6_PCI_CLK ? ? ? ? ? ?MPP(6, ?0x5, 1, 1, 1, ? 0, ? 0)
+#define MPP6_SATA_LED ? ? ? ? ? MPP(6, ?0x5, 1, 1, 0, ? 1, ? 0)
+
+#define MPP7_UNUSED ? ? ? ? ? ?MPP(7, ?0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP7_GPIO ? ? ? ? ? ? ?MPP(7, ?0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP7_PCI_ARB ? ? ? ? ? ?MPP(7, ?0x2, 1, 1, 1, ? 1, ? 1)
+#define MPP7_NAND ? ? ? ? ? ? ? MPP(7, ?0x4, 1, 1, 0, ? 1, ? 1)
+#define MPP7_PCI_CLK ? ? ? ? ? ?MPP(7, ?0x5, 1, 1, 1, ? 0, ? 0)
+#define MPP7_SATA_LED ? ? ? ? ? MPP(7, ?0x5, 1, 1, 0, ? 1, ? 0)
+
+#define MPP8_UNUSED ? ? ? ? ? ?MPP(8, ?0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP8_GPIO ? ? ? ? ? ? ?MPP(8, ?0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP8_GIGE ? ? ? ? ? ? ? MPP(8, ?0x1, 1, 1, 1, ? 1, ? 1)
+
+#define MPP9_UNUSED ? ? ? ? ? ?MPP(9, ?0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP9_GPIO ? ? ? ? ? ? ?MPP(9, ?0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP9_GIGE ? ? ? ? ? ? ? MPP(9, ?0x1, 1, 1, 1, ? 1, ? 1)
+
+#define MPP10_UNUSED ? ? ? ? ? MPP(10, 0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP10_GPIO ? ? ? ? ? ? MPP(10, 0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP10_GIGE ? ? ? ? ? ? ?MPP(10, 0x1, 1, 1, 1, ? 1, ? 1)
+
+#define MPP11_UNUSED ? ? ? ? ? MPP(11, 0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP11_GPIO ? ? ? ? ? ? MPP(11, 0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP11_GIGE ? ? ? ? ? ? ?MPP(11, 0x1, 1, 1, 1, ? 1, ? 1)
+
+#define MPP12_UNUSED ? ? ? ? ? MPP(12, 0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP12_GPIO ? ? ? ? ? ? MPP(12, 0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP12_GIGE ? ? ? ? ? ? ?MPP(12, 0x1, 1, 1, 1, ? 1, ? 1)
+#define MPP12_NAND ? ? ? ? ? ? ?MPP(12, 0x4, 1, 1, 0, ? 1, ? 1)
+#define MPP12_SATA_LED ? ? ? ? ?MPP(12, 0x5, 1, 1, 0, ? 1, ? 0)
+
+#define MPP13_UNUSED ? ? ? ? ? MPP(13, 0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP13_GPIO ? ? ? ? ? ? MPP(13, 0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP13_GIGE ? ? ? ? ? ? ?MPP(13, 0x1, 1, 1, 1, ? 1, ? 1)
+#define MPP13_NAND ? ? ? ? ? ? ?MPP(13, 0x4, 1, 1, 0, ? 1, ? 1)
+#define MPP13_SATA_LED ? ? ? ? ?MPP(13, 0x5, 1, 1, 0, ? 1, ? 0)
+
+#define MPP14_UNUSED ? ? ? ? ? MPP(14, 0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP14_GPIO ? ? ? ? ? ? MPP(14, 0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP14_GIGE ? ? ? ? ? ? ?MPP(14, 0x1, 1, 1, 1, ? 1, ? 1)
+#define MPP14_NAND ? ? ? ? ? ? ?MPP(14, 0x4, 1, 1, 0, ? 1, ? 1)
+#define MPP14_SATA_LED ? ? ? ? ?MPP(14, 0x5, 1, 1, 0, ? 1, ? 0)
+
+#define MPP15_UNUSED ? ? ? ? ? MPP(15, 0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP15_GPIO ? ? ? ? ? ? MPP(15, 0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP15_GIGE ? ? ? ? ? ? ?MPP(15, 0x1, 1, 1, 1, ? 1, ? 1)
+#define MPP15_NAND ? ? ? ? ? ? ?MPP(15, 0x4, 1, 1, 0, ? 1, ? 1)
+#define MPP15_SATA_LED ? ? ? ? ?MPP(15, 0x5, 1, 1, 0, ? 1, ? 0)
+
+#define MPP16_UNUSED ? ? ? ? ? MPP(16, 0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP16_GPIO ? ? ? ? ? ? MPP(16, 0x5, 1, 1, 0, ? 1, ? 0)
+#define MPP16_GIGE ? ? ? ? ? ? ?MPP(16, 0x1, 1, 1, 1, ? 1, ? 1)
+#define MPP16_NAND ? ? ? ? ? ? ?MPP(16, 0x4, 1, 1, 0, ? 1, ? 1)
+#define MPP16_UART ? ? ? ? ? ? ?MPP(16, 0x0, 1, 1, 0, ? 1, ? 1)
+
+#define MPP17_UNUSED ? ? ? ? ? MPP(17, 0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP17_GPIO ? ? ? ? ? ? MPP(17, 0x5, 1, 1, 0, ? 1, ? 0)
+#define MPP17_GIGE ? ? ? ? ? ? ?MPP(17, 0x1, 1, 1, 1, ? 1, ? 1)
+#define MPP17_NAND ? ? ? ? ? ? ?MPP(17, 0x4, 1, 1, 0, ? 1, ? 1)
+#define MPP17_UART ? ? ? ? ? ? ?MPP(17, 0x0, 1, 1, 0, ? 1, ? 1)
+
+#define MPP18_UNUSED ? ? ? ? ? MPP(18, 0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP18_GPIO ? ? ? ? ? ? MPP(18, 0x5, 1, 1, 0, ? 1, ? 0)
+#define MPP18_GIGE ? ? ? ? ? ? ?MPP(18, 0x1, 1, 1, 1, ? 1, ? 1)
+#define MPP18_UART ? ? ? ? ? ? ?MPP(18, 0x0, 1, 1, 0, ? 1, ? 1)
+
+#define MPP19_UNUSED ? ? ? ? ? MPP(19, 0x0, 1, 1, 1, ? 1, ? 1)
+#define MPP19_GPIO ? ? ? ? ? ? MPP(19, 0x5, 1, 1, 0, ? 1, ? 0)
+#define MPP19_GIGE ? ? ? ? ? ? ?MPP(19, 0x1, 1, 1, 1, ? 1, ? 1)
+#define MPP19_UART ? ? ? ? ? ? ?MPP(19, 0x0, 1, 1, 0, ? 1, ? 1)