[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