From: Mike Frysinger <vapier@gentoo.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/2] net: add Calxeda xgmac driver
Date: Fri, 2 Dec 2011 18:54:32 -0500 [thread overview]
Message-ID: <201112021854.33239.vapier@gentoo.org> (raw)
In-Reply-To: <4ED9554F.1000602@gmail.com>
On Friday 02 December 2011 17:46:39 Rob Herring wrote:
> On 12/02/2011 04:14 PM, Mike Frysinger wrote:
> > On Friday 02 December 2011 17:02:00 Rob Herring wrote:
> >> On 12/02/2011 03:30 PM, Mike Frysinger wrote:
> >>> On Friday 02 December 2011 15:21:48 Rob Herring wrote:
> >>>> + macaddr[1] = readl(dev->iobase + XGMAC_CORE_MACADDR0HI);
> >>>> + macaddr[0] = readl(dev->iobase + XGMAC_CORE_MACADDR0LO);
> >>>> + memcpy(dev->enetaddr, macaddr, 6);
> >>>
> >>> does the initial mac regs really start off with useful info ?
> >>
> >> Yes. It contains the only value that will work.
> >
> > what i mean is that on embedded peripheral blocks, the device powers on
> > with blank register settings and the core needs to program them. how
> > did your device get a mac address already programmed into it ? did
> > something run before u-boot and initialize the registers ? does the
> > hardware block preseed the registers itself by talking to some internal
> > storage ? certainly the mac address isn't programmed into the hardware
> > block itself :).
>
> Something else runs and sets it up and u-boot does not have access to it.
isn't this a board-specific assumption ? shouldn't those lines be protected by
a CONFIG_xxx ifdef that boards can enable as they see fit ?
> >>>> + sprintf(enetvar, id ? "eth%daddr" : "ethaddr", id);
> >>>> + eth_setenv_enetaddr(enetvar, dev->enetaddr);
> >>>
> >>> NAK: delete this
> >>
> >> PXE boot needs the MAC address to generate filenames and gets it from
> >> the env. See format_mac_pxe function in common/cmd_pxe.c. Should that be
> >> done differently? The user setting a MAC address on our platform won't
> >> work, so using the env setting as an override is not valid.
> >
> > device drivers should not be touching the env. common code takes care of
> > that. your driver should only be writing dev->enetaddr.
>
> The common code does not set the env setting. The env setting is
> normally an override of the h/w value and may not even exist. So how
> should the pxe boot command get the MAC address?
>
> - move setting of ethXaddr env to the highbank board file
> - Have PXE call eth_get_dev and get it directly from struct eth_device.
>
> The latter is the only way to enable all boards at once.
i vaguely recall someone else mentioning this, but it doesn't change the
driver logic. no net driver may touch the env, FIN. we can talk about
improving the core/common net code. but let's do so in a dedicated thread.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20111202/54e86324/attachment.pgp>
next prev parent reply other threads:[~2011-12-02 23:54 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-02 20:21 [U-Boot] [PATCH 0/2] Network support for Calxeda highbank Rob Herring
2011-12-02 20:21 ` [U-Boot] [PATCH 1/2] net: add Calxeda xgmac driver Rob Herring
2011-12-02 21:30 ` Mike Frysinger
2011-12-02 22:02 ` Rob Herring
2011-12-02 22:14 ` Mike Frysinger
2011-12-02 22:46 ` Rob Herring
2011-12-02 23:54 ` Mike Frysinger [this message]
2011-12-02 20:21 ` [U-Boot] [PATCH 2/2] ARM: highbank: enable networking and pxe Rob Herring
2011-12-02 21:31 ` Mike Frysinger
2011-12-02 22:03 ` Rob Herring
2011-12-02 22:15 ` Mike Frysinger
2011-12-07 17:56 ` [U-Boot] [PATCH v2 1/2] net: add Calxeda xgmac driver Rob Herring
2011-12-07 17:56 ` [U-Boot] [PATCH v2 2/2] ARM: highbank: enable networking and pxe Rob Herring
2011-12-09 4:00 ` Mike Frysinger
2011-12-09 3:56 ` [U-Boot] [PATCH v2 1/2] net: add Calxeda xgmac driver Mike Frysinger
2011-12-15 21:15 ` [U-Boot] [PATCH v3 " Rob Herring
2011-12-15 21:15 ` [U-Boot] [PATCH v3 2/2] ARM: highbank: enable networking and pxe Rob Herring
2012-01-05 16:32 ` Wolfgang Denk
2011-12-20 22:42 ` [U-Boot] [PATCH v3 1/2] net: add Calxeda xgmac driver Wolfgang Denk
2011-12-20 22:54 ` Rob Herring
2011-12-20 23:09 ` Wolfgang Denk
2011-12-20 23:12 ` Rob Herring
2012-01-05 16:31 ` Wolfgang Denk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201112021854.33239.vapier@gentoo.org \
--to=vapier@gentoo.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.