summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2012-11-16 18:19:53 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2012-11-19 10:19:08 +0100
commitc81154671253d730ad159db136235bfe2111d2db (patch)
treedff453fbc34a6ea4198c24e4ff32235299d97770
parentd1662f9db3d3ba743bd73c72cca86f71f86c2ad4 (diff)
downloadbarebox-c81154671253d730ad159db136235bfe2111d2db.tar.gz
barebox-c81154671253d730ad159db136235bfe2111d2db.tar.xz
macb/ether: split flags for drivers and phylib
as in the kernel use is_rmii flags for pinctrl phy_flags for phylib flags Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/boards/at91rm9200ek/init.c2
-rw-r--r--arch/arm/boards/at91sam9260ek/init.c2
-rw-r--r--arch/arm/boards/at91sam9263ek/init.c2
-rw-r--r--arch/arm/boards/at91sam9m10g45ek/init.c2
-rw-r--r--arch/arm/boards/at91sam9x5ek/init.c2
-rw-r--r--arch/arm/boards/mmccpu/init.c2
-rw-r--r--arch/arm/boards/pm9263/init.c2
-rw-r--r--arch/arm/boards/pm9g45/init.c2
-rw-r--r--arch/arm/boards/qil-a9260/init.c2
-rw-r--r--arch/arm/boards/tny-a926x/init.c2
-rw-r--r--arch/arm/boards/usb-a926x/init.c2
-rw-r--r--arch/arm/mach-at91/at91rm9200_devices.c2
-rw-r--r--arch/arm/mach-at91/at91sam9260_devices.c2
-rw-r--r--arch/arm/mach-at91/at91sam9263_devices.c2
-rw-r--r--arch/arm/mach-at91/at91sam9g45_devices.c2
-rw-r--r--arch/arm/mach-at91/at91sam9x5_devices.c4
-rw-r--r--arch/arm/mach-at91/include/mach/board.h7
-rw-r--r--drivers/net/at91_ether.c2
-rw-r--r--drivers/net/macb.c5
19 files changed, 23 insertions, 25 deletions
diff --git a/arch/arm/boards/at91rm9200ek/init.c b/arch/arm/boards/at91rm9200ek/init.c
index 439ee9e101..f5d242ff94 100644
--- a/arch/arm/boards/at91rm9200ek/init.c
+++ b/arch/arm/boards/at91rm9200ek/init.c
@@ -33,7 +33,7 @@
#include <spi/spi.h>
static struct at91_ether_platform_data ether_pdata = {
- .flags = AT91SAM_ETHER_RMII,
+ .is_rmii = 1,
.phy_addr = 0,
};
diff --git a/arch/arm/boards/at91sam9260ek/init.c b/arch/arm/boards/at91sam9260ek/init.c
index d0a8458c9a..e9bfee6f0d 100644
--- a/arch/arm/boards/at91sam9260ek/init.c
+++ b/arch/arm/boards/at91sam9260ek/init.c
@@ -128,7 +128,7 @@ static void ek_add_device_nand(void)
}
static struct at91_ether_platform_data macb_pdata = {
- .flags = AT91SAM_ETHER_RMII,
+ .is_rmii = 1,
.phy_addr = 0,
};
diff --git a/arch/arm/boards/at91sam9263ek/init.c b/arch/arm/boards/at91sam9263ek/init.c
index b577f4d2e7..45a30fd537 100644
--- a/arch/arm/boards/at91sam9263ek/init.c
+++ b/arch/arm/boards/at91sam9263ek/init.c
@@ -84,7 +84,7 @@ static void ek_add_device_nand(void)
}
static struct at91_ether_platform_data macb_pdata = {
- .flags = AT91SAM_ETHER_RMII,
+ .is_rmii = 1,
.phy_addr = 0,
};
diff --git a/arch/arm/boards/at91sam9m10g45ek/init.c b/arch/arm/boards/at91sam9m10g45ek/init.c
index f1c43cc98a..0c03dea4ae 100644
--- a/arch/arm/boards/at91sam9m10g45ek/init.c
+++ b/arch/arm/boards/at91sam9m10g45ek/init.c
@@ -107,7 +107,7 @@ static void ek_add_device_nand(void)
}
static struct at91_ether_platform_data macb_pdata = {
- .flags = AT91SAM_ETHER_RMII,
+ .is_rmii = 1,
.phy_addr = 0,
};
diff --git a/arch/arm/boards/at91sam9x5ek/init.c b/arch/arm/boards/at91sam9x5ek/init.c
index 562657751a..ba5bc470e4 100644
--- a/arch/arm/boards/at91sam9x5ek/init.c
+++ b/arch/arm/boards/at91sam9x5ek/init.c
@@ -106,7 +106,7 @@ static void ek_add_device_nand(void)
}
static struct at91_ether_platform_data macb_pdata = {
- .flags = AT91SAM_ETHER_RMII,
+ .is_rmii = 1,
.phy_addr = 0,
};
diff --git a/arch/arm/boards/mmccpu/init.c b/arch/arm/boards/mmccpu/init.c
index 97248b9a0c..67bfcea874 100644
--- a/arch/arm/boards/mmccpu/init.c
+++ b/arch/arm/boards/mmccpu/init.c
@@ -34,7 +34,7 @@
#include <mach/io.h>
static struct at91_ether_platform_data macb_pdata = {
- .flags = AT91SAM_ETHER_MII | AT91SAM_ETHER_FORCE_LINK,
+ .phy_flags = PHYLIB_FORCE_LINK,
.phy_addr = 4,
};
diff --git a/arch/arm/boards/pm9263/init.c b/arch/arm/boards/pm9263/init.c
index 14e821fd1b..486df9a18e 100644
--- a/arch/arm/boards/pm9263/init.c
+++ b/arch/arm/boards/pm9263/init.c
@@ -90,7 +90,7 @@ static void pm_add_device_nand(void)
}
static struct at91_ether_platform_data macb_pdata = {
- .flags = AT91SAM_ETHER_RMII,
+ .is_rmii = 1,
.phy_addr = 0,
};
diff --git a/arch/arm/boards/pm9g45/init.c b/arch/arm/boards/pm9g45/init.c
index 675ebe8515..a79b128089 100644
--- a/arch/arm/boards/pm9g45/init.c
+++ b/arch/arm/boards/pm9g45/init.c
@@ -114,7 +114,7 @@ static void __init pm9g45_add_device_usbh(void) {}
#endif
static struct at91_ether_platform_data macb_pdata = {
- .flags = AT91SAM_ETHER_RMII,
+ .is_rmii = 1,
.phy_addr = 0,
};
diff --git a/arch/arm/boards/qil-a9260/init.c b/arch/arm/boards/qil-a9260/init.c
index 8a12b171d8..3bec4e2d27 100644
--- a/arch/arm/boards/qil-a9260/init.c
+++ b/arch/arm/boards/qil-a9260/init.c
@@ -79,7 +79,7 @@ static void qil_a9260_add_device_mci(void) {}
#ifdef CONFIG_CALAO_MB_QIL_A9260
static struct at91_ether_platform_data macb_pdata = {
- .flags = AT91SAM_ETHER_RMII,
+ .is_rmii = 1,
.phy_addr = -1,
};
diff --git a/arch/arm/boards/tny-a926x/init.c b/arch/arm/boards/tny-a926x/init.c
index 270becf3d2..98f1d2b52e 100644
--- a/arch/arm/boards/tny-a926x/init.c
+++ b/arch/arm/boards/tny-a926x/init.c
@@ -114,7 +114,7 @@ static void tny_a9260_add_device_nand(void)
#ifdef CONFIG_DRIVER_NET_MACB
static struct at91_ether_platform_data macb_pdata = {
- .flags = AT91SAM_ETHER_RMII,
+ .is_rmii = 1,
.phy_addr = -1,
};
diff --git a/arch/arm/boards/usb-a926x/init.c b/arch/arm/boards/usb-a926x/init.c
index e0df0264a7..5190aca8a8 100644
--- a/arch/arm/boards/usb-a926x/init.c
+++ b/arch/arm/boards/usb-a926x/init.c
@@ -114,7 +114,7 @@ static void usb_a9260_add_device_nand(void)
}
static struct at91_ether_platform_data macb_pdata = {
- .flags = AT91SAM_ETHER_RMII,
+ .is_rmii = 1,
.phy_addr = -1,
};
diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c
index a676436399..47516646d3 100644
--- a/arch/arm/mach-at91/at91rm9200_devices.c
+++ b/arch/arm/mach-at91/at91rm9200_devices.c
@@ -91,7 +91,7 @@ void __init at91_add_device_eth(int id, struct at91_ether_platform_data *data)
at91_set_A_periph(AT91_PIN_PA8, 0); /* ETXEN */
at91_set_A_periph(AT91_PIN_PA7, 0); /* ETXCK_EREFCK */
- if (!(data->flags & AT91SAM_ETHER_RMII)) {
+ if (!data->is_rmii) {
at91_set_B_periph(AT91_PIN_PB19, 0); /* ERXCK */
at91_set_B_periph(AT91_PIN_PB18, 0); /* ECOL */
at91_set_B_periph(AT91_PIN_PB17, 0); /* ERXDV */
diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c
index 7450ec11ae..04a9c5f1e3 100644
--- a/arch/arm/mach-at91/at91sam9260_devices.c
+++ b/arch/arm/mach-at91/at91sam9260_devices.c
@@ -89,7 +89,7 @@ void at91_add_device_eth(int id, struct at91_ether_platform_data *data)
at91_set_A_periph(AT91_PIN_PA21, 0); /* EMDIO */
at91_set_A_periph(AT91_PIN_PA20, 0); /* EMDC */
- if (!(data->flags & AT91SAM_ETHER_RMII)) {
+ if (!data->is_rmii) {
at91_set_B_periph(AT91_PIN_PA28, 0); /* ECRS */
at91_set_B_periph(AT91_PIN_PA29, 0); /* ECOL */
at91_set_B_periph(AT91_PIN_PA25, 0); /* ERX2 */
diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c
index deffc27b1c..fcd157d2c7 100644
--- a/arch/arm/mach-at91/at91sam9263_devices.c
+++ b/arch/arm/mach-at91/at91sam9263_devices.c
@@ -96,7 +96,7 @@ void at91_add_device_eth(int id, struct at91_ether_platform_data *data)
at91_set_A_periph(AT91_PIN_PE30, 0); /* EMDIO */
at91_set_A_periph(AT91_PIN_PE29, 0); /* EMDC */
- if (!(data->flags & AT91SAM_ETHER_RMII)) {
+ if (!data->is_rmii) {
at91_set_A_periph(AT91_PIN_PE22, 0); /* ECRS */
at91_set_B_periph(AT91_PIN_PC26, 0); /* ECOL */
at91_set_B_periph(AT91_PIN_PC22, 0); /* ERX2 */
diff --git a/arch/arm/mach-at91/at91sam9g45_devices.c b/arch/arm/mach-at91/at91sam9g45_devices.c
index 35cd2e722b..2529404233 100644
--- a/arch/arm/mach-at91/at91sam9g45_devices.c
+++ b/arch/arm/mach-at91/at91sam9g45_devices.c
@@ -72,7 +72,7 @@ void at91_add_device_eth(int id, struct at91_ether_platform_data *data)
at91_set_A_periph(AT91_PIN_PA19, 0); /* EMDIO */
at91_set_A_periph(AT91_PIN_PA18, 0); /* EMDC */
- if (!(data->flags & AT91SAM_ETHER_RMII)) {
+ if (!data->is_rmii) {
at91_set_B_periph(AT91_PIN_PA29, 0); /* ECRS */
at91_set_B_periph(AT91_PIN_PA30, 0); /* ECOL */
at91_set_B_periph(AT91_PIN_PA8, 0); /* ERX2 */
diff --git a/arch/arm/mach-at91/at91sam9x5_devices.c b/arch/arm/mach-at91/at91sam9x5_devices.c
index b804b41344..c2b64e9802 100644
--- a/arch/arm/mach-at91/at91sam9x5_devices.c
+++ b/arch/arm/mach-at91/at91sam9x5_devices.c
@@ -84,7 +84,7 @@ void at91_add_device_eth(int id, struct at91_ether_platform_data *data)
at91_set_A_periph(AT91_PIN_PB5, 0); /* EMDIO */
at91_set_A_periph(AT91_PIN_PB6, 0); /* EMDC */
- if (!(data->flags & AT91SAM_ETHER_RMII)) {
+ if (!data->is_rmii) {
at91_set_A_periph(AT91_PIN_PB16, 0); /* ECRS */
at91_set_A_periph(AT91_PIN_PB17, 0); /* ECOL */
at91_set_A_periph(AT91_PIN_PB13, 0); /* ERX2 */
@@ -97,7 +97,7 @@ void at91_add_device_eth(int id, struct at91_ether_platform_data *data)
break;
case 1:
start = AT91SAM9X5_BASE_EMAC1;
- if (!(data->flags & AT91SAM_ETHER_RMII))
+ if (!data->is_rmii)
pr_warn("AT91: Only RMII available on interface macb%d.\n", id);
/* Pins used for RMII */
diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h
index dcea9f3954..433915f9c2 100644
--- a/arch/arm/mach-at91/include/mach/board.h
+++ b/arch/arm/mach-at91/include/mach/board.h
@@ -63,14 +63,13 @@ struct atmel_nand_data {
void at91_add_device_nand(struct atmel_nand_data *data);
/* Ethernet (EMAC & MACB) */
-#define AT91SAM_ETHER_MII (0 << 0)
-#define AT91SAM_ETHER_RMII (1 << 0)
-#define AT91SAM_ETHER_FORCE_LINK (1 << 1)
-#define AT91SAM_ETX2_ETX3_ALTERNATIVE (1 << 2)
+#define AT91SAM_ETX2_ETX3_ALTERNATIVE (1 << 0)
struct at91_ether_platform_data {
+ unsigned int phy_flags;
unsigned int flags;
int phy_addr;
+ int is_rmii;
int (*get_ethaddr)(struct eth_device*, unsigned char *adr);
};
diff --git a/drivers/net/at91_ether.c b/drivers/net/at91_ether.c
index a6d6183f19..2e3a271d16 100644
--- a/drivers/net/at91_ether.c
+++ b/drivers/net/at91_ether.c
@@ -342,7 +342,7 @@ static int at91_ether_probe(struct device_d *dev)
mac_cfg |= AT91_EMAC_CLK_DIV32 | AT91_EMAC_BIG;
- if (pdata->flags & AT91SAM_ETHER_RMII) {
+ if (pdata->is_rmii) {
ether_dev->interface = PHY_INTERFACE_MODE_RGMII;
mac_cfg |= AT91_EMAC_RMII;
} else {
diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index ce3ef660f3..35e5e58c49 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -439,13 +439,12 @@ static int macb_probe(struct device_d *dev)
macb->miibus.priv = macb;
macb->miibus.parent = dev;
- if (pdata->flags & AT91SAM_ETHER_RMII)
+ if (pdata->is_rmii)
macb->interface = PHY_INTERFACE_MODE_RMII;
else
macb->interface = PHY_INTERFACE_MODE_MII;
- macb->phy_flags = pdata->flags & AT91SAM_ETHER_FORCE_LINK ?
- PHYLIB_FORCE_LINK : 0;
+ macb->phy_flags = pdata->phy_flags;
macb->rx_buffer = dma_alloc_coherent(CFG_MACB_RX_BUFFER_SIZE);
macb->rx_ring = dma_alloc_coherent(CFG_MACB_RX_RING_SIZE * sizeof(struct macb_dma_desc));