summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorStelian Pop <stelian at>2008-01-03 21:15:56 +0000
committerPeter Pearse <peter.pearse@arm.com>2008-02-14 09:37:58 +0000
commit7263ef191b87da94768f762c7093bedeb70db98f (patch)
tree1de56890664d8226832679342bbd395ca220f07c /drivers
parent6afcabf11d7321850f4feaadfee841488ace54c5 (diff)
AT91CAP9 support : MACB changes
Signed-off-by: Stelian Pop <stelian <at> popies.net> Acked-by: Haavard Skinnemoen <hskinnemoen <at> atmel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/macb.c8
-rw-r--r--drivers/net/macb.h6
2 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index 6657d22926b..9c98338f746 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -417,10 +417,18 @@ static int macb_init(struct eth_device *netdev, bd_t *bd)
/* choose RMII or MII mode. This depends on the board */
#ifdef CONFIG_RMII
+#ifdef CONFIG_AT91CAP9ADK
+ macb_writel(macb, USRIO, MACB_BIT(RMII) | MACB_BIT(CLKEN));
+#else
macb_writel(macb, USRIO, 0);
+#endif
+#else
+#ifdef CONFIG_AT91CAP9ADK
+ macb_writel(macb, USRIO, MACB_BIT(CLKEN));
#else
macb_writel(macb, USRIO, MACB_BIT(MII));
#endif
+#endif /* CONFIG_RMII */
if (!macb_phy_init(macb))
return -1;
diff --git a/drivers/net/macb.h b/drivers/net/macb.h
index c778e4ee493..f92a20c7015 100644
--- a/drivers/net/macb.h
+++ b/drivers/net/macb.h
@@ -222,6 +222,12 @@
#define MACB_TX_PAUSE_ZERO_OFFSET 3
#define MACB_TX_PAUSE_ZERO_SIZE 1
+/* Bitfields in USRIO (AT91) */
+#define MACB_RMII_OFFSET 0
+#define MACB_RMII_SIZE 1
+#define MACB_CLKEN_OFFSET 1
+#define MACB_CLKEN_SIZE 1
+
/* Bitfields in WOL */
#define MACB_IP_OFFSET 0
#define MACB_IP_SIZE 16