From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Ferre Date: Mon, 23 Mar 2009 09:58:57 +0100 Subject: [U-Boot] [PATCH] Network AT91 AVR32: generic way of addressing USRIO register layout Message-ID: <49C74F51.1040401@atmel.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de The MACB IP used by AVR32 & AT91 have two different layout for USRIO register. We have to differentiate this in the driver code. No more cpu specific #ifdefs in driver: we manage a configuration variable. Signed-off-by: Nicolas Ferre --- drivers/net/macb.c | 6 ++---- drivers/net/macb.h | 7 +++++++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/net/macb.c b/drivers/net/macb.c index 6de0a04..1023315 100644 --- a/drivers/net/macb.c +++ b/drivers/net/macb.c @@ -446,15 +446,13 @@ static int macb_init(struct eth_device *netdev, bd_t *bd) /* choose RMII or MII mode. This depends on the board */ #ifdef CONFIG_RMII -#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260) || \ - defined(CONFIG_AT91SAM9263) || defined(CONFIG_AT91SAM9G20) +#if defined(CONFIG_MACB_USRIO_CFG1) macb_writel(macb, USRIO, MACB_BIT(RMII) | MACB_BIT(CLKEN)); #else macb_writel(macb, USRIO, 0); #endif #else -#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260) || \ - defined(CONFIG_AT91SAM9263) || defined(CONFIG_AT91SAM9G20) +#if defined(CONFIG_MACB_USRIO_CFG1) macb_writel(macb, USRIO, MACB_BIT(CLKEN)); #else macb_writel(macb, USRIO, MACB_BIT(MII)); diff --git a/drivers/net/macb.h b/drivers/net/macb.h index f92a20c..349499c 100644 --- a/drivers/net/macb.h +++ b/drivers/net/macb.h @@ -212,6 +212,13 @@ #define MACB_SOF_OFFSET 30 #define MACB_SOF_SIZE 2 +/* MACB IP used by AVR32 & AT91 have two + * different layout for USRIO register. */ +#if !defined(CONFIG_AVR32) +/* Use AT91 USRIO layout */ +#define CONFIG_MACB_USRIO_CFG1 1 +#endif + /* Bitfields in USRIO */ #define MACB_MII_OFFSET 0 #define MACB_MII_SIZE 1 -- 1.5.3.7