[U-Boot] [PATCH] at91: Support for the at91sam9g20 : Atmel 400Mhz ARM 926ej-s SOC.

Nicolas Ferre
2009-03-20T11:17:21Z

Ben,

Ben Warren :
> Hi Nicolas,
>
> Nicolas Ferre wrote:
> <snip>
>> diff --git a/drivers/net/macb.c b/drivers/net/macb.c
>> index af0409b..6de0a04 100644
>> --- a/drivers/net/macb.c
>> +++ b/drivers/net/macb.c
>> @@ -447,14 +447,14 @@ 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_AT91SAM9263) || defined(CONFIG_AT91SAM9G20)
>> 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_AT91SAM9263) || defined(CONFIG_AT91SAM9G20)
>> macb_writel(macb, USRIO, MACB_BIT(CLKEN));
>> #else
>> macb_writel(macb, USRIO, MACB_BIT(MII));
>>
> Please find a more generic way of doing this. There should be no
> board/cpu specific #ifdefs in common drivers. While you're at it, fix
> up the existing ones.

Tell me if a configuration variable that I setup in the macb.h file
depending on CPU is acceptable ?
Here is the snippet :
in drivers/net/macb.h

+/* 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

And then I use CONFIG_MACB_USRIO_CFG1 in macb.c

This will prevent me from setting this variable in every CPU config file...

Bye,
--
Nicolas Ferre