[PATCH v2] at91sam9260_devices: add flag to change ETX{2,3} pincfg on add_device_eth

Michael Grzeschik m.grzeschik at pengutronix.de
Fri Dec 9 06:28:42 EST 2011


Signed-off-by: Michael Grzeschik <m.grzeschik at pengutronix.de>
---
 - added missing define for AT91SAM_ETX2_ETX3_ALTERNATIVE
 arch/arm/mach-at91/at91sam9260_devices.c |    9 +++++++--
 arch/arm/mach-at91/include/mach/board.h  |    1 +
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c
index 177f770..be1fdd9 100644
--- a/arch/arm/mach-at91/at91sam9260_devices.c
+++ b/arch/arm/mach-at91/at91sam9260_devices.c
@@ -63,8 +63,13 @@ void at91_add_device_eth(struct at91_ether_platform_data *data)
 		at91_set_B_periph(AT91_PIN_PA25, 0);	/* ERX2 */
 		at91_set_B_periph(AT91_PIN_PA26, 0);	/* ERX3 */
 		at91_set_B_periph(AT91_PIN_PA27, 0);	/* ERXCK */
-		at91_set_B_periph(AT91_PIN_PA23, 0);	/* ETX2 */
-		at91_set_B_periph(AT91_PIN_PA24, 0);	/* ETX3 */
+		if (data->flags & AT91SAM_ETX2_ETX3_ALTERNATIVE) {
+			at91_set_B_periph(AT91_PIN_PA10, 0);	/* ETX2 */
+			at91_set_B_periph(AT91_PIN_PA11, 0);	/* ETX3 */
+		} else {
+			at91_set_B_periph(AT91_PIN_PA23, 0);	/* ETX2 */
+			at91_set_B_periph(AT91_PIN_PA24, 0);	/* ETX3 */
+		}
 		at91_set_B_periph(AT91_PIN_PA22, 0);	/* ETXER */
 	}
 
diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h
index 546fe90..5e23688 100644
--- a/arch/arm/mach-at91/include/mach/board.h
+++ b/arch/arm/mach-at91/include/mach/board.h
@@ -51,6 +51,7 @@ void at91_add_device_nand(struct atmel_nand_data *data);
 #define AT91SAM_ETHER_MII		(0 << 0)
 #define AT91SAM_ETHER_RMII		(1 << 0)
 #define AT91SAM_ETHER_FORCE_LINK	(1 << 1)
+#define AT91SAM_ETX2_ETX3_ALTERNATIVE	(2 << 0)
 
 struct at91_ether_platform_data {
 	unsigned int flags;
-- 
1.7.7.3





More information about the barebox mailing list