Skip to content
Snippets Groups Projects
Commit f7f12dc4 authored by Tobias Kahlki's avatar Tobias Kahlki Committed by Jonas Höppner
Browse files

[CMD][EEPROM] Add print function and clean-up get function

MODV-78
parent 7b9446a1
No related branches found
No related tags found
No related merge requests found
...@@ -18,20 +18,45 @@ ...@@ -18,20 +18,45 @@
/* /*
* Command Functions * Command Functions
*/ */
static void do_seco_eeprom_manager_get(int argc, char *const *argv[]) static void do_seco_eeprom_manager_print(int argc, char *const *argv[])
{ {
unsigned long i2c_bus = 0, i2c_addr = 0, value = 0; unsigned long i2c_bus = 0, i2c_addr = 0;
char *end = NULL; char *end = NULL;
errno = 0; errno = 0;
value = simple_strtoul(argv[2], &end, 0); i2c_bus = simple_strtoul((*argv)[2], &end, 0);
value = simple_strtoul(argv[3], &end, 0); i2c_addr = simple_strtoul((*argv)[3], &end, 0);
seco_eeprom_init(i2c_bus, i2c_addr); seco_eeprom_init(i2c_bus, i2c_addr);
seco_eeprom_print_all(); seco_eeprom_print_all();
} }
static void do_seco_eeprom_manager_get(int argc, char *const *argv[])
{
unsigned long i2c_bus = 0, i2c_addr = 0, uid = 0;
char *end = NULL;
u8 panel_id = 0;
errno = 0;
i2c_bus = simple_strtoul((*argv)[2], &end, 0);
i2c_addr = simple_strtoul((*argv)[3], &end, 0);
uid = simple_strtoul((*argv)[4], &end, 0);
seco_eeprom_init(i2c_bus, i2c_addr);
switch(uid)
{
case UID_PANEL_ID:
seco_eeprom_get_panel_id(&panel_id);
printf("panel_id: %d\n", panel_id);
break;
default:
printf("Error: Unknown/Unsupported UID \"%s\"\n", (*argv)[4]);
}
}
static void do_seco_eeprom_manager_set(int argc, char *const *argv[]) static void do_seco_eeprom_manager_set(int argc, char *const *argv[])
{ {
/* @TODO */ /* @TODO */
...@@ -40,14 +65,18 @@ static void do_seco_eeprom_manager_set(int argc, char *const *argv[]) ...@@ -40,14 +65,18 @@ static void do_seco_eeprom_manager_set(int argc, char *const *argv[])
static int do_seco_eeprom_manager(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) static int do_seco_eeprom_manager(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
{ {
#if DEBUG #if DEBUG
printf("argc: %d\n", argc);
for(int i = 0; i < argc; ++i) for(int i = 0; i < argc; ++i)
printf("argv[%d]: %s", i, argv[i]); printf("argv[%d]: %s\n", i, argv[i]);
#endif #endif
if (argc < 3) if (argc < 3)
return CMD_RET_USAGE; return CMD_RET_USAGE;
if (!strcmp(argv[1], "get")) if (!strcmp(argv[1], "print"))
do_seco_eeprom_manager_print(argc, &argv);
else if (!strcmp(argv[1], "get"))
do_seco_eeprom_manager_get(argc, &argv); do_seco_eeprom_manager_get(argc, &argv);
else if (!strcmp(argv[1], "set")) else if (!strcmp(argv[1], "set"))
do_seco_eeprom_manager_set(argc, &argv); do_seco_eeprom_manager_set(argc, &argv);
...@@ -58,11 +87,12 @@ static int do_seco_eeprom_manager(struct cmd_tbl *cmdtp, int flag, int argc, cha ...@@ -58,11 +87,12 @@ static int do_seco_eeprom_manager(struct cmd_tbl *cmdtp, int flag, int argc, cha
} }
#define CMD_DESC "SECO EEPROM Manager" #define CMD_DESC "SECO EEPROM Manager"
#define CMD_HELP "get <I2C_BUS> <I2C_ADDR> <UID>\n" \ #define CMD_HELP "print <I2C_BUS> <I2C_ADDR>\n" \
" get <I2C_BUS> <I2C_ADDR> <UID>\n" \
" set <I2C_BUS> <I2C_ADDR> <UID> <VALUE>\n" \ " set <I2C_BUS> <I2C_ADDR> <UID> <VALUE>\n" \
U_BOOT_CMD( U_BOOT_CMD(
seco_eeprom_manager, 3, 0, do_seco_eeprom_manager, seco_eeprom_manager, 6, 0, do_seco_eeprom_manager,
CMD_DESC, CMD_DESC,
CMD_HELP CMD_HELP
); );
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment