Re: [PATCH] net: ks8851: Implement EEPROM MAC address readout
On Thu, Oct 08, 2020 at 03:14:17PM +0200, Marek Vasut wrote: > In case there is an EEPROM attached to the KS8851 MAC and the EEPROM > contains a valid MAC address, the MAC address is loaded into the NIC > registers on power on. Read the MAC address out of the NIC registers > and provide it to U-Boot. > > Signed-off-by: Marek Vasut > Cc: Eugen Hristev > Cc: Joe Hershberger Applied to u-boot/master, thanks! -- Tom signature.asc Description: PGP signature
Re: [PATCH] net: ks8851: Implement EEPROM MAC address readout
On 11/4/20 2:22 PM, Tom Rini wrote: On Wed, Nov 04, 2020 at 01:27:28PM +0100, Marek Vasut wrote: On 10/8/20 3:14 PM, Marek Vasut wrote: In case there is an EEPROM attached to the KS8851 MAC and the EEPROM contains a valid MAC address, the MAC address is loaded into the NIC registers on power on. Read the MAC address out of the NIC registers and provide it to U-Boot. Any news on this patch? It has been on the list for a month with zero feedback. Probably time to put together a PR for me then, thanks. It's a single patch, so feel free to just pick it.
Re: [PATCH] net: ks8851: Implement EEPROM MAC address readout
On Wed, Nov 04, 2020 at 01:27:28PM +0100, Marek Vasut wrote: > On 10/8/20 3:14 PM, Marek Vasut wrote: > > In case there is an EEPROM attached to the KS8851 MAC and the EEPROM > > contains a valid MAC address, the MAC address is loaded into the NIC > > registers on power on. Read the MAC address out of the NIC registers > > and provide it to U-Boot. > > Any news on this patch? It has been on the list for a month with zero > feedback. Probably time to put together a PR for me then, thanks. -- Tom signature.asc Description: PGP signature
Re: [PATCH] net: ks8851: Implement EEPROM MAC address readout
On 10/8/20 3:14 PM, Marek Vasut wrote: In case there is an EEPROM attached to the KS8851 MAC and the EEPROM contains a valid MAC address, the MAC address is loaded into the NIC registers on power on. Read the MAC address out of the NIC registers and provide it to U-Boot. Any news on this patch? It has been on the list for a month with zero feedback. [...]
[PATCH] net: ks8851: Implement EEPROM MAC address readout
In case there is an EEPROM attached to the KS8851 MAC and the EEPROM contains a valid MAC address, the MAC address is loaded into the NIC registers on power on. Read the MAC address out of the NIC registers and provide it to U-Boot. Signed-off-by: Marek Vasut Cc: Eugen Hristev Cc: Joe Hershberger --- drivers/net/ks8851_mll.c | 29 + 1 file changed, 29 insertions(+) diff --git a/drivers/net/ks8851_mll.c b/drivers/net/ks8851_mll.c index d22668446d..58e065cdcc 100644 --- a/drivers/net/ks8851_mll.c +++ b/drivers/net/ks8851_mll.c @@ -622,6 +622,34 @@ static int ks8851_write_hwaddr(struct udevice *dev) return 0; } +static int ks8851_read_rom_hwaddr(struct udevice *dev) +{ + struct ks_net *ks = dev_get_priv(dev); + struct eth_pdata *pdata = dev_get_platdata(dev); + u16 addrl, addrm, addrh; + + /* No EEPROM means no valid MAC address. */ + if (!(ks_rdreg16(ks, KS_CCR) & CCR_EEPROM)) + return -EINVAL; + + /* +* If the EEPROM contains valid MAC address, it is loaded into +* the NIC on power on. Read the MAC out of the NIC registers. +*/ + addrl = ks_rdreg16(ks, KS_MARL); + addrm = ks_rdreg16(ks, KS_MARM); + addrh = ks_rdreg16(ks, KS_MARH); + + pdata->enetaddr[0] = (addrh >> 8) & 0xff; + pdata->enetaddr[1] = addrh & 0xff; + pdata->enetaddr[2] = (addrm >> 8) & 0xff; + pdata->enetaddr[3] = addrm & 0xff; + pdata->enetaddr[4] = (addrl >> 8) & 0xff; + pdata->enetaddr[5] = addrl & 0xff; + + return !is_valid_ethaddr(pdata->enetaddr); +} + static int ks8851_bind(struct udevice *dev) { return device_set_name(dev, dev->name); @@ -654,6 +682,7 @@ static const struct eth_ops ks8851_ops = { .send = ks8851_send, .recv = ks8851_recv, .write_hwaddr = ks8851_write_hwaddr, + .read_rom_hwaddr = ks8851_read_rom_hwaddr, }; static const struct udevice_id ks8851_ids[] = { -- 2.28.0