Skip to content
Snippets Groups Projects
Commit 3cd8dbfb 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 abb274b1
No related branches found
No related tags found
No related merge requests found
......@@ -18,20 +18,45 @@
/*
* 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;
errno = 0;
value = simple_strtoul(argv[2], &end, 0);
value = simple_strtoul(argv[3], &end, 0);
i2c_bus = simple_strtoul((*argv)[2], &end, 0);
i2c_addr = simple_strtoul((*argv)[3], &end, 0);
seco_eeprom_init(i2c_bus, i2c_addr);
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[])
{
/* @TODO */
......@@ -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[])
{
#if DEBUG
printf("argc: %d\n", argc);
for(int i = 0; i < argc; ++i)
printf("argv[%d]: %s", i, argv[i]);
printf("argv[%d]: %s\n", i, argv[i]);
#endif
if (argc < 3)
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);
else if (!strcmp(argv[1], "set"))
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
}
#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" \
U_BOOT_CMD(
seco_eeprom_manager, 3, 0, do_seco_eeprom_manager,
seco_eeprom_manager, 6, 0, do_seco_eeprom_manager,
CMD_DESC,
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