diff mbox series

[v2,3/8] toradex: tdx-cfg-block: add Apalis iMX8X support

Message ID 20200126035522.510799-4-marcel@ziswiler.com
State Superseded
Delegated to: Stefano Babic
Headers show
Series board: toradex: prepare and add Verdin iMX8M Mini support | expand

Commit Message

Marcel Ziswiler Jan. 26, 2020, 3:55 a.m. UTC
From: Marcel Ziswiler <marcel.ziswiler@toradex.com>

Add support for storing configuration for Apalis iMX8X SoM
in Toradex config block.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>

---

Changes in v2:
- Newly added this patch to the series splitting Verdin one as suggested
  by Oleksandr.

 board/toradex/common/tdx-cfg-block.c | 17 ++++++++++++++++-
 board/toradex/common/tdx-cfg-block.h |  2 ++
 2 files changed, 18 insertions(+), 1 deletion(-)

Comments

Oleksandr Suvorov Jan. 27, 2020, 1:51 p.m. UTC | #1
On Sun, Jan 26, 2020 at 5:55 AM Marcel Ziswiler <marcel@ziswiler.com> wrote:
>
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> Add support for storing configuration for Apalis iMX8X SoM
> in Toradex config block.
>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>

Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>

>
> ---
>
> Changes in v2:
> - Newly added this patch to the series splitting Verdin one as suggested
>   by Oleksandr.
>
>  board/toradex/common/tdx-cfg-block.c | 17 ++++++++++++++++-
>  board/toradex/common/tdx-cfg-block.h |  2 ++
>  2 files changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/board/toradex/common/tdx-cfg-block.c b/board/toradex/common/tdx-cfg-block.c
> index 9c86230595..cdd8befbf8 100644
> --- a/board/toradex/common/tdx-cfg-block.c
> +++ b/board/toradex/common/tdx-cfg-block.c
> @@ -1,6 +1,6 @@
>  // SPDX-License-Identifier: GPL-2.0+
>  /*
> - * Copyright (c) 2016-2019 Toradex, Inc.
> + * Copyright (c) 2016-2020 Toradex, Inc.
>   */
>
>  #include <common.h>
> @@ -8,6 +8,7 @@
>
>  #if defined(CONFIG_TARGET_APALIS_IMX6) || \
>         defined(CONFIG_TARGET_APALIS_IMX8) || \
> +       defined(CONFIG_TARGET_APALIS_IMX8X) || \
>         defined(CONFIG_TARGET_COLIBRI_IMX6) || \
>         defined(CONFIG_TARGET_COLIBRI_IMX8X)
>  #include <asm/arch/sys_proto.h>
> @@ -112,6 +113,8 @@ const char * const toradex_modules[] = {
>         [50] = "Colibri iMX8 QuadXPlus 2GB IT",
>         [51] = "Colibri iMX8 DualX 1GB Wi-Fi / Bluetooth",
>         [52] = "Colibri iMX8 DualX 1GB",
> +       [53] = "Apalis iMX8 QuadXPlus 2GB ECC IT",
> +       [54] = "Apalis iMX8 DualXPlus 1GB",
>  };
>
>  #ifdef CONFIG_TDX_CFG_BLOCK_IS_IN_MMC
> @@ -307,6 +310,7 @@ static int get_cfgblock_interactive(void)
>         it = console_buffer[0];
>
>  #if defined(CONFIG_TARGET_APALIS_IMX8) || \
> +               defined(CONFIG_TARGET_APALIS_IMX8X) || \
>                 defined(CONFIG_TARGET_COLIBRI_IMX6ULL) || \
>                 defined(CONFIG_TARGET_COLIBRI_IMX8X)
>         sprintf(message, "Does the module have Wi-Fi / Bluetooth? [y/N] ");
> @@ -370,6 +374,16 @@ static int get_cfgblock_interactive(void)
>                                 tdx_hw_tag.prodid = APALIS_IMX8QP;
>                 }
>         } else if (is_cpu_type(MXC_CPU_IMX8QXP)) {
> +#ifdef CONFIG_TARGET_APALIS_IMX8X
> +               if (it == 'y' || it == 'Y' || wb == 'y' || wb == 'Y') {
> +                               tdx_hw_tag.prodid = APALIS_IMX8QXP_WIFI_BT_IT;
> +               } else {
> +                       if (gd->ram_size == 0x40000000)
> +                               tdx_hw_tag.prodid = APALIS_IMX8DXP;
> +                       else
> +                               tdx_hw_tag.prodid = APALIS_IMX8QXP;
> +               }
> +#elif CONFIG_TARGET_COLIBRI_IMX8X
>                 if (it == 'y' || it == 'Y') {
>                         if (wb == 'y' || wb == 'Y')
>                                 tdx_hw_tag.prodid = COLIBRI_IMX8QXP_WIFI_BT_IT;
> @@ -381,6 +395,7 @@ static int get_cfgblock_interactive(void)
>                         else
>                                 tdx_hw_tag.prodid = COLIBRI_IMX8DX;
>                 }
> +#endif
>         } else if (!strcmp("tegra20", soc)) {
>                 if (it == 'y' || it == 'Y')
>                         if (gd->ram_size == 0x10000000)
> diff --git a/board/toradex/common/tdx-cfg-block.h b/board/toradex/common/tdx-cfg-block.h
> index bfdc8b7f70..319b2a0087 100644
> --- a/board/toradex/common/tdx-cfg-block.h
> +++ b/board/toradex/common/tdx-cfg-block.h
> @@ -73,6 +73,8 @@ enum {
>         COLIBRI_IMX8QXP_IT, /* 50 */
>         COLIBRI_IMX8DX_WIFI_BT,
>         COLIBRI_IMX8DX,
> +       APALIS_IMX8QXP,
> +       APALIS_IMX8DXP,
>  };
>
>  extern const char * const toradex_modules[];
> --
> 2.24.1
>
diff mbox series

Patch

diff --git a/board/toradex/common/tdx-cfg-block.c b/board/toradex/common/tdx-cfg-block.c
index 9c86230595..cdd8befbf8 100644
--- a/board/toradex/common/tdx-cfg-block.c
+++ b/board/toradex/common/tdx-cfg-block.c
@@ -1,6 +1,6 @@ 
 // SPDX-License-Identifier: GPL-2.0+
 /*
- * Copyright (c) 2016-2019 Toradex, Inc.
+ * Copyright (c) 2016-2020 Toradex, Inc.
  */
 
 #include <common.h>
@@ -8,6 +8,7 @@ 
 
 #if defined(CONFIG_TARGET_APALIS_IMX6) || \
 	defined(CONFIG_TARGET_APALIS_IMX8) || \
+	defined(CONFIG_TARGET_APALIS_IMX8X) || \
 	defined(CONFIG_TARGET_COLIBRI_IMX6) || \
 	defined(CONFIG_TARGET_COLIBRI_IMX8X)
 #include <asm/arch/sys_proto.h>
@@ -112,6 +113,8 @@  const char * const toradex_modules[] = {
 	[50] = "Colibri iMX8 QuadXPlus 2GB IT",
 	[51] = "Colibri iMX8 DualX 1GB Wi-Fi / Bluetooth",
 	[52] = "Colibri iMX8 DualX 1GB",
+	[53] = "Apalis iMX8 QuadXPlus 2GB ECC IT",
+	[54] = "Apalis iMX8 DualXPlus 1GB",
 };
 
 #ifdef CONFIG_TDX_CFG_BLOCK_IS_IN_MMC
@@ -307,6 +310,7 @@  static int get_cfgblock_interactive(void)
 	it = console_buffer[0];
 
 #if defined(CONFIG_TARGET_APALIS_IMX8) || \
+		defined(CONFIG_TARGET_APALIS_IMX8X) || \
 		defined(CONFIG_TARGET_COLIBRI_IMX6ULL) || \
 		defined(CONFIG_TARGET_COLIBRI_IMX8X)
 	sprintf(message, "Does the module have Wi-Fi / Bluetooth? [y/N] ");
@@ -370,6 +374,16 @@  static int get_cfgblock_interactive(void)
 				tdx_hw_tag.prodid = APALIS_IMX8QP;
 		}
 	} else if (is_cpu_type(MXC_CPU_IMX8QXP)) {
+#ifdef CONFIG_TARGET_APALIS_IMX8X
+		if (it == 'y' || it == 'Y' || wb == 'y' || wb == 'Y') {
+				tdx_hw_tag.prodid = APALIS_IMX8QXP_WIFI_BT_IT;
+		} else {
+			if (gd->ram_size == 0x40000000)
+				tdx_hw_tag.prodid = APALIS_IMX8DXP;
+			else
+				tdx_hw_tag.prodid = APALIS_IMX8QXP;
+		}
+#elif CONFIG_TARGET_COLIBRI_IMX8X
 		if (it == 'y' || it == 'Y') {
 			if (wb == 'y' || wb == 'Y')
 				tdx_hw_tag.prodid = COLIBRI_IMX8QXP_WIFI_BT_IT;
@@ -381,6 +395,7 @@  static int get_cfgblock_interactive(void)
 			else
 				tdx_hw_tag.prodid = COLIBRI_IMX8DX;
 		}
+#endif
 	} else if (!strcmp("tegra20", soc)) {
 		if (it == 'y' || it == 'Y')
 			if (gd->ram_size == 0x10000000)
diff --git a/board/toradex/common/tdx-cfg-block.h b/board/toradex/common/tdx-cfg-block.h
index bfdc8b7f70..319b2a0087 100644
--- a/board/toradex/common/tdx-cfg-block.h
+++ b/board/toradex/common/tdx-cfg-block.h
@@ -73,6 +73,8 @@  enum {
 	COLIBRI_IMX8QXP_IT, /* 50 */
 	COLIBRI_IMX8DX_WIFI_BT,
 	COLIBRI_IMX8DX,
+	APALIS_IMX8QXP,
+	APALIS_IMX8DXP,
 };
 
 extern const char * const toradex_modules[];