[U-Boot] [PATCH v1 02/14] tdx-cfg-block: simplify i.MX 6 module detection
Igor Opaniuk
igor.opaniuk at toradex.com
Wed Apr 3 08:04:16 UTC 2019
Reviewed-by: Igor Opaniuk <igor.opaniuk at toradex.com>
On Fri, Mar 29, 2019 at 1:36 PM Marcel Ziswiler <marcel at ziswiler.com> wrote:
>
> From: Stefan Agner <stefan.agner at toradex.com>
>
> 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 at toradex.com>
> Acked-by: Marcel Ziswiler <marcel.ziswiler at toradex.com>
>
> ---
>
> board/toradex/common/tdx-cfg-block.c | 68 ++++++++++++++--------------
> 1 file 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;
> }
> --
> 2.20.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot
--
Best regards - Freundliche GrĂ¼sse - Meilleures salutations
Senior Development Engineer,
Igor Opaniuk
Toradex AG
Altsagenstrasse 5 | 6048 Horw/Luzern | Switzerland | T: +41 41 500 48
00 (main line)
More information about the U-Boot
mailing list