Vipin KUMAR wrote: > ethaddr can be optionally read from i2c memory. So, chip_config command > supports > reading/writing hw mac id into i2c memory. Placing this code within > CONFIG_CMD_NET as this would only be needed when network interface is > configured > > Signed-off-by: Vipin Kumar <vipin.ku...@st.com> > --- > board/spear/common/spr_misc.c | 22 +++++++++++++++++++--- > 1 files changed, 19 insertions(+), 3 deletions(-) > > diff --git a/board/spear/common/spr_misc.c b/board/spear/common/spr_misc.c > index e356912..935b2fa 100755 > --- a/board/spear/common/spr_misc.c > +++ b/board/spear/common/spr_misc.c > @@ -37,6 +37,9 @@ > > DECLARE_GLOBAL_DATA_PTR; > static struct chip_data chip_data; > +#if defined(CONFIG_CMD_NET) > +static int i2c_read_mac(uchar *); > +#endif > > int dram_init(void) > { > @@ -166,6 +169,7 @@ int spear_board_init(ulong mach_type) > return 0; > } > > +#if defined(CONFIG_CMD_NET) > static int i2c_read_mac(uchar *buffer) > { > u8 buf[2]; > @@ -205,15 +209,20 @@ static int write_mac(uchar *mac) > puts("I2C EEPROM writing failed \n"); > return -1; > } > +#endif > > int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) > { > void (*sram_setfreq) (unsigned int, unsigned int); > struct chip_data *chip = &chip_data; > - unsigned char mac[6]; > - unsigned int reg, frequency; > + unsigned int frequency; > + > +#if defined(CONFIG_CMD_NET) > + unsigned int reg; > char *s, *e; > char i2c_mac[20]; > + unsigned char mac[6]; > +#endif > > if ((argc > 3) || (argc < 2)) { > cmd_usage(cmdtp); > @@ -244,6 +253,8 @@ int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, > char *argv[]) > } > > return 0; > + > +#if defined(CONFIG_CMD_NET) > } else if (!strcmp(argv[1], "ethaddr")) { > > s = argv[2]; > @@ -255,6 +266,7 @@ int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, > char *argv[]) > write_mac(mac); > > return 0; > +#endif > } else if (!strcmp(argv[1], "print")) { > > if (chip->cpufreq == -1) > @@ -274,13 +286,14 @@ int do_chip_config(cmd_tbl_t *cmdtp, int flag, int > argc, char *argv[]) > else > printf("DDR Type = Not Known\n"); > > +#if defined(CONFIG_CMD_NET) > if (!i2c_read_mac(mac)) { > sprintf(i2c_mac, "%pM", mac); > printf("Ethaddr (from i2c mem) = %s\n", i2c_mac); > } else { > printf("Ethaddr (from i2c mem) = Not set\n"); > } > - > +#endif > printf("Xloader Rev = %s\n", chip->version); > > return 0; > @@ -293,4 +306,7 @@ int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, > char *argv[]) > U_BOOT_CMD(chip_config, 3, 1, do_chip_config, > "configure chip", > "chip_config cpufreq/ddrfreq frequency\n" > +#if defined(CONFIG_CMD_NET) > + "chip_config ethaddr XX:XX:XX:XX:XX:XX" > +#endif > "chip_config print");
May want to add '\n''s at end of help strings. Fine otherwise. Tom _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot