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

Nicolas Ferre nicolas.ferre at atmel.com
Fri Mar 20 12:17:21 CET 2009


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



More information about the U-Boot mailing list