[U-Boot] [PATCH] net/designware: revert MAC-address setup on init

Joe Hershberger joe.hershberger at gmail.com
Wed Jul 1 17:26:21 CEST 2015


Hi Alexey,

On Wed, Jul 1, 2015 at 9:25 AM, Alexey Brodkin
<Alexey.Brodkin at synopsys.com> wrote:
> Hi Tom, Joe,
>
> On Wed, 2015-07-01 at 22:22 +0800, Bin Meng wrote:
>> Hi Alexey,
>>
>> On Wed, Jul 1, 2015 at 9:59 PM, Alexey Brodkin
>> <Alexey.Brodkin at synopsys.com> wrote:
>> > http://git.denx.de/?p=u
>> > -boot.git;a=patch;h=f566c9949fbdce2e09a900c5343ca9986e5ba360
>> > broke DW GMAC operation if !DM_ETH because eth_write_hwaddr()
>> > doesn't
>> > exist if !DM_NET.
>> >
>> > As for DM_ETH case I'm still not sure if existing implementation
>> > will
>> > fly.
>> >
>> > The point is as it is said in the comment on "soft reset" that is
>> > triggered with setting DMAMAC_SRST in "busmode" register HW address
>> > gets
>> > reset as well. And we inevitably need to set HW address again.
>> >
>> > So probably better solution is to move mentioned "soft-reset" from
>> > "init" (that is used on start of any network activity) to
>> > "initialize"
>> > (which is only executed once in "board_r" sequence). But that's a
>> > bit of
>> > a different story and for now let's just get DW GMAC functional
>> > again.
>> >
>> > Signed-off-by: Alexey Brodkin <abrodkin at synopsys.com>
>> > Cc: Joe Hershberger <joe.hershberger at ni.com>
>> > Cc: Michal Simek <michal.simek at xilinx.com>
>> > Cc: Tom Rini <trini at konsulko.com>
>> > ---
>> >  drivers/net/designware.c | 4 ++++
>> >  1 file changed, 4 insertions(+)
>> >
>> > diff --git a/drivers/net/designware.c b/drivers/net/designware.c
>> > index ae51cf3..07281a6 100644
>> > --- a/drivers/net/designware.c
>> > +++ b/drivers/net/designware.c
>> > @@ -243,6 +243,10 @@ static int _dw_eth_init(struct dw_eth_dev
>> > *priv, u8 *enetaddr)
>> >                 mdelay(100);
>> >         };
>> >
>> > +       /* Soft reset above clears HW address registers.
>> > +        * So we have to set it here once again */
>> > +       _dw_write_hwaddr(priv, enetaddr);
>> > +
>> >         rx_descs_init(priv);
>> >         tx_descs_init(priv);
>> >
>> > --
>>
>> There is already a patch submitted. Please check
>> http://patchwork.ozlabs.org/patch/484214/
>
> Any chance for mentioned patch "net: designware: Program MAC address to
> hardware after soft reset" to be applied?
>
> This really fixes GMAC operation and it would be nice to have this fix
> in upcoming release.

I think that sounds appropriate. Tom?

-Joe


More information about the U-Boot mailing list