From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Wed, 24 Sep 2014 21:45:41 +0200 Subject: [U-Boot] ARM: rpi_b: query internal MAC address from firmware In-Reply-To: <54231F28.4020402@wwwdotorg.org> References: <1411530303-23893-1-git-send-email-swarren@wwwdotorg.org> <54231B15.3020103@myspectrum.nl> <54231F28.4020402@wwwdotorg.org> Message-ID: <201409242145.41719.marex@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Wednesday, September 24, 2014 at 09:44:40 PM, Stephen Warren wrote: > On 09/24/2014 01:27 PM, Jeroen Hofstee wrote: > > Hello Stephan, > > > > On 24-09-14 05:45, Stephen Warren wrote: > >> The built-in SMSC 95xx chip doesn't know its own MAC address. Instead, > >> we must query it from the VC firmware; it's probably encoded in fuses > >> on the BCM2835. > >> > >> Signed-off-by: Stephen Warren > >> --- > >> This depends on "usb: dwc2: Add driver for Synopsis DWC2 USB IP block > >> from Marek Vasut". > >> > >> arch/arm/include/asm/arch-bcm2835/mbox.h | 14 ++++++++++++++ > >> board/raspberrypi/rpi_b/rpi_b.c | 26 > >> > >> ++++++++++++++++++++++++++ > >> > >> include/configs/rpi_b.h | 1 + > >> 3 files changed, 41 insertions(+) > > > > [snip] > > > >> +int misc_init_r(void) > >> +{ > >> + ALLOC_ALIGN_BUFFER(struct msg_get_mac_address, msg, 1, 16); > >> + int ret; > >> + > >> + BCM2835_MBOX_INIT_HDR(msg); > >> + BCM2835_MBOX_INIT_TAG(&msg->get_mac_address, GET_MAC_ADDRESS); > >> + > >> + ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN, &msg->hdr); > >> + if (ret) { > >> + printf("bcm2835: Could not query MAC address\n"); > >> + /* Ignore error; not critical */ > >> + return 0; > >> + } > >> + > >> + eth_setenv_enetaddr("usbethaddr", > >> msg->get_mac_address.body.resp.mac); > >> + > >> + return 0; > >> +} > >> + > > > > Normally this should be within a check for if (!getenv("usbethaddr")). > > Any reason to deviate from that? > > That makes sense. I simply wasn't aware of the convention. I'll amend > the patch. OK, waiting for V2 Best regards, Marek Vasut