All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/5] board: toradex: prepare and add colibri imx6ull 1gb (emmc) support
@ 2021-08-16 13:13 Marcel Ziswiler
  2021-08-16 13:13 ` [PATCH v1 1/5] toradex: take over maintainership Marcel Ziswiler
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Marcel Ziswiler @ 2021-08-16 13:13 UTC (permalink / raw)
  To: u-boot
  Cc: Stefano Babic, Fabio Estevam, Marcel Ziswiler, Andre Przywara,
	Aswath Govindraju, Denys Drozdov, Heiko Schocher, Igor Opaniuk,
	Jagan Teki, Kever Yang, Konstantin Porotchkin, Lokesh Vutla,
	Marcin Niestroj, Max Krummenacher, NXP i.MX U-Boot Team,
	Oleksandr Suvorov, Patrick Delaunay, Peter Robinson,
	Philippe Schenker, Priyanka Jain, Simon Glass, Tero Kristo,
	Tim Harvey

From: Marcel Ziswiler <marcel.ziswiler@toradex.com>

Some preparatory steps concerning tdx-cfg-block including a fix for
the interactive mode IT handling and adding them new SKUs and then
adding initial support for the Toradex Colibri iMX6ULL 1GB (eMMC) V1.1A
module. They are now strapped to boot from eFuses which are factory
fused to properly boot from their on-module eMMC.

Functionality wise the following is known to be working:
- 4-bit MMC/SD card slot
- 8-bit eMMC (fused default boot)
- bmode usb (imx_usb or uuu e.g. as used by the Toradex Easy Installer)
- Ethernet
- GPIOs
- I2C
- parallel RGB display
- USB device (e.g. for ums)
- USB host (e.g. for storage devices)

U-Boot 2021.10-rc1-00128-g4877bdab7e6 (Aug 16 2021 - 13:59:21 +0200)

CPU:   Freescale i.MX6ULL rev1.1 792 MHz (running at 396 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 59C
Reset cause: WDOG
DRAM:  1 GiB
MMC:   FSL_SDHC: 1, FSL_SDHC: 0
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Model: Toradex Colibri iMX6ULL 1GB IT (eMMC) V1.1A, Serial# 06906494
Net:   eth1: ethernet@20b4000
Hit any key to stop autoboot:  0
Colibri iMX6ULL #


Denys Drozdov (1):
  toradex: configblock: fix interactive mode it handling

Marcel Ziswiler (2):
  toradex: take over maintainership
  toradex: tdx-cfg-block: add new i.mx 6ull and 8m plus skus

Max Krummenacher (1):
  colibri-imx6ull: add emmc variant

Philippe Schenker (1):
  colibri-imx6ull: imximage.cfg: integrate new 1GiB RAM variant

 arch/arm/dts/Makefile                         |  1 +
 arch/arm/dts/imx6ull-colibri-emmc.dts         | 49 ++++++++++
 arch/arm/dts/imx6ull-colibri.dts              | 34 ++++++-
 arch/arm/dts/imx6ull-colibri.dtsi             | 32 +------
 board/toradex/apalis-imx8x/MAINTAINERS        |  2 +-
 board/toradex/apalis_imx6/MAINTAINERS         |  2 +-
 board/toradex/colibri-imx6ull/Kconfig         | 54 ++++++++++-
 board/toradex/colibri-imx6ull/MAINTAINERS     |  6 +-
 .../toradex/colibri-imx6ull/colibri-imx6ull.c | 27 +++++-
 board/toradex/colibri-imx6ull/imximage.cfg    | 13 ++-
 board/toradex/colibri_imx6/MAINTAINERS        |  2 +-
 board/toradex/colibri_imx7/MAINTAINERS        |  2 +-
 board/toradex/colibri_t20/MAINTAINERS         |  2 +-
 board/toradex/colibri_t30/MAINTAINERS         |  2 +-
 board/toradex/colibri_vf/MAINTAINERS          |  2 +-
 board/toradex/common/tdx-cfg-block.c          | 34 +++++--
 board/toradex/common/tdx-cfg-block.h          |  5 ++
 board/toradex/verdin-imx8mm/MAINTAINERS       |  2 +-
 configs/colibri-imx6ull-emmc_defconfig        | 90 +++++++++++++++++++
 configs/colibri-imx6ull_defconfig             |  1 +
 include/configs/colibri-imx6ull.h             | 53 ++++++++---
 21 files changed, 343 insertions(+), 72 deletions(-)
 create mode 100644 arch/arm/dts/imx6ull-colibri-emmc.dts
 create mode 100644 configs/colibri-imx6ull-emmc_defconfig

-- 
2.26.2


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v1 1/5] toradex: take over maintainership
  2021-08-16 13:13 [PATCH v1 0/5] board: toradex: prepare and add colibri imx6ull 1gb (emmc) support Marcel Ziswiler
@ 2021-08-16 13:13 ` Marcel Ziswiler
  2021-08-16 13:13 ` [PATCH v1 2/5] toradex: configblock: fix interactive mode it handling Marcel Ziswiler
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Marcel Ziswiler @ 2021-08-16 13:13 UTC (permalink / raw)
  To: u-boot; +Cc: Stefano Babic, Fabio Estevam, Marcel Ziswiler, Oleksandr Suvorov

From: Marcel Ziswiler <marcel.ziswiler@toradex.com>

Also take over maintainership of remaining Toradex SoMs as Oleksandr
has left our company.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
CC: Oleksandr Suvorov <cryosay@gmail.com>

---

 board/toradex/apalis-imx8x/MAINTAINERS    | 2 +-
 board/toradex/apalis_imx6/MAINTAINERS     | 2 +-
 board/toradex/colibri-imx6ull/MAINTAINERS | 2 +-
 board/toradex/colibri_imx6/MAINTAINERS    | 2 +-
 board/toradex/colibri_imx7/MAINTAINERS    | 2 +-
 board/toradex/colibri_t20/MAINTAINERS     | 2 +-
 board/toradex/colibri_t30/MAINTAINERS     | 2 +-
 board/toradex/colibri_vf/MAINTAINERS      | 2 +-
 board/toradex/verdin-imx8mm/MAINTAINERS   | 2 +-
 9 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/board/toradex/apalis-imx8x/MAINTAINERS b/board/toradex/apalis-imx8x/MAINTAINERS
index 52721544476..93d6cdd4742 100644
--- a/board/toradex/apalis-imx8x/MAINTAINERS
+++ b/board/toradex/apalis-imx8x/MAINTAINERS
@@ -1,5 +1,5 @@
 Apalis iMX8X
-M:	Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
+M:	Marcel Ziswiler <marcel.ziswiler@toradex.com>
 W:	http://developer.toradex.com/software/linux/linux-software
 S:	Maintained
 F:	arch/arm/dts/fsl-imx8x-apalis.dts
diff --git a/board/toradex/apalis_imx6/MAINTAINERS b/board/toradex/apalis_imx6/MAINTAINERS
index fde4d92dc3d..2685457013e 100644
--- a/board/toradex/apalis_imx6/MAINTAINERS
+++ b/board/toradex/apalis_imx6/MAINTAINERS
@@ -1,5 +1,5 @@
 Apalis iMX6
-M:	Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
+M:	Marcel Ziswiler <marcel.ziswiler@toradex.com>
 W:	http://developer.toradex.com/software/linux/linux-software
 W:      https://www.toradex.com/community
 S:	Maintained
diff --git a/board/toradex/colibri-imx6ull/MAINTAINERS b/board/toradex/colibri-imx6ull/MAINTAINERS
index 899b1ff555c..eb491c273d2 100644
--- a/board/toradex/colibri-imx6ull/MAINTAINERS
+++ b/board/toradex/colibri-imx6ull/MAINTAINERS
@@ -1,5 +1,5 @@
 Colibri iMX6ULL
-M:	Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
+M:	Marcel Ziswiler <marcel.ziswiler@toradex.com>
 W:	http://developer.toradex.com/software/linux/linux-software
 W:	https://www.toradex.com/community
 S:	Maintained
diff --git a/board/toradex/colibri_imx6/MAINTAINERS b/board/toradex/colibri_imx6/MAINTAINERS
index 2cbf65433da..d2ed4147e94 100644
--- a/board/toradex/colibri_imx6/MAINTAINERS
+++ b/board/toradex/colibri_imx6/MAINTAINERS
@@ -1,5 +1,5 @@
 Colibri iMX6
-M:	Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
+M:	Marcel Ziswiler <marcel.ziswiler@toradex.com>
 W:	http://developer.toradex.com/software/linux/linux-software
 W:      https://www.toradex.com/community
 S:	Maintained
diff --git a/board/toradex/colibri_imx7/MAINTAINERS b/board/toradex/colibri_imx7/MAINTAINERS
index 3d7d010d8a6..24bec3ef14e 100644
--- a/board/toradex/colibri_imx7/MAINTAINERS
+++ b/board/toradex/colibri_imx7/MAINTAINERS
@@ -1,5 +1,5 @@
 Colibri iMX7
-M:	Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
+M:	Marcel Ziswiler <marcel.ziswiler@toradex.com>
 W:	http://developer.toradex.com/software/linux/linux-software
 W:	https://www.toradex.com/community
 S:	Maintained
diff --git a/board/toradex/colibri_t20/MAINTAINERS b/board/toradex/colibri_t20/MAINTAINERS
index 61fbd2c1e0d..77c2fc39e61 100644
--- a/board/toradex/colibri_t20/MAINTAINERS
+++ b/board/toradex/colibri_t20/MAINTAINERS
@@ -1,5 +1,5 @@
 COLIBRI_T20
-M:	Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
+M:	Marcel Ziswiler <marcel.ziswiler@toradex.com>
 S:	Maintained
 F:	board/toradex/colibri_t20/
 F:	include/configs/colibri_t20.h
diff --git a/board/toradex/colibri_t30/MAINTAINERS b/board/toradex/colibri_t30/MAINTAINERS
index ded9e28295f..c2d6587ed02 100644
--- a/board/toradex/colibri_t30/MAINTAINERS
+++ b/board/toradex/colibri_t30/MAINTAINERS
@@ -1,5 +1,5 @@
 Colibri T30
-M:	Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
+M:	Marcel Ziswiler <marcel.ziswiler@toradex.com>
 S:	Maintained
 F:	board/toradex/colibri_t30/
 F:	include/configs/colibri_t30.h
diff --git a/board/toradex/colibri_vf/MAINTAINERS b/board/toradex/colibri_vf/MAINTAINERS
index c6627654a25..9f18b9a39d4 100644
--- a/board/toradex/colibri_vf/MAINTAINERS
+++ b/board/toradex/colibri_vf/MAINTAINERS
@@ -1,5 +1,5 @@
 Colibri VFxx
-M:	Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
+M:	Marcel Ziswiler <marcel.ziswiler@toradex.com>
 W:	http://developer.toradex.com/software/linux/linux-software
 W:	https://www.toradex.com/community
 S:	Maintained
diff --git a/board/toradex/verdin-imx8mm/MAINTAINERS b/board/toradex/verdin-imx8mm/MAINTAINERS
index 08c370178cc..7965975d0bf 100644
--- a/board/toradex/verdin-imx8mm/MAINTAINERS
+++ b/board/toradex/verdin-imx8mm/MAINTAINERS
@@ -1,5 +1,5 @@
 Verdin iMX8M Mini
-M:	Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
+M:	Marcel Ziswiler <marcel.ziswiler@toradex.com>
 W:	https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx-8m-mini
 S:	Maintained
 F:	arch/arm/dts/imx8mm-verdin.dts
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v1 2/5] toradex: configblock: fix interactive mode it handling
  2021-08-16 13:13 [PATCH v1 0/5] board: toradex: prepare and add colibri imx6ull 1gb (emmc) support Marcel Ziswiler
  2021-08-16 13:13 ` [PATCH v1 1/5] toradex: take over maintainership Marcel Ziswiler
@ 2021-08-16 13:13 ` Marcel Ziswiler
  2021-08-16 13:27   ` Fabio Estevam
  2021-08-16 13:13 ` [PATCH v1 3/5] toradex: tdx-cfg-block: add new i.mx 6ull and 8m plus skus Marcel Ziswiler
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Marcel Ziswiler @ 2021-08-16 13:13 UTC (permalink / raw)
  To: u-boot
  Cc: Stefano Babic, Fabio Estevam, Denys Drozdov, Marcel Ziswiler,
	Igor Opaniuk, Simon Glass

From: Denys Drozdov <denys.drozdov@toradex.com>

Restore "Is the module an IT version? [y/N]" for "cfgblock create"
interactive mode command, which was leading to invalid detection
of 0051 Colibri iMX8DX 1GB WB module;

Fixes: a5b5ad4d859b ("toradex: tdx-cfg-clock: add new i.mx 8m mini/plus skus")
Related-to: ELB-3482
Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
---

 board/toradex/common/tdx-cfg-block.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/board/toradex/common/tdx-cfg-block.c b/board/toradex/common/tdx-cfg-block.c
index e4f9a0db914..1295f389896 100644
--- a/board/toradex/common/tdx-cfg-block.c
+++ b/board/toradex/common/tdx-cfg-block.c
@@ -368,7 +368,10 @@ static int get_cfgblock_interactive(void)
 	if (cpu_is_pxa27x())
 		sprintf(message, "Is the module the 312 MHz version? [y/N] ");
 	else
-		it = 'y';
+		sprintf(message, "Is the module an IT version? [y/N] ");
+
+	len = cli_readline(message);
+	it = console_buffer[0];
 
 #if defined(CONFIG_TARGET_APALIS_IMX8) || \
 		defined(CONFIG_TARGET_APALIS_IMX8X) || \
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v1 3/5] toradex: tdx-cfg-block: add new i.mx 6ull and 8m plus skus
  2021-08-16 13:13 [PATCH v1 0/5] board: toradex: prepare and add colibri imx6ull 1gb (emmc) support Marcel Ziswiler
  2021-08-16 13:13 ` [PATCH v1 1/5] toradex: take over maintainership Marcel Ziswiler
  2021-08-16 13:13 ` [PATCH v1 2/5] toradex: configblock: fix interactive mode it handling Marcel Ziswiler
@ 2021-08-16 13:13 ` Marcel Ziswiler
  2021-08-16 13:13 ` [PATCH v1 4/5] colibri-imx6ull: imximage.cfg: integrate new 1GiB RAM variant Marcel Ziswiler
  2021-08-16 13:13 ` [PATCH v1 5/5] colibri-imx6ull: add emmc variant Marcel Ziswiler
  4 siblings, 0 replies; 9+ messages in thread
From: Marcel Ziswiler @ 2021-08-16 13:13 UTC (permalink / raw)
  To: u-boot
  Cc: Stefano Babic, Fabio Estevam, Marcel Ziswiler, Denys Drozdov,
	Igor Opaniuk, Simon Glass

From: Marcel Ziswiler <marcel.ziswiler@toradex.com>

Add new i.MX 6ULL and 8M Plus SKUs to ConfigBlock handling:

0062: Colibri iMX6ULL 1GB IT (eMMC)

0063: Verdin iMX8M Plus Quad 4GB IT

0064: Verdin iMX8M Plus Quad 2GB Wi-Fi / BT IT

0065: Verdin iMX8M Plus QuadLite 1GB IT

0066: Verdin iMX8M Plus Quad 8GB Wi-Fi / BT

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

 board/toradex/common/tdx-cfg-block.c | 29 ++++++++++++++++++++++++----
 board/toradex/common/tdx-cfg-block.h |  5 +++++
 2 files changed, 30 insertions(+), 4 deletions(-)

diff --git a/board/toradex/common/tdx-cfg-block.c b/board/toradex/common/tdx-cfg-block.c
index 1295f389896..d996a7ae7eb 100644
--- a/board/toradex/common/tdx-cfg-block.c
+++ b/board/toradex/common/tdx-cfg-block.c
@@ -145,6 +145,11 @@ const char * const toradex_modules[] = {
 	[59] = "Verdin iMX8M Mini Quad 2GB IT",
 	[60] = "Verdin iMX8M Mini DualLite 1GB WB IT",
 	[61] = "Verdin iMX8M Plus Quad 2GB",
+	[62] = "Colibri iMX6ULL 1GB IT (eMMC)",
+	[63] = "Verdin iMX8M Plus Quad 4GB IT",
+	[64] = "Verdin iMX8M Plus Quad 2GB Wi-Fi / BT IT",
+	[65] = "Verdin iMX8M Plus QuadLite 1GB IT",
+	[66] = "Verdin iMX8M Plus Quad 8GB Wi-Fi / BT",
 };
 
 const char * const toradex_carrier_boards[] = {
@@ -415,7 +420,10 @@ static int get_cfgblock_interactive(void)
 			if (wb == 'y' || wb == 'Y')
 				tdx_hw_tag.prodid = COLIBRI_IMX6ULL_WIFI_BT_IT;
 			else
-				tdx_hw_tag.prodid = COLIBRI_IMX6ULL_IT;
+				if (gd->ram_size == 0x20000000)
+					tdx_hw_tag.prodid = COLIBRI_IMX6ULL_IT;
+				else
+					tdx_hw_tag.prodid = COLIBRI_IMX6ULL_IT_EMMC;
 		} else {
 			if (wb == 'y' || wb == 'Y')
 				tdx_hw_tag.prodid = COLIBRI_IMX6ULL_WIFI_BT;
@@ -424,7 +432,10 @@ static int get_cfgblock_interactive(void)
 		}
 #endif
 	} else if (!strcmp("imx7d", soc))
-		tdx_hw_tag.prodid = COLIBRI_IMX7D;
+		if (gd->ram_size == 0x20000000)
+			tdx_hw_tag.prodid = COLIBRI_IMX7D;
+		else
+			tdx_hw_tag.prodid = COLIBRI_IMX7D_EMMC;
 	else if (!strcmp("imx7s", soc))
 		tdx_hw_tag.prodid = COLIBRI_IMX7S;
 	else if (is_cpu_type(MXC_CPU_IMX8QM)) {
@@ -474,11 +485,21 @@ static int get_cfgblock_interactive(void)
 			tdx_hw_tag.prodid = VERDIN_IMX8MMQ_IT;
 	} else if (is_cpu_type(MXC_CPU_IMX8MN)) {
 		tdx_hw_tag.prodid = VERDIN_IMX8MNQ_WIFI_BT;
+	} else if (is_cpu_type(MXC_CPU_IMX8MPL)) {
+		tdx_hw_tag.prodid = VERDIN_IMX8MPQL_IT;
 	} else if (is_cpu_type(MXC_CPU_IMX8MP)) {
 		if (wb == 'y' || wb == 'Y')
-			tdx_hw_tag.prodid = VERDIN_IMX8MPQ_WIFI_BT_IT;
+			if (gd->ram_size == 0x80000000)
+				tdx_hw_tag.prodid = VERDIN_IMX8MPQ_2GB_WIFI_BT_IT;
+			else if (gd->ram_size == 0x200000000)
+				tdx_hw_tag.prodid = VERDIN_IMX8MPQ_8GB_WIFI_BT;
+			else
+				tdx_hw_tag.prodid = VERDIN_IMX8MPQ_WIFI_BT_IT;
 		else
-			tdx_hw_tag.prodid = VERDIN_IMX8MPQ;
+			if (it == 'y' || it == 'Y')
+				tdx_hw_tag.prodid = VERDIN_IMX8MPQ_IT;
+			else
+				tdx_hw_tag.prodid = VERDIN_IMX8MPQ;
 	} 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 9debd5f0462..ddcf6997480 100644
--- a/board/toradex/common/tdx-cfg-block.h
+++ b/board/toradex/common/tdx-cfg-block.h
@@ -82,6 +82,11 @@ enum {
 	VERDIN_IMX8MMQ_IT,
 	VERDIN_IMX8MMDL_WIFI_BT_IT, /* 60 */
 	VERDIN_IMX8MPQ,
+	COLIBRI_IMX6ULL_IT_EMMC,
+	VERDIN_IMX8MPQ_IT,
+	VERDIN_IMX8MPQ_2GB_WIFI_BT_IT,
+	VERDIN_IMX8MPQL_IT, /* 65 */
+	VERDIN_IMX8MPQ_8GB_WIFI_BT,
 };
 
 enum {
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v1 4/5] colibri-imx6ull: imximage.cfg: integrate new 1GiB RAM variant
  2021-08-16 13:13 [PATCH v1 0/5] board: toradex: prepare and add colibri imx6ull 1gb (emmc) support Marcel Ziswiler
                   ` (2 preceding siblings ...)
  2021-08-16 13:13 ` [PATCH v1 3/5] toradex: tdx-cfg-block: add new i.mx 6ull and 8m plus skus Marcel Ziswiler
@ 2021-08-16 13:13 ` Marcel Ziswiler
  2021-08-16 13:13 ` [PATCH v1 5/5] colibri-imx6ull: add emmc variant Marcel Ziswiler
  4 siblings, 0 replies; 9+ messages in thread
From: Marcel Ziswiler @ 2021-08-16 13:13 UTC (permalink / raw)
  To: u-boot
  Cc: Stefano Babic, Fabio Estevam, Philippe Schenker, Marcel Ziswiler,
	Aswath Govindraju, Igor Opaniuk, Max Krummenacher,
	Patrick Delaunay, Simon Glass, Tero Kristo

From: Philippe Schenker <philippe.schenker@toradex.com>

Integrate new Toradex SKU 0062 Colibri iMX6ULL 1GB IT. This commit
basically adjusts three parameters of the RAM settings:

Increase density from 4Gb to 8Gb
Increase ROW address from 15 to 16
Increase tRFC (refresh command time) from 260 to 350

This timing is valid for all Toradex Colibri iMX6ULL SKUs

Related-to: ELB-4055, ELB-4057
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
---

 board/toradex/colibri-imx6ull/imximage.cfg | 13 +++++--------
 include/configs/colibri-imx6ull.h          |  2 +-
 2 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/board/toradex/colibri-imx6ull/imximage.cfg b/board/toradex/colibri-imx6ull/imximage.cfg
index 8d869d9f79e..e162cff90f0 100644
--- a/board/toradex/colibri-imx6ull/imximage.cfg
+++ b/board/toradex/colibri-imx6ull/imximage.cfg
@@ -83,16 +83,14 @@ DATA 4 0x021B08C0 0x00944009
 DATA 4 0x021B08b8 0x00000800
 DATA 4 0x021B0004 0x0002002D
 DATA 4 0x021B0008 0x1B333030
-DATA 4 0x021B000C 0x676B52F3
+DATA 4 0x021B000C 0x8B8F52F3
 DATA 4 0x021B0010 0xB66D0B63
 DATA 4 0x021B0014 0x01FF00DB
 DATA 4 0x021B0018 0x00201740
-DATA 4 0x021B001C 0x00008000
 DATA 4 0x021B002C 0x000026D2
-DATA 4 0x021B0030 0x006B1023
-DATA 4 0x021B0040 0x0000004F
-DATA 4 0x021B0000 0x84180000
-DATA 4 0x021B0890 0x00400000
+DATA 4 0x021B0030 0x008F1023
+DATA 4 0x021B0040 0x0000005F
+DATA 4 0x021B0000 0x85180000
 DATA 4 0x021B001C 0x02008032
 DATA 4 0x021B001C 0x00008033
 DATA 4 0x021B001C 0x00048031
@@ -100,7 +98,6 @@ DATA 4 0x021B001C 0x15208030
 DATA 4 0x021B001C 0x04008040
 DATA 4 0x021B0020 0x00000800
 DATA 4 0x021B0818 0x00000227
-DATA 4 0x021B0004 0x0002552D
+DATA 4 0x021B0004 0x0002556D
 DATA 4 0x021B0404 0x00011006
 DATA 4 0x021B001C 0x00000000
-
diff --git a/include/configs/colibri-imx6ull.h b/include/configs/colibri-imx6ull.h
index 2fa34851730..68bed81a906 100644
--- a/include/configs/colibri-imx6ull.h
+++ b/include/configs/colibri-imx6ull.h
@@ -13,7 +13,7 @@
 #include "mx6_common.h"
 #define CONFIG_IOMUX_LPSR
 
-#define PHYS_SDRAM_SIZE			SZ_512M
+#define PHYS_SDRAM_SIZE			SZ_1G
 
 /* Size of malloc() pool */
 #define CONFIG_SYS_MALLOC_LEN		(32 * SZ_1M)
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v1 5/5] colibri-imx6ull: add emmc variant
  2021-08-16 13:13 [PATCH v1 0/5] board: toradex: prepare and add colibri imx6ull 1gb (emmc) support Marcel Ziswiler
                   ` (3 preceding siblings ...)
  2021-08-16 13:13 ` [PATCH v1 4/5] colibri-imx6ull: imximage.cfg: integrate new 1GiB RAM variant Marcel Ziswiler
@ 2021-08-16 13:13 ` Marcel Ziswiler
  4 siblings, 0 replies; 9+ messages in thread
From: Marcel Ziswiler @ 2021-08-16 13:13 UTC (permalink / raw)
  To: u-boot
  Cc: Stefano Babic, Fabio Estevam, Max Krummenacher, Marcel Ziswiler,
	Andre Przywara, Aswath Govindraju, Heiko Schocher, Igor Opaniuk,
	Jagan Teki, Kever Yang, Konstantin Porotchkin, Lokesh Vutla,
	Marcin Niestroj, NXP i.MX U-Boot Team, Patrick Delaunay,
	Peter Robinson, Philippe Schenker, Priyanka Jain, Simon Glass,
	Tero Kristo, Tim Harvey

From: Max Krummenacher <max.krummenacher@toradex.com>

Add code to build the eMMC variant of the Colibri iMX6ULL, i.e. the
'Colibri iMX6ULL 1GB' which has a eMMC instead of the raw NAND used
on other SKUs.

Related-to: ELB-4056, ELB-4057
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>

---

 arch/arm/dts/Makefile                         |  1 +
 arch/arm/dts/imx6ull-colibri-emmc.dts         | 49 ++++++++++
 arch/arm/dts/imx6ull-colibri.dts              | 34 ++++++-
 arch/arm/dts/imx6ull-colibri.dtsi             | 32 +------
 board/toradex/colibri-imx6ull/Kconfig         | 54 ++++++++++-
 board/toradex/colibri-imx6ull/MAINTAINERS     |  4 +-
 .../toradex/colibri-imx6ull/colibri-imx6ull.c | 27 +++++-
 configs/colibri-imx6ull-emmc_defconfig        | 90 +++++++++++++++++++
 configs/colibri-imx6ull_defconfig             |  1 +
 include/configs/colibri-imx6ull.h             | 51 ++++++++---
 10 files changed, 294 insertions(+), 49 deletions(-)
 create mode 100644 arch/arm/dts/imx6ull-colibri-emmc.dts
 create mode 100644 configs/colibri-imx6ull-emmc_defconfig

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index c42715ead4a..c2c12a6561c 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -819,6 +819,7 @@ dtb-$(CONFIG_MX6UL) += \
 dtb-$(CONFIG_MX6ULL) += \
 	imx6ull-14x14-evk.dtb \
 	imx6ull-colibri.dtb \
+	imx6ull-colibri-emmc.dtb \
 	imx6ull-myir-mys-6ulx-eval.dtb \
 	imx6ull-seeed-npi-imx6ull-dev-board.dtb \
 	imx6ull-phytec-segin-ff-rdk-emmc.dtb \
diff --git a/arch/arm/dts/imx6ull-colibri-emmc.dts b/arch/arm/dts/imx6ull-colibri-emmc.dts
new file mode 100644
index 00000000000..cbb561ffb4a
--- /dev/null
+++ b/arch/arm/dts/imx6ull-colibri-emmc.dts
@@ -0,0 +1,49 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2021 Toradex AG
+ */
+
+#include "imx6ull-colibri.dtsi"
+#include "imx6ull-colibri-u-boot.dtsi"
+
+/ {
+	model = "Toradex Colibri iMX6ULL 1GB (eMMC)";
+	compatible = "toradex,colibri-imx6ull-emmc", "toradex,colibri-imx6ull", "fsl,imx6ull";
+
+	aliases {
+		mmc0 = &usdhc2;
+		mmc1 = &usdhc1;
+	};
+};
+
+/* eMMC */
+&usdhc2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usdhc2emmc>;
+	assigned-clocks = <&clks IMX6UL_CLK_USDHC2_SEL>, <&clks IMX6UL_CLK_USDHC2>;
+	assigned-clock-parents = <&clks IMX6UL_CLK_PLL2_PFD2>;
+	assigned-clock-rates = <0>, <198000000>;
+	bus-width = <8>;
+	keep-power-in-suspend;
+	no-1-8-v;
+	non-removable;
+	vmmc-supply = <&reg_module_3v3>;
+	status = "okay";
+};
+
+&iomuxc {
+	pinctrl_usdhc2emmc: usdhc2emmcgrp {
+		fsl,pins = <
+			MX6UL_PAD_NAND_RE_B__USDHC2_CLK     0x17059
+			MX6UL_PAD_NAND_WE_B__USDHC2_CMD     0x17059
+			MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x17059
+			MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x17059
+			MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x17059
+			MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x17059
+			MX6UL_PAD_NAND_DATA04__USDHC2_DATA4 0x17059
+			MX6UL_PAD_NAND_DATA05__USDHC2_DATA5 0x17059
+			MX6UL_PAD_NAND_DATA06__USDHC2_DATA6 0x17059
+			MX6UL_PAD_NAND_DATA07__USDHC2_DATA7 0x17059
+		>;
+	};
+};
diff --git a/arch/arm/dts/imx6ull-colibri.dts b/arch/arm/dts/imx6ull-colibri.dts
index 15338a1ae3d..dbe3e0206e5 100644
--- a/arch/arm/dts/imx6ull-colibri.dts
+++ b/arch/arm/dts/imx6ull-colibri.dts
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
 /*
- * Copyright 2018-2019 Toradex AG
+ * Copyright 2018-2021 Toradex AG
  */
 
 #include "imx6ull-colibri.dtsi"
@@ -10,3 +10,35 @@
 	model = "Toradex Colibri iMX6ULL";
 	compatible = "toradex,colibri-imx6ull", "fsl,imx6ull";
 };
+
+/* NAND */
+&gpmi {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_gpmi_nand>;
+	nand-on-flash-bbt;
+	nand-ecc-mode = "hw";
+	nand-ecc-strength = <8>;
+	nand-ecc-step-size = <512>;
+	status = "okay";
+};
+
+&iomuxc {
+	pinctrl_gpmi_nand: gpmi-nand-grp {
+		fsl,pins = <
+			MX6UL_PAD_NAND_DATA00__RAWNAND_DATA00	0x100a9
+			MX6UL_PAD_NAND_DATA01__RAWNAND_DATA01	0x100a9
+			MX6UL_PAD_NAND_DATA02__RAWNAND_DATA02	0x100a9
+			MX6UL_PAD_NAND_DATA03__RAWNAND_DATA03	0x100a9
+			MX6UL_PAD_NAND_DATA04__RAWNAND_DATA04	0x100a9
+			MX6UL_PAD_NAND_DATA05__RAWNAND_DATA05	0x100a9
+			MX6UL_PAD_NAND_DATA06__RAWNAND_DATA06	0x100a9
+			MX6UL_PAD_NAND_DATA07__RAWNAND_DATA07	0x100a9
+			MX6UL_PAD_NAND_CLE__RAWNAND_CLE		0x100a9
+			MX6UL_PAD_NAND_ALE__RAWNAND_ALE		0x100a9
+			MX6UL_PAD_NAND_RE_B__RAWNAND_RE_B	0x100a9
+			MX6UL_PAD_NAND_WE_B__RAWNAND_WE_B	0x100a9
+			MX6UL_PAD_NAND_CE0_B__RAWNAND_CE0_B	0x100a9
+			MX6UL_PAD_NAND_READY_B__RAWNAND_READY_B	0x100a9
+		>;
+	};
+};
diff --git a/arch/arm/dts/imx6ull-colibri.dtsi b/arch/arm/dts/imx6ull-colibri.dtsi
index b7bf79f28cb..1fa9d10412e 100644
--- a/arch/arm/dts/imx6ull-colibri.dtsi
+++ b/arch/arm/dts/imx6ull-colibri.dtsi
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
 /*
- * Copyright 2019 Toradex AG
+ * Copyright 2019-2021 Toradex AG
  */
 
 /dts-v1/;
@@ -92,17 +92,6 @@
 	};
 };
 
-/* NAND */
-&gpmi {
-	pinctrl-names = "default";
-	pinctrl-0 = <&pinctrl_gpmi_nand>;
-	nand-on-flash-bbt;
-	nand-ecc-mode = "hw";
-	nand-ecc-strength = <8>;
-	nand-ecc-step-size = <512>;
-	status = "okay";
-};
-
 /*
  * I2C3_SDA/SCL on SODIMM 194/196 (e.g. RTC on carrier board)
  */
@@ -340,25 +329,6 @@
 		>;
 	};
 
-	pinctrl_gpmi_nand: gpmi-nand-grp {
-		fsl,pins = <
-			MX6UL_PAD_NAND_DATA00__RAWNAND_DATA00	0x100a9
-			MX6UL_PAD_NAND_DATA01__RAWNAND_DATA01	0x100a9
-			MX6UL_PAD_NAND_DATA02__RAWNAND_DATA02	0x100a9
-			MX6UL_PAD_NAND_DATA03__RAWNAND_DATA03	0x100a9
-			MX6UL_PAD_NAND_DATA04__RAWNAND_DATA04	0x100a9
-			MX6UL_PAD_NAND_DATA05__RAWNAND_DATA05	0x100a9
-			MX6UL_PAD_NAND_DATA06__RAWNAND_DATA06	0x100a9
-			MX6UL_PAD_NAND_DATA07__RAWNAND_DATA07	0x100a9
-			MX6UL_PAD_NAND_CLE__RAWNAND_CLE		0x100a9
-			MX6UL_PAD_NAND_ALE__RAWNAND_ALE		0x100a9
-			MX6UL_PAD_NAND_RE_B__RAWNAND_RE_B	0x100a9
-			MX6UL_PAD_NAND_WE_B__RAWNAND_WE_B	0x100a9
-			MX6UL_PAD_NAND_CE0_B__RAWNAND_CE0_B	0x100a9
-			MX6UL_PAD_NAND_READY_B__RAWNAND_READY_B	0x100a9
-		>;
-	};
-
 	pinctrl_i2c1: i2c1-grp {
 		fsl,pins = <
 			MX6UL_PAD_UART4_TX_DATA__I2C1_SCL 0x4001b8b0
diff --git a/board/toradex/colibri-imx6ull/Kconfig b/board/toradex/colibri-imx6ull/Kconfig
index 3ce9885c122..8548548a95a 100644
--- a/board/toradex/colibri-imx6ull/Kconfig
+++ b/board/toradex/colibri-imx6ull/Kconfig
@@ -1,17 +1,44 @@
 if TARGET_COLIBRI_IMX6ULL
 
+choice
+	prompt "Colibri iMX6ULL variant"
+	optional
+
+config TARGET_COLIBRI_IMX6ULL_NAND
+	bool "Support Colibri iMX6ULL 256MB / 512MB (raw NAND) modules"
+	imply NAND_MXS
+	help
+	  Choose this option if you build for a Toradex Colibri iMX6ULL
+	  256MB or 512MB module which do have raw NAND on-module.
+
+config TARGET_COLIBRI_IMX6ULL_EMMC
+	bool "Support Colibri iMX6ULL 1GB (eMMC) modules"
+	help
+	  Choose this option if you build for a Toradex Colibri iMX6ULL
+	  1GB module which does have eMMC on-module.
+
+endchoice
+
 config SYS_BOARD
 	default "colibri-imx6ull"
 
 config SYS_VENDOR
 	default "toradex"
 
-config SYS_CONFIG_NAME
-	default "colibri-imx6ull"
-
 config TDX_CFG_BLOCK
 	default y
 
+config TDX_CFG_BLOCK_2ND_ETHADDR
+	default y
+
+config SYS_CONFIG_NAME
+	default "colibri-imx6ull-tezi-recovery" if (!TARGET_COLIBRI_IMX6ULL_NAND && !TARGET_COLIBRI_IMX6ULL_EMMC)
+
+if TARGET_COLIBRI_IMX6ULL_NAND
+
+config SYS_CONFIG_NAME
+	default "colibri-imx6ull"
+
 config TDX_HAVE_NAND
 	default y
 
@@ -21,9 +48,28 @@ config TDX_CFG_BLOCK_OFFSET
 config TDX_CFG_BLOCK_OFFSET2
 	default "133120"
 
-config TDX_CFG_BLOCK_2ND_ETHADDR
+endif
+
+if TARGET_COLIBRI_IMX6ULL_EMMC
+
+config SYS_CONFIG_NAME
+	default "colibri-imx6ull"
+
+config TDX_HAVE_MMC
 	default y
 
+config TDX_CFG_BLOCK_DEV
+	default "0"
+
+config TDX_CFG_BLOCK_PART
+	default "1"
+
+# Toradex config block in eMMC, at the end of 1st "boot sector"
+config TDX_CFG_BLOCK_OFFSET
+	default "-512"
+
+endif
+
 source "board/toradex/common/Kconfig"
 
 endif
diff --git a/board/toradex/colibri-imx6ull/MAINTAINERS b/board/toradex/colibri-imx6ull/MAINTAINERS
index eb491c273d2..500c787b8e5 100644
--- a/board/toradex/colibri-imx6ull/MAINTAINERS
+++ b/board/toradex/colibri-imx6ull/MAINTAINERS
@@ -4,8 +4,10 @@ W:	http://developer.toradex.com/software/linux/linux-software
 W:	https://www.toradex.com/community
 S:	Maintained
 F:	arch/arm/dts/imx6ull-colibri.dts
-F:	arch/arm/dts/imx6ull-colibri-u-boot.dtsi
 F:	arch/arm/dts/imx6ull-colibri.dtsi
+F:	arch/arm/dts/imx6ull-colibri-emmc.dts
+F:	arch/arm/dts/imx6ull-colibri-u-boot.dtsi
 F:	board/toradex/colibri-imx6ull/
 F:	configs/colibri-imx6ull_defconfig
+F:	configs/colibri-imx6ull-emmc_defconfig
 F:	include/configs/colibri-imx6ull.h
diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
index 01f5561596e..7f2e36ff9d5 100644
--- a/board/toradex/colibri-imx6ull/colibri-imx6ull.c
+++ b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
@@ -43,6 +43,14 @@ DECLARE_GLOBAL_DATA_PTR;
 
 #define NAND_PAD_READY0_CTRL (PAD_CTL_DSE_48ohm | PAD_CTL_PUS_22K_UP)
 
+#define FLASH_DETECTION_CTRL (PAD_CTL_HYS | PAD_CTL_PUE)
+#define FLASH_DET_GPIO	IMX_GPIO_NR(4, 1)
+static iomux_v3_cfg_t const flash_detection_pads[] = {
+	MX6_PAD_NAND_WE_B__GPIO4_IO01 | MUX_PAD_CTRL(FLASH_DETECTION_CTRL),
+};
+
+static bool is_emmc;
+
 int dram_init(void)
 {
 	gd->ram_size = get_ram_size((void *)PHYS_SDRAM, PHYS_SDRAM_SIZE);
@@ -120,6 +128,16 @@ int board_init(void)
 	/* address of boot parameters */
 	gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
 
+	/*
+	 * Enable GPIO on NAND_WE_B/eMMC_RST with 100k pull-down. eMMC_RST
+	 * is pulled high with 4.7k for eMMC devices. This allows to reliably
+	 * detect eMMC/NAND flash
+	 */
+	imx_iomux_v3_setup_multiple_pads(flash_detection_pads, ARRAY_SIZE(flash_detection_pads));
+	gpio_request(FLASH_DET_GPIO, "flash-detection-gpio");
+	is_emmc = gpio_get_value(FLASH_DET_GPIO);
+	gpio_free(FLASH_DET_GPIO);
+
 #ifdef CONFIG_FEC_MXC
 	setup_fec();
 #endif
@@ -148,8 +166,15 @@ int board_late_init(void)
 	 * Wi-Fi/Bluetooth make sure we use the -wifi device tree.
 	 */
 	if (tdx_hw_tag.prodid == COLIBRI_IMX6ULL_WIFI_BT_IT ||
-	    tdx_hw_tag.prodid == COLIBRI_IMX6ULL_WIFI_BT)
+	    tdx_hw_tag.prodid == COLIBRI_IMX6ULL_WIFI_BT) {
 		env_set("variant", "-wifi");
+	} else {
+		if (is_emmc)
+			env_set("variant", "-emmc");
+	}
+#else
+	if (is_emmc)
+		env_set("variant", "-emmc");
 #endif
 
 	/*
diff --git a/configs/colibri-imx6ull-emmc_defconfig b/configs/colibri-imx6ull-emmc_defconfig
new file mode 100644
index 00000000000..208bf87e83b
--- /dev/null
+++ b/configs/colibri-imx6ull-emmc_defconfig
@@ -0,0 +1,90 @@
+CONFIG_ARM=y
+CONFIG_ARCH_MX6=y
+CONFIG_SYS_TEXT_BASE=0x87800000
+CONFIG_NR_DRAM_BANKS=1
+CONFIG_SYS_MEMTEST_START=0x80000000
+CONFIG_SYS_MEMTEST_END=0x88000000
+CONFIG_ENV_SIZE=0x2000
+CONFIG_ENV_OFFSET=0xFFFFDE00
+CONFIG_MX6ULL=y
+CONFIG_TARGET_COLIBRI_IMX6ULL=y
+CONFIG_DM_GPIO=y
+CONFIG_TARGET_COLIBRI_IMX6ULL_EMMC=y
+CONFIG_DEFAULT_DEVICE_TREE="imx6ull-colibri-emmc"
+CONFIG_DISTRO_DEFAULTS=y
+CONFIG_FIT=y
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri-imx6ull/imximage.cfg"
+CONFIG_BOOTDELAY=1
+# CONFIG_USE_BOOTCOMMAND is not set
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="setenv fdtfile imx6ull-colibri${variant}-${fdt_board}.dtb"
+# CONFIG_CONSOLE_MUX is not set
+CONFIG_SYS_CONSOLE_IS_IN_ENV=y
+# CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_SYS_PROMPT="Colibri iMX6ULL # "
+# CONFIG_BOOTM_PLAN9 is not set
+# CONFIG_BOOTM_RTEMS is not set
+# CONFIG_CMD_ELF is not set
+# CONFIG_CMD_IMI is not set
+# CONFIG_CMD_XIMG is not set
+CONFIG_CMD_ASKENV=y
+CONFIG_CRC32_VERIFY=y
+CONFIG_CMD_MEMTEST=y
+CONFIG_CMD_DM=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_GPT=y
+CONFIG_CMD_I2C=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_USB_SDP=y
+CONFIG_CMD_USB_MASS_STORAGE=y
+CONFIG_CMD_BMP=y
+CONFIG_CMD_BOOTCOUNT=y
+CONFIG_CMD_CACHE=y
+CONFIG_CMD_REGULATOR=y
+# CONFIG_ISO_PARTITION is not set
+CONFIG_OF_CONTROL=y
+CONFIG_ENV_OVERWRITE=y
+CONFIG_ENV_IS_IN_MMC=y
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_SYS_MMC_ENV_DEV=0
+CONFIG_SYS_MMC_ENV_PART=1
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_VERSION_VARIABLE=y
+CONFIG_IP_DEFRAG=y
+CONFIG_TFTP_BLOCKSIZE=16352
+CONFIG_TFTP_TSIZE=y
+CONFIG_BOUNCE_BUFFER=y
+CONFIG_BOOTCOUNT_LIMIT=y
+CONFIG_BOOTCOUNT_ENV=y
+CONFIG_DM_I2C=y
+CONFIG_SYS_I2C_MXC=y
+CONFIG_SUPPORT_EMMC_BOOT=y
+CONFIG_FSL_USDHC=y
+CONFIG_PHYLIB=y
+CONFIG_PHY_MICREL=y
+CONFIG_DM_ETH=y
+CONFIG_FEC_MXC=y
+CONFIG_MII=y
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_IMX6=y
+CONFIG_DM_REGULATOR=y
+CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_DM_SERIAL=y
+CONFIG_MXC_UART=y
+CONFIG_IMX_THERMAL=y
+CONFIG_USB=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_MANUFACTURER="Toradex"
+CONFIG_USB_GADGET_VENDOR_NUM=0x1b67
+CONFIG_USB_GADGET_PRODUCT_NUM=0x4000
+CONFIG_CI_UDC=y
+CONFIG_USB_GADGET_DOWNLOAD=y
+CONFIG_DM_VIDEO=y
+CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
+CONFIG_VIDEO_BMP_RLE8=y
+CONFIG_BMP_16BPP=y
+CONFIG_OF_LIBFDT_OVERLAY=y
diff --git a/configs/colibri-imx6ull_defconfig b/configs/colibri-imx6ull_defconfig
index 739eea7c07f..7d190ee5950 100644
--- a/configs/colibri-imx6ull_defconfig
+++ b/configs/colibri-imx6ull_defconfig
@@ -8,6 +8,7 @@ CONFIG_ENV_SIZE=0x20000
 CONFIG_ENV_OFFSET=0x380000
 CONFIG_MX6ULL=y
 CONFIG_TARGET_COLIBRI_IMX6ULL=y
+CONFIG_TARGET_COLIBRI_IMX6ULL_NAND=y
 CONFIG_DM_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="imx6ull-colibri"
 CONFIG_DISTRO_DEFAULTS=y
diff --git a/include/configs/colibri-imx6ull.h b/include/configs/colibri-imx6ull.h
index 68bed81a906..6b1faf9ef33 100644
--- a/include/configs/colibri-imx6ull.h
+++ b/include/configs/colibri-imx6ull.h
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0+ */
 /*
- * Copyright 2018-2019 Toradex AG
+ * Copyright 2018-2021 Toradex AG
  *
  * Configuration settings for the Colibri iMX6ULL module.
  *
@@ -32,6 +32,22 @@
 #define CONFIG_NETMASK			255.255.255.0
 #define CONFIG_SERVERIP			192.168.10.1
 
+#if defined(CONFIG_TARGET_COLIBRI_IMX6ULL_EMMC)
+#define UBOOT_UPDATE \
+	"uboot_hwpart=1\0" \
+	"uboot_blk=2\0" \
+	"set_blkcnt=setexpr blkcnt ${filesize} + 0x1ff && " \
+		"setexpr blkcnt ${blkcnt} / 0x200\0" \
+	"update_uboot=run set_blkcnt && mmc dev 0 ${uboot_hwpart} && " \
+		"mmc write ${loadaddr} ${uboot_blk} ${blkcnt}\0"
+#elif defined(CONFIG_TARGET_COLIBRI_IMX6ULL_NAND)
+#define UBOOT_UPDATE \
+	"update_uboot=nand erase.part u-boot1 && " \
+		"nand write ${loadaddr} u-boot1 ${filesize} && " \
+		"nand erase.part u-boot2 && " \
+		"nand write ${loadaddr} u-boot2 ${filesize}\0"
+#endif
+
 #define MEM_LAYOUT_ENV_SETTINGS \
 	"bootm_size=0x10000000\0" \
 	"fdt_addr_r=0x82100000\0" \
@@ -40,12 +56,6 @@
 	"ramdisk_addr_r=0x82200000\0" \
 	"scriptaddr=0x87000000\0"
 
-#define UBOOT_UPDATE \
-	"update_uboot=nand erase.part u-boot1 && " \
-		"nand write ${loadaddr} u-boot1 ${filesize} && " \
-		"nand erase.part u-boot2 && " \
-		"nand write ${loadaddr} u-boot2 ${filesize}\0"
-
 #define NFS_BOOTCMD \
 	"nfsargs=ip=:::::eth0: root=/dev/nfs\0" \
 	"nfsboot=run setup; " \
@@ -66,17 +76,32 @@
 		"ubi read ${fdt_addr_r} dtb && " \
 		"run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \
 
+#if defined(CONFIG_TARGET_COLIBRI_IMX6ULL_NAND)
 /* Run Distro Boot script if ubiboot fails */
 #define CONFIG_BOOTCOMMAND "run ubiboot || run distro_bootcmd;"
+#define DFU_ALT_NAND_INFO "imx6ull-bcb part 0,1;u-boot1 part 0,2;u-boot2 part 0,3;u-boot-env part 0,4;ubi partubi 0,5"
+#define MODULE_EXTRA_ENV_SETTINGS \
+	"dfu_alt_info=" DFU_ALT_NAND_INFO "\0" \
+	"mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \
+	UBI_BOOTCMD
+#else
+#define	MODULE_EXTRA_ENV_SETTINGS ""
+#endif
 
+#if defined(CONFIG_TARGET_COLIBRI_IMX6ULL_NAND)
+#define BOOT_TARGET_DEVICES(func) \
+	func(MMC, mmc, 0) \
+	func(USB, usb, 0) \
+	func(DHCP, dhcp, na)
+#elif defined(CONFIG_TARGET_COLIBRI_IMX6ULL_EMMC)
 #define BOOT_TARGET_DEVICES(func) \
+	func(MMC, mmc, 1) \
 	func(MMC, mmc, 0) \
 	func(USB, usb, 0) \
 	func(DHCP, dhcp, na)
+#endif
 #include <config_distro_bootcmd.h>
 
-#define DFU_ALT_NAND_INFO "imx6ull-bcb part 0,1;u-boot1 part 0,2;u-boot2 part 0,3;u-boot-env part 0,4;ubi partubi 0,5"
-
 #define CONFIG_EXTRA_ENV_SETTINGS \
 	BOOTENV \
 	MEM_LAYOUT_ENV_SETTINGS \
@@ -86,12 +111,10 @@
 	"bootubipart=ubi\0" \
 	"console=ttymxc0\0" \
 	"defargs=user_debug=30\0" \
-	"dfu_alt_info=" DFU_ALT_NAND_INFO "\0" \
 	"fdt_board=eval-v3\0" \
 	"fdt_fixup=;\0" \
 	"ip_dyn=yes\0" \
 	"kernel_file=zImage\0" \
-	"mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \
 	"setethupdate=if env exists ethaddr; then; else setenv ethaddr " \
 		"00:14:2d:00:00:00; fi; tftpboot ${loadaddr} " \
 		"${board}/flash_eth.img && source ${loadaddr}\0" \
@@ -124,11 +147,17 @@
 #define CONFIG_SYS_INIT_SP_ADDR \
 	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
 
+/* environment organization */
+
+/* Environment in eMMC, before config block at the end of 1st "boot sector" */
+
+#ifdef CONFIG_TARGET_COLIBRI_IMX6ULL_NAND
 /* NAND stuff */
 #define CONFIG_SYS_MAX_NAND_DEVICE	1
 /* used to initialize CONFIG_SYS_NAND_BASE_LIST which is unused */
 #define CONFIG_SYS_NAND_BASE		-1
 #define CONFIG_SYS_NAND_ONFI_DETECTION
+#endif
 
 /* USB Configs */
 #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH v1 2/5] toradex: configblock: fix interactive mode it handling
  2021-08-16 13:13 ` [PATCH v1 2/5] toradex: configblock: fix interactive mode it handling Marcel Ziswiler
@ 2021-08-16 13:27   ` Fabio Estevam
  2021-08-16 13:53     ` Marcel Ziswiler
  0 siblings, 1 reply; 9+ messages in thread
From: Fabio Estevam @ 2021-08-16 13:27 UTC (permalink / raw)
  To: Marcel Ziswiler
  Cc: U-Boot-Denx, Stefano Babic, Denys Drozdov, Marcel Ziswiler,
	Igor Opaniuk, Simon Glass

Hi Marcel,

On Mon, Aug 16, 2021 at 10:13 AM Marcel Ziswiler <marcel@ziswiler.com> wrote:
>
> From: Denys Drozdov <denys.drozdov@toradex.com>
>
> Restore "Is the module an IT version? [y/N]" for "cfgblock create"
> interactive mode command, which was leading to invalid detection
> of 0051 Colibri iMX8DX 1GB WB module;
>
> Fixes: a5b5ad4d859b ("toradex: tdx-cfg-clock: add new i.mx 8m mini/plus skus")
> Related-to: ELB-3482

This Related-to tag does not seem to be a valid one.

Regards,

Fabio Estevam

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v1 2/5] toradex: configblock: fix interactive mode it handling
  2021-08-16 13:27   ` Fabio Estevam
@ 2021-08-16 13:53     ` Marcel Ziswiler
  2021-08-16 14:13       ` Fabio Estevam
  0 siblings, 1 reply; 9+ messages in thread
From: Marcel Ziswiler @ 2021-08-16 13:53 UTC (permalink / raw)
  To: festevam; +Cc: sjg, u-boot, sbabic, igor.opaniuk, Denys Drozdov

Hi Fabio

On Mon, 2021-08-16 at 10:27 -0300, Fabio Estevam wrote:
> Hi Marcel,
> 
> On Mon, Aug 16, 2021 at 10:13 AM Marcel Ziswiler <marcel@ziswiler.com> wrote:
> > 
> > From: Denys Drozdov <denys.drozdov@toradex.com>
> > 
> > Restore "Is the module an IT version? [y/N]" for "cfgblock create"
> > interactive mode command, which was leading to invalid detection
> > of 0051 Colibri iMX8DX 1GB WB module;
> > 
> > Fixes: a5b5ad4d859b ("toradex: tdx-cfg-clock: add new i.mx 8m mini/plus skus")
> > Related-to: ELB-3482
> 
> This Related-to tag does not seem to be a valid one.

I am not exactly sure as to what exactly you are referring to here concerning validity of such tags. I believe
we are not the only company (e.g. NXP themselves included) using this to refer to our internal ticketing system
which BTW is even half public (e.g. not all tickets have required public information and are therefore
published but this particular one even is):

https://developer.toradex.com/software/linux/linux-software/release-details?view=all&key=ELB-3482

> Regards,
> 
> Fabio Estevam

Cheers

Marcel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v1 2/5] toradex: configblock: fix interactive mode it handling
  2021-08-16 13:53     ` Marcel Ziswiler
@ 2021-08-16 14:13       ` Fabio Estevam
  0 siblings, 0 replies; 9+ messages in thread
From: Fabio Estevam @ 2021-08-16 14:13 UTC (permalink / raw)
  To: Marcel Ziswiler; +Cc: sjg, u-boot, sbabic, igor.opaniuk, Denys Drozdov

Hi Marcel,

On Mon, Aug 16, 2021 at 10:53 AM Marcel Ziswiler
<marcel.ziswiler@toradex.com> wrote:

> I am not exactly sure as to what exactly you are referring to here concerning validity of such tags. I believe
> we are not the only company (e.g. NXP themselves included) using this to refer to our internal ticketing system
> which BTW is even half public (e.g. not all tickets have required public information and are therefore
> published but this particular one even is):

I simply did "git log" and then searched for "Related-to" and could
not find such a tag in U-Boot, so that is why I asked.

Regards,

Fabio Estevam

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-08-16 14:14 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-16 13:13 [PATCH v1 0/5] board: toradex: prepare and add colibri imx6ull 1gb (emmc) support Marcel Ziswiler
2021-08-16 13:13 ` [PATCH v1 1/5] toradex: take over maintainership Marcel Ziswiler
2021-08-16 13:13 ` [PATCH v1 2/5] toradex: configblock: fix interactive mode it handling Marcel Ziswiler
2021-08-16 13:27   ` Fabio Estevam
2021-08-16 13:53     ` Marcel Ziswiler
2021-08-16 14:13       ` Fabio Estevam
2021-08-16 13:13 ` [PATCH v1 3/5] toradex: tdx-cfg-block: add new i.mx 6ull and 8m plus skus Marcel Ziswiler
2021-08-16 13:13 ` [PATCH v1 4/5] colibri-imx6ull: imximage.cfg: integrate new 1GiB RAM variant Marcel Ziswiler
2021-08-16 13:13 ` [PATCH v1 5/5] colibri-imx6ull: add emmc variant Marcel Ziswiler

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.