toradex: tdx-cfg-block: add 0068 i.mx 8m mini sku
authorPhilippe Schenker <philippe.schenker@toradex.com>
Thu, 21 Jul 2022 13:17:31 +0000 (15:17 +0200)
committerStefano Babic <sbabic@denx.de>
Mon, 25 Jul 2022 14:12:00 +0000 (16:12 +0200)
Add new i.MX 8M Mini SKU to ConfigBlock handling.

0068: Verdin iMX8M Mini Quad 2GB WB IT No CAN

This SKU is identical to 0055 but without CAN. Mention this in the name
so those modules can be distinguished.

Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
board/toradex/common/tdx-cfg-block.c
board/toradex/common/tdx-cfg-block.h
board/toradex/verdin-imx8mm/verdin-imx8mm.c

index 9305709..5330292 100644 (file)
@@ -145,6 +145,7 @@ const char * const toradex_modules[] = {
        [65] = "Verdin iMX8M Plus QuadLite 1GB IT",
        [66] = "Verdin iMX8M Plus Quad 8GB Wi-Fi / BT",
        [67] = "Apalis iMX8 QuadMax 8GB Wi-Fi / BT IT",
+       [68] = "Verdin iMX8M Mini Quad 2GB WB IT No CAN",
 };
 
 const char * const toradex_carrier_boards[] = {
@@ -408,6 +409,7 @@ static int get_cfgblock_interactive(void)
        char it = 'n';
        char wb = 'n';
        char mem8g = 'n';
+       char can = 'y';
        int len = 0;
        int ret = 0;
 
@@ -435,6 +437,13 @@ static int get_cfgblock_interactive(void)
                mem8g = console_buffer[0];
        }
 #endif
+#if defined(CONFIG_TARGET_VERDIN_IMX8MM)
+       if (is_cpu_type(MXC_CPU_IMX8MM) && (wb == 'y' || wb == 'Y')) {
+               sprintf(message, "Does your module have CAN? [y/N] ");
+               len = cli_readline(message);
+               can = console_buffer[0];
+       }
+#endif
 #endif
 
        soc = env_get("soc");
@@ -522,7 +531,9 @@ static int get_cfgblock_interactive(void)
                else
                        tdx_hw_tag.prodid = VERDIN_IMX8MMDL;
        } else if (is_cpu_type(MXC_CPU_IMX8MM)) {
-               if (wb == 'y' || wb == 'Y')
+               if (can == 'n' || can == 'N')
+                       tdx_hw_tag.prodid = VERDIN_IMX8MMQ_WIFI_BT_IT_NO_CAN;
+               else if (wb == 'y' || wb == 'Y')
                        tdx_hw_tag.prodid = VERDIN_IMX8MMQ_WIFI_BT_IT;
                else
                        tdx_hw_tag.prodid = VERDIN_IMX8MMQ_IT;
index 1790698..79cd09c 100644 (file)
@@ -88,6 +88,7 @@ enum {
        VERDIN_IMX8MPQL_IT, /* 65 */
        VERDIN_IMX8MPQ_8GB_WIFI_BT,
        APALIS_IMX8QM_8GB_WIFI_BT_IT,
+       VERDIN_IMX8MMQ_WIFI_BT_IT_NO_CAN,
 };
 
 enum {
index c51c99b..7597cd8 100644 (file)
@@ -83,7 +83,8 @@ static void select_dt_from_module_version(void)
                 * device tree.
                 */
                is_wifi = (tdx_hw_tag.prodid == VERDIN_IMX8MMQ_WIFI_BT_IT) ||
-                         (tdx_hw_tag.prodid == VERDIN_IMX8MMDL_WIFI_BT_IT);
+                         (tdx_hw_tag.prodid == VERDIN_IMX8MMDL_WIFI_BT_IT) ||
+                         (tdx_hw_tag.prodid == VERDIN_IMX8MMQ_WIFI_BT_IT_NO_CAN);
        }
 
        switch (get_pcb_revision()) {