]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - board/karo/tx6/tx6qdl.c
karo: tx6: check ctrlc before returning error code for unsupported baseboard
[karo-tx-uboot.git] / board / karo / tx6 / tx6qdl.c
index 271ceb6dfd97fa533b00a51239339e50240d027f..f0076e6ccdeee20342e6c73112534ec5077ab2e6 100644 (file)
@@ -454,8 +454,6 @@ static int tx6_pmic_probe(void)
 
        debug("%s@%d: \n", __func__, __LINE__);
 
-//     i2c_init_all();
-
        for (i = 0; i < ARRAY_SIZE(tx6_mod_revs); i++) {
                u8 i2c_addr = tx6_mod_revs[i].addr;
                int ret = i2c_probe(i2c_addr);
@@ -479,7 +477,7 @@ int board_init(void)
        debug("%s@%d: \n", __func__, __LINE__);
 
        pmic_id = tx6_pmic_probe();
-       if (pmic_id >= 0)
+       if (pmic_id >= 0 && pmic_id < ARRAY_SIZE(tx6_mod_revs))
                pmic_addr = tx6_mod_revs[pmic_id].addr;
 
        printf("Board: Ka-Ro TX6%s-%d%d%d%c\n",
@@ -511,7 +509,7 @@ int board_init(void)
                return 0;
        }
 
-       ret = tx6_pmic_init(pmic_addr);
+       ret = tx6_pmic_init(pmic_addr, NULL, 0);
        if (ret) {
                printf("Failed to setup PMIC voltages: %d\n", ret);
                hang();
@@ -1380,7 +1378,6 @@ static void tx6qdl_set_cpu_clock(void)
 
 int board_late_init(void)
 {
-       int ret = 0;
        const char *baseboard;
 
        debug("%s@%d: \n", __func__, __LINE__);
@@ -1425,7 +1422,8 @@ int board_late_init(void)
        } else {
                printf("WARNING: Unsupported baseboard: '%s'\n",
                        baseboard);
-               ret = -EINVAL;
+               if (!had_ctrlc())
+                       return -EINVAL;
        }
 
 exit:
@@ -1433,7 +1431,7 @@ exit:
 
        gpio_set_value(TX6_RESET_OUT_GPIO, 1);
        clear_ctrlc();
-       return ret;
+       return 0;
 }
 
 #ifdef CONFIG_SERIAL_TAG