mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 06:31:31 +00:00
eeprom: Add support for selecting i2c bus
Add additional parameter into the eeprom command to select the I2C bus on which the eeprom resides. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com> Cc: Heiko Schocher <hs@denx.de> Reviewed-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
parent
354e3ed754
commit
d4fec4e988
1 changed files with 11 additions and 4 deletions
|
@ -209,14 +209,21 @@ static int do_eeprom(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||||
char * const *args = &argv[2];
|
char * const *args = &argv[2];
|
||||||
int rcode;
|
int rcode;
|
||||||
ulong dev_addr, addr, off, cnt;
|
ulong dev_addr, addr, off, cnt;
|
||||||
|
int bus_addr;
|
||||||
|
|
||||||
switch (argc) {
|
switch (argc) {
|
||||||
#ifdef CONFIG_SYS_DEF_EEPROM_ADDR
|
#ifdef CONFIG_SYS_DEF_EEPROM_ADDR
|
||||||
case 5:
|
case 5:
|
||||||
|
bus_addr = -1;
|
||||||
dev_addr = CONFIG_SYS_DEF_EEPROM_ADDR;
|
dev_addr = CONFIG_SYS_DEF_EEPROM_ADDR;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
case 6:
|
case 6:
|
||||||
|
bus_addr = -1;
|
||||||
|
dev_addr = simple_strtoul(*args++, NULL, 16);
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
bus_addr = simple_strtoul(*args++, NULL, 16);
|
||||||
dev_addr = simple_strtoul(*args++, NULL, 16);
|
dev_addr = simple_strtoul(*args++, NULL, 16);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -227,7 +234,7 @@ static int do_eeprom(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||||
off = simple_strtoul(*args++, NULL, 16);
|
off = simple_strtoul(*args++, NULL, 16);
|
||||||
cnt = simple_strtoul(*args++, NULL, 16);
|
cnt = simple_strtoul(*args++, NULL, 16);
|
||||||
|
|
||||||
eeprom_init(-1);
|
eeprom_init(bus_addr);
|
||||||
|
|
||||||
if (strcmp (argv[1], "read") == 0) {
|
if (strcmp (argv[1], "read") == 0) {
|
||||||
printf(fmt, dev_addr, argv[1], addr, off, cnt);
|
printf(fmt, dev_addr, argv[1], addr, off, cnt);
|
||||||
|
@ -249,9 +256,9 @@ static int do_eeprom(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
U_BOOT_CMD(
|
U_BOOT_CMD(
|
||||||
eeprom, 6, 1, do_eeprom,
|
eeprom, 7, 1, do_eeprom,
|
||||||
"EEPROM sub-system",
|
"EEPROM sub-system",
|
||||||
"read devaddr addr off cnt\n"
|
"read <bus> <devaddr> addr off cnt\n"
|
||||||
"eeprom write devaddr addr off cnt\n"
|
"eeprom write <bus> <devaddr> addr off cnt\n"
|
||||||
" - read/write `cnt' bytes from `devaddr` EEPROM at offset `off'"
|
" - read/write `cnt' bytes from `devaddr` EEPROM at offset `off'"
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Reference in a new issue