[U-Boot] [PATCH 1/1] at91: Update MEESC board support

Daniel Gorsulowski Daniel.Gorsulowski at esd.eu
Wed Sep 9 09:15:20 CEST 2009


Hello,

Daniel Gorsulowski wrote:
> Hello Wolfgang, Jean-Christophe,
> 
> Wolfgang Denk wrote:
>> Dear Daniel,
>>
>> In message <20090904211358.GR30118 at game.jcrosoft.org> Jean-Christophe wrote:
>>>> +#ifdef CONFIG_REVISION_TAG
>>>> +u32 get_board_rev(void)
>>>> +{
>>>> +	return hw_rev | 0x100;
>>>> +}
>>>> +#endif
>>>> +
>>>> +int misc_init_r(void)
>>>> +{
>>>> +#ifdef CONFIG_MACB
>>>> +	u32 hwaddr_btm;
>>>> +	u16 hwaddr_top;
>>>> +	u8 mac[6];
>>>> +
>>>> +	/* Set ethernet address */
>>>> +	if (!eth_getenv_enetaddr("ethaddr", mac)) {
>>>> +		puts("Missing environment variable 'ethaddr'\n");
>>>> +        } else {
>>>> +		hwaddr_btm = mac[0] | mac[1] << 8 | mac[2] << 16 | mac[3] << 24;
>>>> +		hwaddr_top = mac[4] | mac[5] << 8;
>>>> +		writel(hwaddr_btm, (void *)(AT91SAM9263_BASE_EMAC + MACB_SA1B));
>>>> +		writel(hwaddr_top, (void *)(AT91SAM9263_BASE_EMAC + MACB_SA1T));
>>> nack this will be done when u-boot will need to use the macb#
> Just imagine: U-boot boots a Linux kernel from NAND flash. It does NOT need the
> ethernet interface, so it does NOT initialize ethernet, so the ethernet address
> will NOT be written to the EMAC module!
> As a result, Linux will assign a random address, that is not acceptable!
>> Jean-Christophe means: The Etherent interface must not be always
>> initialized, but only when it is needed and used within U-Boot itself,
>> i. e. if U-boot is performing anetwork command. See also item 2 at
>> http://www.denx.de/wiki/U-Boot/DesignPrinciples  and
>> http://www.denx.de/wiki/view/DULG/EthernetDoesNotWorkInLinux
>>
>> Best regards,
>>
>> Wolfgang Denk
>>
> I know about it.
> 
> But this patch does NOT initialize the Ethernet Interface. It JUST write
> the ethernet address to the EMAC module!
> 
> So please ACK this patch.
> 
> 
> Regards,
> Daniel Gorsulowski

it was worth an attempt...
I made a new patch without the MACB stuff, see separate mail.

Now I parse the ethaddr through the kernel commandline. The kernel patch is
temporary available at http://paste.debian.net/46114/ (maybe someone is
interested in it)

Regards,
Daniel Gorsulowski


More information about the U-Boot mailing list