From patchwork Sun Jan 26 03:55:18 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marcel Ziswiler X-Patchwork-Id: 240115 List-Id: U-Boot discussion From: marcel at ziswiler.com (Marcel Ziswiler) Date: Sun, 26 Jan 2020 04:55:18 +0100 Subject: [PATCH v2 4/8] toradex: tdx-cfg-block: add Verdin iMX8M Mini support In-Reply-To: <20200126035522.510799-1-marcel@ziswiler.com> References: <20200126035522.510799-1-marcel@ziswiler.com> Message-ID: <20200126035522.510799-5-marcel@ziswiler.com> From: Marcel Ziswiler Add support for storing configuration for Verdin iMX8M Mini SoM in Toradex config block. Signed-off-by: Marcel Ziswiler Signed-off-by: Igor Opaniuk Reviewed-by: Oleksandr Suvorov --- Changes in v2: - Split Apalis iMX8X off from this one as suggested by Oleksandr. board/toradex/common/tdx-cfg-block.c | 19 +++++++++++++++++-- board/toradex/common/tdx-cfg-block.h | 3 +++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/board/toradex/common/tdx-cfg-block.c b/board/toradex/common/tdx-cfg-block.c index cdd8befbf8..6b47155976 100644 --- a/board/toradex/common/tdx-cfg-block.c +++ b/board/toradex/common/tdx-cfg-block.c @@ -10,7 +10,8 @@ defined(CONFIG_TARGET_APALIS_IMX8) || \ defined(CONFIG_TARGET_APALIS_IMX8X) || \ defined(CONFIG_TARGET_COLIBRI_IMX6) || \ - defined(CONFIG_TARGET_COLIBRI_IMX8X) + defined(CONFIG_TARGET_COLIBRI_IMX8X) || \ + defined(CONFIG_TARGET_VERDIN_IMX8MM) #include #else #define is_cpu_type(cpu) (0) @@ -115,6 +116,9 @@ const char * const toradex_modules[] = { [52] = "Colibri iMX8 DualX 1GB", [53] = "Apalis iMX8 QuadXPlus 2GB ECC IT", [54] = "Apalis iMX8 DualXPlus 1GB", + [55] = "Verdin iMX8M Mini Quad 2GB Wi-Fi / BT IT", + [56] = "UNKNOWN MODULE", + [57] = "Verdin iMX8M Mini DualLite 1GB", }; #ifdef CONFIG_TDX_CFG_BLOCK_IS_IN_MMC @@ -297,17 +301,24 @@ static int get_cfgblock_interactive(void) char *soc; char it = 'n'; char wb = 'n'; - int len; + int len = 0; /* Unknown module by default */ tdx_hw_tag.prodid = 0; if (cpu_is_pxa27x()) sprintf(message, "Is the module the 312 MHz version? [y/N] "); +#if !defined(CONFIG_TARGET_VERDIN_IMX8MM) else sprintf(message, "Is the module an IT version? [y/N] "); + len = cli_readline(message); it = console_buffer[0]; +#else + else + it = 'y'; +#endif + #if defined(CONFIG_TARGET_APALIS_IMX8) || \ defined(CONFIG_TARGET_APALIS_IMX8X) || \ @@ -361,6 +372,10 @@ static int get_cfgblock_interactive(void) tdx_hw_tag.prodid = COLIBRI_IMX7D; else if (!strcmp("imx7s", soc)) tdx_hw_tag.prodid = COLIBRI_IMX7S; + else if (is_cpu_type(MXC_CPU_IMX8MM)) + tdx_hw_tag.prodid = VERDIN_IMX8MMQ_WIFI_BT_IT; + else if (is_cpu_type(MXC_CPU_IMX8MMDL)) + tdx_hw_tag.prodid = VERDIN_IMX8MMDL; else if (is_cpu_type(MXC_CPU_IMX8QM)) { if (it == 'y' || it == 'Y') { if (wb == 'y' || wb == 'Y') diff --git a/board/toradex/common/tdx-cfg-block.h b/board/toradex/common/tdx-cfg-block.h index 319b2a0087..e12262ea73 100644 --- a/board/toradex/common/tdx-cfg-block.h +++ b/board/toradex/common/tdx-cfg-block.h @@ -75,6 +75,9 @@ enum { COLIBRI_IMX8DX, APALIS_IMX8QXP, APALIS_IMX8DXP, + VERDIN_IMX8MMQ_WIFI_BT_IT, + /* 56 */ + VERDIN_IMX8MMDL, }; extern const char * const toradex_modules[];