diff options
author | Stefan Agner <stefan.agner@toradex.com> | 2019-04-09 18:24:08 +0300 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2019-04-25 18:03:25 +0300 |
commit | 89315f319cd9016ede10448e611aa3f2c84188df (patch) | |
tree | 1809eadc3caa02d97fa2ac14305335c7df0111c9 /board/toradex/common | |
parent | 08f80555216515d3e5c97f2b1689ddbe143dd3c7 (diff) | |
download | u-boot-89315f319cd9016ede10448e611aa3f2c84188df.tar.xz |
tdx-cfg-block: simplify i.MX 6 module detection
Use CONFIG_TARGET_... at compile time to differentiate between
Apalis iMX6, Colibri iMX6 and Colibri iMX6ULL. Avoid code
duplication by moving question about Wi-Fi / Bluetooth before
IT/non-IT decision.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Diffstat (limited to 'board/toradex/common')
-rw-r--r-- | board/toradex/common/tdx-cfg-block.c | 68 |
1 files changed, 34 insertions, 34 deletions
diff --git a/board/toradex/common/tdx-cfg-block.c b/board/toradex/common/tdx-cfg-block.c index 3b73421243..71ff40cfad 100644 --- a/board/toradex/common/tdx-cfg-block.c +++ b/board/toradex/common/tdx-cfg-block.c @@ -280,6 +280,9 @@ static int get_cfgblock_interactive(void) char it = 'n'; int len; + /* Unknown module by default */ + tdx_hw_tag.prodid = 0; + if (cpu_is_pxa27x()) sprintf(message, "Is the module the 312 MHz version? [y/N] "); else @@ -290,54 +293,49 @@ static int get_cfgblock_interactive(void) soc = env_get("soc"); if (!strcmp("mx6", soc)) { -#ifdef CONFIG_MACH_TYPE - if (it == 'y' || it == 'Y') +#ifdef CONFIG_TARGET_APALIS_IMX6 + if (it == 'y' || it == 'Y') { if (is_cpu_type(MXC_CPU_MX6Q)) tdx_hw_tag.prodid = APALIS_IMX6Q_IT; else tdx_hw_tag.prodid = APALIS_IMX6D_IT; - else + } else { if (is_cpu_type(MXC_CPU_MX6Q)) tdx_hw_tag.prodid = APALIS_IMX6Q; else tdx_hw_tag.prodid = APALIS_IMX6D; -#else - char wb = 'n'; - + } +#elif CONFIG_TARGET_COLIBRI_IMX6 if (it == 'y' || it == 'Y') { - if (is_cpu_type(MXC_CPU_MX6DL)) { + if (is_cpu_type(MXC_CPU_MX6DL)) tdx_hw_tag.prodid = COLIBRI_IMX6DL_IT; - } else if (is_cpu_type(MXC_CPU_MX6SOLO)) { + else if (is_cpu_type(MXC_CPU_MX6SOLO)) tdx_hw_tag.prodid = COLIBRI_IMX6S_IT; - } else { - sprintf(message, "Does the module have WiFi /" \ - " Bluetooth? [y/N] "); - len = cli_readline(message); - wb = console_buffer[0]; - if (wb == 'y' || wb == 'Y') - tdx_hw_tag.prodid = - COLIBRI_IMX6ULL_WIFI_BT_IT; - else - tdx_hw_tag.prodid = COLIBRI_IMX6ULL_IT; - } } else { - if (is_cpu_type(MXC_CPU_MX6DL)) { + if (is_cpu_type(MXC_CPU_MX6DL)) tdx_hw_tag.prodid = COLIBRI_IMX6DL; - } else if (is_cpu_type(MXC_CPU_MX6SOLO)) { + else if (is_cpu_type(MXC_CPU_MX6SOLO)) tdx_hw_tag.prodid = COLIBRI_IMX6S; - } else { - sprintf(message, "Does the module have WiFi /" \ - " Bluetooth? [y/N] "); - len = cli_readline(message); - wb = console_buffer[0]; - if (wb == 'y' || wb == 'Y') - tdx_hw_tag.prodid = - COLIBRI_IMX6ULL_WIFI_BT; - else - tdx_hw_tag.prodid = COLIBRI_IMX6ULL; - } } -#endif /* CONFIG_MACH_TYPE */ +#elif CONFIG_TARGET_COLIBRI_IMX6ULL + char wb = 'n'; + + sprintf(message, "Does the module have Wi-Fi / Bluetooth? " \ + "[y/N] "); + len = cli_readline(message); + wb = console_buffer[0]; + if (it == 'y' || it == 'Y') { + if (wb == 'y' || wb == 'Y') + tdx_hw_tag.prodid = COLIBRI_IMX6ULL_WIFI_BT_IT; + else + tdx_hw_tag.prodid = COLIBRI_IMX6ULL_IT; + } else { + if (wb == 'y' || wb == 'Y') + tdx_hw_tag.prodid = COLIBRI_IMX6ULL_WIFI_BT; + else + tdx_hw_tag.prodid = COLIBRI_IMX6ULL; + } +#endif } else if (!strcmp("imx7d", soc)) tdx_hw_tag.prodid = COLIBRI_IMX7D; else if (!strcmp("imx7s", soc)) @@ -389,7 +387,9 @@ static int get_cfgblock_interactive(void) tdx_hw_tag.prodid = COLIBRI_VF61_IT; else tdx_hw_tag.prodid = COLIBRI_VF61; - } else { + } + + if (!tdx_hw_tag.prodid) { printf("Module type not detectable due to unknown SoC\n"); return -1; } |