On Wed, Feb 08, 2017 at 02:04:15PM +0200, Roger Quadros wrote: > Hi, > > On 08/02/17 13:51, Igor Grinberg wrote: > > Hi Roger, > > > > On 02/08/17 10:51, Roger Quadros wrote: > >> Hi Igor, > >> > >> On 07/02/17 09:52, Igor Grinberg wrote: > >>> Hi Roger, > >>> > >>> On 02/06/17 11:36, Roger Quadros wrote: > >>>> PRU ethernet MAC address range is present in the > >>>> board EEPROM. Parse it and setup eth?addr > >>>> environment variables. > >>>> > >>>> Signed-off-by: Roger Quadros <rog...@ti.com> > >>>> Reviewed-by: Lokesh Vutla <lokeshvu...@ti.com> > >>>> --- > >>>> board/ti/ks2_evm/board_k2g.c | 19 +++++++++++++++++++ > >>>> 1 file changed, 19 insertions(+) > >>>> > >>>> diff --git a/board/ti/ks2_evm/board_k2g.c b/board/ti/ks2_evm/board_k2g.c > >>>> index 40edbaa..a738dd2 100644 > >>>> --- a/board/ti/ks2_evm/board_k2g.c > >>>> +++ b/board/ti/ks2_evm/board_k2g.c > >>>> @@ -12,6 +12,7 @@ > >>>> #include <asm/arch/psc_defs.h> > >>>> #include <asm/arch/mmc_host_def.h> > >>>> #include "mux-k2g.h" > >>>> +#include "../common/board_detect.h" > >>>> > >>>> #define SYS_CLK 24000000 > >>>> > >>>> @@ -149,6 +150,24 @@ int board_early_init_f(void) > >>>> } > >>>> #endif > >>>> > >>>> +#ifdef CONFIG_BOARD_LATE_INIT > >>>> +int board_late_init(void) > >>>> +{ > >>>> +#if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_TI_I2C_BOARD_DETECT) > >>>> + int rc; > >>>> + > >>>> + rc = ti_i2c_eeprom_am_get(CONFIG_EEPROM_BUS_ADDRESS, > >>>> + CONFIG_EEPROM_CHIP_ADDRESS); > >>>> + if (rc) > >>>> + printf("ti_i2c_eeprom_init failed %d\n", rc); > >>>> + > >>>> + board_ti_set_ethaddr(1); > >>> > >>> What if the MAC address has already been set in the environment? > >> > >> by whom? > >> At least as of now nobody is setting ethadddr1 on the k2g-ice board. > > > > Well, for example by user... and it is eth1addr. > > OK, I understand now. > > > >> > >>> AFAIR, the MAC address in the environment has a higher precedence > >>> than others. > >>> May be I missed this, but I don't remember any discussion about changing > >>> this assumption. > >>> So, if the assumption is still correct, you shouldn't change the MAC in > >>> the env. > >> > >> I agree with you. I saw Olliver's "Retrieve MAC address from EEPROM" > >> series. > >> However, that may not apply to TI boards yet because: > >> -the SoC's ethernet devices MAC addresses are stored in the SoC registers. > >> -the PRU ethernet MAC addresses which this patch is setting are stored in > >> EEPROM but they are not used at u-boot at all. > >> > >> I'm open to ideas if we can do what we're doing in a better way. > > > > I think Tom's idea of a common function or may be a change to > > eth_setenv_enetaddr_*() functions that will handle the precedence > > is very sensible for such cases. > > Yes, this looks fine to me. Maybe there should be 2 functions? One which > overrides > and one which doesn't?
What's the usecase for the overrides one? If the user wants to go back to the stored ones, env default -f -a ; saveenv ; reset will do it. -- Tom
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot