[U-Boot] [PATCH 2/2] ARM:AM33XX:Added cpsw support for AM335x EVM
Kumar Nath, Chandan
chandan.nath at ti.com
Thu Nov 10 07:29:26 CET 2011
> -----Original Message-----
> From: Tom Rini [mailto:tom.rini at gmail.com]
> Sent: Friday, October 21, 2011 9:15 PM
> To: Kumar Nath, Chandan
> Cc: u-boot at lists.denx.de
> Subject: Re: [U-Boot] [PATCH 2/2] ARM:AM33XX:Added cpsw support for
> AM335x EVM
>
> On Fri, Oct 21, 2011 at 12:02 AM, Chandan Nath <chandan.nath at ti.com>
> wrote:
> > This patch adds cpsw support on AM335X EVM.
> >
> > Signed-off-by: Chandan Nath <chandan.nath at ti.com>
> [snip]
> > +int board_eth_init(bd_t *bis)
> > +{
> > + uint8_t mac_addr[6];
> > + uint32_t mac_hi, mac_lo;
> > + char mac_buf[32];
> > +
> > + if (!eth_getenv_enetaddr("ethaddr", mac_addr)) {
> > + debug("<ethaddr> not set. Reading from E-fuse\n");
> > + /* try reading mac address from efuse */
> > + mac_lo = readl(&cdev->macid0l);
> > + mac_hi = readl(&cdev->macid0h);
> > + mac_addr[0] = mac_hi & 0xFF;
> > + mac_addr[1] = (mac_hi & 0xFF00) >> 8;
> > + mac_addr[2] = (mac_hi & 0xFF0000) >> 16;
> > + mac_addr[3] = (mac_hi & 0xFF000000) >> 24;
> > + mac_addr[4] = mac_lo & 0xFF;
> > + mac_addr[5] = (mac_lo & 0xFF00) >> 8;
> > +
> > + if (is_valid_ether_addr(mac_addr)) {
> > + sprintf(mac_buf,
> "%02x:%02x:%02x:%02x:%02x:%02x",
> > + mac_addr[0], mac_addr[1],
> mac_addr[2],
> > + mac_addr[3], mac_addr[4],
> mac_addr[5]);
> > +
> > + printf("ENET MAC address: %s\n", mac_buf);
> > + setenv("ethaddr", (char *)mac_buf);
>
> This should be eth_setenv_enetaddr("ethaddr", mac_addr) like in my
> tree. Please
> check there as well before submitting patches to the ML as there's some
> cleanups
> I did while updating the original codebase. Thanks.
>
Yes, I will remove this and use eth_setenv_enetaddr.
> [snip]
> > diff --git a/common/miiphyutil.c b/common/miiphyutil.c
> > index 35ad357..4551240 100644
> > --- a/common/miiphyutil.c
> > +++ b/common/miiphyutil.c
> > @@ -558,7 +558,7 @@ int miiphy_is_1000base_x(const char *devname,
> unsigned char addr)
> > "1000BASE-X\n");
> > return 0;
> > }
> > - return 0 != (exsr & (ESTATUS_1000XF | ESTATUS_1000XH));
> > + return 0;
> > #else
> > return 0;
> > #endif
>
> And this, if nothing else, needs a bit of explanation.
This was changed, as AR8031 phy reports speed wrongly.
>
> > diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c
> > index 4cef4cf..c41eeaf 100644
> > --- a/drivers/net/cpsw.c
> > +++ b/drivers/net/cpsw.c
> > @@ -1,22 +1,16 @@
>
> These cleanups and changes should be folded into the initial driver
> submission.
>
> Also:
>
> > +static u_int8_t cpsw_eth_mac_addr[] = { 0x00, 0x11, 0x22, 0x33,
> 0x44, 0x66 };
> > +
> > +/*
> > + * This function must be called before cpsw_init() if you want to
> override
> > + * the default mac address.
> > + */
> > +void cpsw_eth_set_mac_addr(const u_int8_t *addr)
> > +{
> > + int i;
> > +
> > + for (i = 0; i < sizeof(cpsw_eth_mac_addr); i++)
> > + cpsw_eth_mac_addr[i] = addr[i];
> > +}
> > +
>
> This goes away, again please see my tree.
>
Ok, I will clean this up.
> --
> Tom
More information about the U-Boot
mailing list