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: Joachim Eastwood <manabian@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f4a15e1b29
commit
0668744f79
4 changed files with 5 additions and 4 deletions
|
@ -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
|
||||||
|
|
||||||
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 @@
|
||||||
#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 @@
|
||||||
|
|
||||||
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 {
|
||||||
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__ */
|
||||||
|
|
Loading…
Add table
Reference in a new issue