> On 15/12/2011 18:22, Marek Vasut wrote: > >> Let imx_get_mac_from_fuse function be a common function, so that other > >> mx28 boards can reuse it. > >> > >> Signed-off-by: Fabio Estevam <fabio.este...@freescale.com> > > Hi Marek,
Hi Stefano, > > >> + writel(OCOTP_CTRL_RD_BANK_OPEN, &ocotp_regs->hw_ocotp_ctrl_set); > >> + > >> + if (mx28_wait_mask_clr(&ocotp_regs->hw_ocotp_ctrl_reg, > >> OCOTP_CTRL_BUSY, + MXS_OCOTP_MAX_TIMEOUT)) { > >> + puts("MXS FEC: Can't get MAC from OCOTP\n"); > >> + return; > >> + } > >> + > >> + data = readl(&ocotp_regs->hw_ocotp_cust0); > >> + > >> + mac[0] = 0x00; > >> + mac[1] = 0x04; > > > > Be careful here. 0x00 0x04 prefix might not be correct for all cases! > > But to be honest, it seems they are correct for the MX28EVK and not for > the M28EVK. The M28EVK and the M28 module are delivered with their own > MAC address that does not belong to the Freescale's range. > > As far as I can see, the M28EVK starts with a Freescale's MAC, and then > the DENX MAC address (Vendor ID C0:E5:4E) is set later to the correct > value when Linux boots. It's actually set even in uboot by ethaddr and eth1addr. This is the default behaviour. > > I can understand this feature in the SOC as a way to set the LSBs of the > MAC address, but leaving to the customer a way to set its own vendor id, > if he bought it. > > What about to add a weak function (board_set_mac_vendor, maybe ?) that > can be called at this point to set the vendor id ? The default behavior > should be to set the Freescale's vendor id. ethaddr and eth1addr is insufficient? M _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot