Commit 0668744f authored by Joachim Eastwood's avatar Joachim Eastwood Committed by David S. Miller

net/at91_ether: add pdata flag for reverse Eth addr

This will allow us to remove the last mach include from at91_ether
and also make it easier to share address setup with macb.
Signed-off-by: default avatarJoachim Eastwood <manabian@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f4a15e1b
...@@ -53,6 +53,8 @@ static void __init csb337_init_early(void) ...@@ -53,6 +53,8 @@ static void __init csb337_init_early(void)
static struct macb_platform_data __initdata csb337_eth_data = { static struct macb_platform_data __initdata csb337_eth_data = {
.phy_irq_pin = AT91_PIN_PC2, .phy_irq_pin = AT91_PIN_PC2,
.is_rmii = 0, .is_rmii = 0,
/* The CSB337 bootloader stores the MAC the wrong-way around */
.rev_eth_addr = 1,
}; };
static struct at91_usbh_data __initdata csb337_usbh_data = { static struct at91_usbh_data __initdata csb337_usbh_data = {
......
...@@ -21,7 +21,6 @@ if NET_CADENCE ...@@ -21,7 +21,6 @@ if NET_CADENCE
config ARM_AT91_ETHER config ARM_AT91_ETHER
tristate "AT91RM9200 Ethernet support" tristate "AT91RM9200 Ethernet support"
depends on ARM && ARCH_AT91RM9200
select NET_CORE select NET_CORE
select MACB select MACB
---help--- ---help---
......
...@@ -32,8 +32,6 @@ ...@@ -32,8 +32,6 @@
#include <linux/phy.h> #include <linux/phy.h>
#include <linux/io.h> #include <linux/io.h>
#include <asm/mach-types.h>
#include "macb.h" #include "macb.h"
#define DRV_NAME "at91_ether" #define DRV_NAME "at91_ether"
...@@ -61,9 +59,10 @@ ...@@ -61,9 +59,10 @@
static short __init unpack_mac_address(struct net_device *dev, unsigned int hi, unsigned int lo) static short __init unpack_mac_address(struct net_device *dev, unsigned int hi, unsigned int lo)
{ {
struct macb *lp = netdev_priv(dev);
char addr[6]; char addr[6];
if (machine_is_csb337()) { if (lp->board_data.rev_eth_addr) {
addr[5] = (lo & 0xff); /* The CSB337 bootloader stores the MAC the wrong-way around */ addr[5] = (lo & 0xff); /* The CSB337 bootloader stores the MAC the wrong-way around */
addr[4] = (lo & 0xff00) >> 8; addr[4] = (lo & 0xff00) >> 8;
addr[3] = (lo & 0xff0000) >> 16; addr[3] = (lo & 0xff0000) >> 16;
......
...@@ -12,6 +12,7 @@ struct macb_platform_data { ...@@ -12,6 +12,7 @@ struct macb_platform_data {
u32 phy_mask; u32 phy_mask;
int phy_irq_pin; /* PHY IRQ */ int phy_irq_pin; /* PHY IRQ */
u8 is_rmii; /* using RMII interface? */ u8 is_rmii; /* using RMII interface? */
u8 rev_eth_addr; /* reverse Ethernet address byte order */
}; };
#endif /* __MACB_PDATA_H__ */ #endif /* __MACB_PDATA_H__ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment