All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v1 00/14] colibri-imx6ull device tree enablement and driver model conversion
@ 2019-03-29 12:34 Marcel Ziswiler
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 01/14] tdx-cfg-block: add support for new colibri iMX6ull skus Marcel Ziswiler
                   ` (13 more replies)
  0 siblings, 14 replies; 30+ messages in thread
From: Marcel Ziswiler @ 2019-03-29 12:34 UTC (permalink / raw)
  To: u-boot


This series addresses some shortcomings, enables/introduces device tree
support and converts all except video to using the driver model. This is
fully tested both running our latest downstream BSP as well as the
mainline Linux kernel.

This series is available together with my previous series addressing
Apalis and Colibri iMX6 as well as Colibri Vybrid aka VF50/VF61 on our
git server [1].

[1] http://git.toradex.com/cgit/u-boot-toradex.git/log/?h=for-next


Gerard Salvatella (1):
  tdx-cfg-block: add support for new colibri iMX6ull skus

Marcel Ziswiler (9):
  colibri-imx6ull: fix ethernet phy power on
  colibri-imx6ull: configuration clean-up
  colibri-imx6ull: migrate pinctrl and regulators to dtb/dm
  colibri-imx6ull: migrate mmc to using driver model
  colibri-imx6ull: migrate usb to using driver model
  colibri-imx6ull: migrate fec to using driver model
  ARM: dts: colibri-imx6ull: fix uart-has-rtscts property
  ARM: dts: colibri-imx6ull: add osc32k_32k_out pinctrl
  ARM: dts: colibri-imx6ull: update device tree

Philippe Schenker (1):
  board: imx6ull: Add disable PMIC_STBY_REQ

Stefan Agner (3):
  tdx-cfg-block: simplify i.MX 6 module detection
  colibri-imx6ull: set module variant depending on config block
  apalis/colibri_imx6/imx6ull: make sure loadaddr does not collide

 arch/arm/dts/imx6ull-colibri.dts              | 170 ++++++++-----
 arch/arm/dts/imx6ull-pinfunc.h                |  26 +-
 .../toradex/colibri-imx6ull/colibri-imx6ull.c | 225 +++---------------
 board/toradex/common/tdx-cfg-block.c          |  70 ++++--
 board/toradex/common/tdx-cfg-block.h          |   3 +
 configs/colibri-imx6ull_defconfig             |  18 +-
 include/configs/apalis_imx6.h                 |   4 +-
 include/configs/colibri-imx6ull.h             |  14 +-
 include/configs/colibri_imx6.h                |   4 +-
 9 files changed, 227 insertions(+), 307 deletions(-)

-- 
2.20.1

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

* [U-Boot] [PATCH v1 01/14] tdx-cfg-block: add support for new colibri iMX6ull skus
  2019-03-29 12:34 [U-Boot] [PATCH v1 00/14] colibri-imx6ull device tree enablement and driver model conversion Marcel Ziswiler
@ 2019-03-29 12:34 ` Marcel Ziswiler
  2019-04-03  7:59   ` Igor Opaniuk
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 02/14] tdx-cfg-block: simplify i.MX 6 module detection Marcel Ziswiler
                   ` (12 subsequent siblings)
  13 siblings, 1 reply; 30+ messages in thread
From: Marcel Ziswiler @ 2019-03-29 12:34 UTC (permalink / raw)
  To: u-boot

From: Gerard Salvatella <gerard.salvatella@toradex.com>

Add support for new Colibri iMX6ULL SKUs.

While at it also checkpatch fix the whole files.

Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>

---

 board/toradex/common/tdx-cfg-block.c | 62 +++++++++++++++++++++-------
 board/toradex/common/tdx-cfg-block.h |  3 ++
 2 files changed, 50 insertions(+), 15 deletions(-)

diff --git a/board/toradex/common/tdx-cfg-block.c b/board/toradex/common/tdx-cfg-block.c
index b90077bedc..3b73421243 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 Toradex, Inc.
+ * Copyright (c) 2016-2019 Toradex, Inc.
  */
 
 #include <common.h>
@@ -98,6 +98,9 @@ const char * const toradex_modules[] = {
 	[40] = "Colibri iMX6ULL 512MB Wi-Fi / Bluetooth IT",
 	[41] = "Colibri iMX7 Dual 512MB EPDC",
 	[42] = "Apalis TK1 4GB",
+	[43] = "Colibri T20 512MB IT SETEK",
+	[44] = "Colibri iMX6ULL 512MB IT",
+	[45] = "Colibri iMX6ULL 512MB Wi-Fi / Bluetooth",
 };
 
 #ifdef CONFIG_TDX_CFG_BLOCK_IS_IN_MMC
@@ -299,22 +302,47 @@ static int get_cfgblock_interactive(void)
 			else
 				tdx_hw_tag.prodid = APALIS_IMX6D;
 #else
-		if (it == 'y' || it == 'Y')
-			if (is_cpu_type(MXC_CPU_MX6DL))
+		char wb = 'n';
+
+		if (it == 'y' || it == 'Y') {
+			if (is_cpu_type(MXC_CPU_MX6DL)) {
 				tdx_hw_tag.prodid = COLIBRI_IMX6DL_IT;
-			else
+			} else if (is_cpu_type(MXC_CPU_MX6SOLO)) {
 				tdx_hw_tag.prodid = COLIBRI_IMX6S_IT;
-		else
-			if (is_cpu_type(MXC_CPU_MX6DL))
+			} 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)) {
 				tdx_hw_tag.prodid = COLIBRI_IMX6DL;
-			else
+			} 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 */
-	} else if (!strcmp("imx7d", soc)) {
+	} else if (!strcmp("imx7d", soc))
 		tdx_hw_tag.prodid = COLIBRI_IMX7D;
-	} else if (!strcmp("imx7s", soc)) {
+	else if (!strcmp("imx7s", soc))
 		tdx_hw_tag.prodid = COLIBRI_IMX7S;
-	} else if (!strcmp("tegra20", soc)) {
+	else if (!strcmp("tegra20", soc)) {
 		if (it == 'y' || it == 'Y')
 			if (gd->ram_size == 0x10000000)
 				tdx_hw_tag.prodid = COLIBRI_T20_256MB_IT;
@@ -330,8 +358,9 @@ static int get_cfgblock_interactive(void)
 			tdx_hw_tag.prodid = COLIBRI_PXA270_312MHZ;
 		else
 			tdx_hw_tag.prodid = COLIBRI_PXA270_520MHZ;
+	}
 #ifdef CONFIG_MACH_TYPE
-	} else if (!strcmp("tegra30", soc)) {
+	else if (!strcmp("tegra30", soc)) {
 		if (CONFIG_MACH_TYPE == MACH_TYPE_APALIS_T30) {
 			if (it == 'y' || it == 'Y')
 				tdx_hw_tag.prodid = APALIS_T30_IT;
@@ -346,8 +375,9 @@ static int get_cfgblock_interactive(void)
 			else
 				tdx_hw_tag.prodid = COLIBRI_T30;
 		}
+	}
 #endif /* CONFIG_MACH_TYPE */
-	} else if (!strcmp("tegra124", soc)) {
+	else if (!strcmp("tegra124", soc)) {
 		tdx_hw_tag.prodid = APALIS_TK1_2GB;
 	} else if (!strcmp("vf500", soc)) {
 		if (it == 'y' || it == 'Y')
@@ -373,7 +403,7 @@ static int get_cfgblock_interactive(void)
 	tdx_hw_tag.ver_minor = console_buffer[2] - '0';
 	tdx_hw_tag.ver_assembly = console_buffer[3] - 'A';
 
-	if (cpu_is_pxa27x() && (tdx_hw_tag.ver_major == 1))
+	if (cpu_is_pxa27x() && tdx_hw_tag.ver_major == 1)
 		tdx_hw_tag.prodid -= (COLIBRI_PXA270_312MHZ -
 				       COLIBRI_PXA270_V1_312MHZ);
 
@@ -441,7 +471,8 @@ static int do_cfgblock_create(cmd_tbl_t *cmdtp, int flag, int argc,
 		 * On NAND devices, recreation is only allowed if the page is
 		 * empty (config block invalid...)
 		 */
-		printf("NAND erase block %d need to be erased before creating a Toradex config block\n",
+		printf("NAND erase block %d need to be erased before creating" \
+		       " a Toradex config block\n",
 		       CONFIG_TDX_CFG_BLOCK_OFFSET /
 		       get_nand_dev_by_index(0)->erasesize);
 		goto out;
@@ -450,7 +481,8 @@ static int do_cfgblock_create(cmd_tbl_t *cmdtp, int flag, int argc,
 		 * On NOR devices, recreation is only allowed if the sector is
 		 * empty and write protection is off (config block invalid...)
 		 */
-		printf("NOR sector at offset 0x%02x need to be erased and unprotected before creating a Toradex config block\n",
+		printf("NOR sector at offset 0x%02x need to be erased and " \
+		       "unprotected before creating a Toradex config block\n",
 		       CONFIG_TDX_CFG_BLOCK_OFFSET);
 		goto out;
 #else
diff --git a/board/toradex/common/tdx-cfg-block.h b/board/toradex/common/tdx-cfg-block.h
index da60e789a7..961bb4394f 100644
--- a/board/toradex/common/tdx-cfg-block.h
+++ b/board/toradex/common/tdx-cfg-block.h
@@ -61,6 +61,9 @@ enum {
 	COLIBRI_IMX6ULL_WIFI_BT_IT, /* 40 */
 	COLIBRI_IMX7D_EPDC,
 	APALIS_TK1_4GB,
+	COLIBRI_T20_512MB_IT_SETEK,
+	COLIBRI_IMX6ULL_IT,
+	COLIBRI_IMX6ULL_WIFI_BT, /* 45 */
 };
 
 extern const char * const toradex_modules[];
-- 
2.20.1

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

* [U-Boot] [PATCH v1 02/14] tdx-cfg-block: simplify i.MX 6 module detection
  2019-03-29 12:34 [U-Boot] [PATCH v1 00/14] colibri-imx6ull device tree enablement and driver model conversion Marcel Ziswiler
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 01/14] tdx-cfg-block: add support for new colibri iMX6ull skus Marcel Ziswiler
@ 2019-03-29 12:34 ` Marcel Ziswiler
  2019-04-03  8:04   ` Igor Opaniuk
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 03/14] colibri-imx6ull: set module variant depending on config block Marcel Ziswiler
                   ` (11 subsequent siblings)
  13 siblings, 1 reply; 30+ messages in thread
From: Marcel Ziswiler @ 2019-03-29 12:34 UTC (permalink / raw)
  To: u-boot

From: Stefan Agner <stefan.agner@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@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@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

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

* [U-Boot] [PATCH v1 03/14] colibri-imx6ull: set module variant depending on config block
  2019-03-29 12:34 [U-Boot] [PATCH v1 00/14] colibri-imx6ull device tree enablement and driver model conversion Marcel Ziswiler
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 01/14] tdx-cfg-block: add support for new colibri iMX6ull skus Marcel Ziswiler
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 02/14] tdx-cfg-block: simplify i.MX 6 module detection Marcel Ziswiler
@ 2019-03-29 12:34 ` Marcel Ziswiler
  2019-04-03  8:06   ` Igor Opaniuk
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 04/14] apalis/colibri_imx6/imx6ull: make sure loadaddr does not collide Marcel Ziswiler
                   ` (10 subsequent siblings)
  13 siblings, 1 reply; 30+ messages in thread
From: Marcel Ziswiler @ 2019-03-29 12:34 UTC (permalink / raw)
  To: u-boot

From: Stefan Agner <stefan.agner@toradex.com>

Using CPU temperature grading as a discriminator if the Wi-Fi /
Bluetooth chip is populated is no longer possible due to upcoming
SKUs. Set variant to -wifi only if a valid config block is present
and the product id mentions a SKU with Wi-Fi / Bluetooth.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>

---

 board/toradex/colibri-imx6ull/colibri-imx6ull.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
index fcb49a0718..fe60b8e870 100644
--- a/board/toradex/colibri-imx6ull/colibri-imx6ull.c
+++ b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
@@ -29,6 +29,7 @@
 #include <usb.h>
 #include <usb/ehci-ci.h>
 #include "../common/tdx-common.h"
+#include "../common/tdx-cfg-block.h"
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -317,10 +318,15 @@ static const struct boot_mode board_boot_modes[] = {
 
 int board_late_init(void)
 {
-	int minc, maxc;
-
-	if (get_cpu_temp_grade(&minc, &maxc) != TEMP_COMMERCIAL)
+#ifdef CONFIG_TDX_CFG_BLOCK
+	/*
+	 * If we have a valid config block and it says we are a module with
+	 * 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)
 		env_set("variant", "-wifi");
+#endif
 
 #ifdef CONFIG_CMD_BMODE
 	add_board_boot_modes(board_boot_modes);
-- 
2.20.1

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

* [U-Boot] [PATCH v1 04/14] apalis/colibri_imx6/imx6ull: make sure loadaddr does not collide
  2019-03-29 12:34 [U-Boot] [PATCH v1 00/14] colibri-imx6ull device tree enablement and driver model conversion Marcel Ziswiler
                   ` (2 preceding siblings ...)
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 03/14] colibri-imx6ull: set module variant depending on config block Marcel Ziswiler
@ 2019-03-29 12:34 ` Marcel Ziswiler
  2019-04-02 14:04   ` Igor Opaniuk
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 05/14] colibri-imx6ull: fix ethernet phy power on Marcel Ziswiler
                   ` (9 subsequent siblings)
  13 siblings, 1 reply; 30+ messages in thread
From: Marcel Ziswiler @ 2019-03-29 12:34 UTC (permalink / raw)
  To: u-boot

From: Stefan Agner <stefan.agner@toradex.com>

Currently $loadaddr and $fdt_addr_r point to the same address. This
might be not ideal for some distro boot scripts which make use of
$loadaddr after loading the device tree.

Make sure the two variables point to two different addresses. Moving
$loadaddr is not entirly trivial since it is defined in mx6_common.h.
Move $fdt_addr_r and $ramdisk_addr_r by 1MiB, which should be enough
for scripts.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>

---

 include/configs/apalis_imx6.h     | 4 ++--
 include/configs/colibri-imx6ull.h | 4 ++--
 include/configs/colibri_imx6.h    | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/include/configs/apalis_imx6.h b/include/configs/apalis_imx6.h
index 95dd6f9362..02ca8bf361 100644
--- a/include/configs/apalis_imx6.h
+++ b/include/configs/apalis_imx6.h
@@ -139,12 +139,12 @@
 
 #define MEM_LAYOUT_ENV_SETTINGS \
 	"bootm_size=0x20000000\0" \
-	"fdt_addr_r=0x12000000\0" \
+	"fdt_addr_r=0x12100000\0" \
 	"fdt_high=0xffffffff\0" \
 	"initrd_high=0xffffffff\0" \
 	"kernel_addr_r=0x11000000\0" \
 	"pxefile_addr_r=0x17100000\0" \
-	"ramdisk_addr_r=0x12100000\0" \
+	"ramdisk_addr_r=0x12200000\0" \
 	"scriptaddr=0x17000000\0"
 
 #define NFS_BOOTCMD \
diff --git a/include/configs/colibri-imx6ull.h b/include/configs/colibri-imx6ull.h
index 7cf550cf9e..31248b14a1 100644
--- a/include/configs/colibri-imx6ull.h
+++ b/include/configs/colibri-imx6ull.h
@@ -48,12 +48,12 @@
 
 #define MEM_LAYOUT_ENV_SETTINGS \
 	"bootm_size=0x10000000\0" \
-	"fdt_addr_r=0x82000000\0" \
+	"fdt_addr_r=0x82100000\0" \
 	"fdt_high=0xffffffff\0" \
 	"initrd_high=0xffffffff\0" \
 	"kernel_addr_r=0x81000000\0" \
 	"pxefile_addr_r=0x87100000\0" \
-	"ramdisk_addr_r=0x82100000\0" \
+	"ramdisk_addr_r=0x82200000\0" \
 	"scriptaddr=0x87000000\0"
 
 #define NFS_BOOTCMD \
diff --git a/include/configs/colibri_imx6.h b/include/configs/colibri_imx6.h
index d2f8a58e80..3b94078f82 100644
--- a/include/configs/colibri_imx6.h
+++ b/include/configs/colibri_imx6.h
@@ -129,12 +129,12 @@
 
 #define MEM_LAYOUT_ENV_SETTINGS \
 	"bootm_size=0x10000000\0" \
-	"fdt_addr_r=0x12000000\0" \
+	"fdt_addr_r=0x12100000\0" \
 	"fdt_high=0xffffffff\0" \
 	"initrd_high=0xffffffff\0" \
 	"kernel_addr_r=0x11000000\0" \
 	"pxefile_addr_r=0x17100000\0" \
-	"ramdisk_addr_r=0x12100000\0" \
+	"ramdisk_addr_r=0x12200000\0" \
 	"scriptaddr=0x17000000\0"
 
 #define NFS_BOOTCMD \
-- 
2.20.1

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

* [U-Boot] [PATCH v1 05/14] colibri-imx6ull: fix ethernet phy power on
  2019-03-29 12:34 [U-Boot] [PATCH v1 00/14] colibri-imx6ull device tree enablement and driver model conversion Marcel Ziswiler
                   ` (3 preceding siblings ...)
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 04/14] apalis/colibri_imx6/imx6ull: make sure loadaddr does not collide Marcel Ziswiler
@ 2019-03-29 12:34 ` Marcel Ziswiler
  2019-04-03  8:12   ` Igor Opaniuk
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 06/14] board: imx6ull: Add disable PMIC_STBY_REQ Marcel Ziswiler
                   ` (8 subsequent siblings)
  13 siblings, 1 reply; 30+ messages in thread
From: Marcel Ziswiler @ 2019-03-29 12:34 UTC (permalink / raw)
  To: u-boot

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

Just give the new Ethernet PHY power save mode circuitry time to settle.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>

---

 board/toradex/colibri-imx6ull/colibri-imx6ull.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
index fe60b8e870..b6f45edb86 100644
--- a/board/toradex/colibri-imx6ull/colibri-imx6ull.c
+++ b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
@@ -263,6 +263,9 @@ static int setup_fec(void)
 			IOMUX_GPR1_FEC2_CLOCK_MUX2_SEL_MASK,
 			IOMUX_GPR1_FEC2_CLOCK_MUX1_SEL_MASK);
 
+	/* give new Ethernet PHY power save mode circuitry time to settle */
+	mdelay(300);
+
 	return 0;
 }
 
-- 
2.20.1

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

* [U-Boot] [PATCH v1 06/14] board: imx6ull: Add disable PMIC_STBY_REQ
  2019-03-29 12:34 [U-Boot] [PATCH v1 00/14] colibri-imx6ull device tree enablement and driver model conversion Marcel Ziswiler
                   ` (4 preceding siblings ...)
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 05/14] colibri-imx6ull: fix ethernet phy power on Marcel Ziswiler
@ 2019-03-29 12:34 ` Marcel Ziswiler
  2019-04-03  8:26   ` Igor Opaniuk
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 07/14] colibri-imx6ull: configuration clean-up Marcel Ziswiler
                   ` (7 subsequent siblings)
  13 siblings, 1 reply; 30+ messages in thread
From: Marcel Ziswiler @ 2019-03-29 12:34 UTC (permalink / raw)
  To: u-boot

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

Disable output driver of PAD CCM_PMIC_STBY_REQ. This prevents the
SOC to request for a lower voltage during sleep. This is necessary
because the voltage is changing too slow for the SOC to wake up
properly.

Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>

---

 board/toradex/colibri-imx6ull/colibri-imx6ull.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
index b6f45edb86..f1d5cc6655 100644
--- a/board/toradex/colibri-imx6ull/colibri-imx6ull.c
+++ b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
@@ -50,6 +50,8 @@ DECLARE_GLOBAL_DATA_PTR;
 #define LCD_PAD_CTRL    (PAD_CTL_HYS | PAD_CTL_PUS_100K_UP | \
 		PAD_CTL_DSE_48ohm)
 
+#define MX6_PAD_SNVS_PMIC_STBY_REQ_ADDR 0x2290040
+
 #define NAND_PAD_CTRL (PAD_CTL_DSE_48ohm | PAD_CTL_SRE_SLOW | PAD_CTL_HYS)
 
 #define NAND_PAD_READY0_CTRL (PAD_CTL_DSE_48ohm | PAD_CTL_PUS_22K_UP)
@@ -331,6 +333,14 @@ int board_late_init(void)
 		env_set("variant", "-wifi");
 #endif
 
+	/*
+	 * Disable output driver of PAD CCM_PMIC_STBY_REQ. This prevents the
+	 * SOC to request for a lower voltage during sleep. This is necessary
+	 * because the voltage is changing too slow for the SOC to wake up
+	 * properly.
+	 */
+	__raw_writel(0x8080, MX6_PAD_SNVS_PMIC_STBY_REQ_ADDR);
+
 #ifdef CONFIG_CMD_BMODE
 	add_board_boot_modes(board_boot_modes);
 #endif
-- 
2.20.1

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

* [U-Boot] [PATCH v1 07/14] colibri-imx6ull: configuration clean-up
  2019-03-29 12:34 [U-Boot] [PATCH v1 00/14] colibri-imx6ull device tree enablement and driver model conversion Marcel Ziswiler
                   ` (5 preceding siblings ...)
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 06/14] board: imx6ull: Add disable PMIC_STBY_REQ Marcel Ziswiler
@ 2019-03-29 12:34 ` Marcel Ziswiler
  2019-04-03  8:44   ` Igor Opaniuk
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 08/14] colibri-imx6ull: migrate pinctrl and regulators to dtb/dm Marcel Ziswiler
                   ` (6 subsequent siblings)
  13 siblings, 1 reply; 30+ messages in thread
From: Marcel Ziswiler @ 2019-03-29 12:34 UTC (permalink / raw)
  To: u-boot

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

Drop disabling SPL_SYS_THUMB_BUILD as we anyway do not use SPL.
Enbale CRC32 verify, USB SDP and EFI loader support.
Drop CMD_GPT and disabling RANDOM_UUID.
Do savedefconfig which drops USB_FUNCTION_SDP.

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

---

 configs/colibri-imx6ull_defconfig | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/configs/colibri-imx6ull_defconfig b/configs/colibri-imx6ull_defconfig
index dfe6ec1ce7..b19b3b7fb2 100644
--- a/configs/colibri-imx6ull_defconfig
+++ b/configs/colibri-imx6ull_defconfig
@@ -1,6 +1,5 @@
 CONFIG_ARM=y
 CONFIG_SYS_THUMB_BUILD=y
-# CONFIG_SPL_SYS_THUMB_BUILD is not set
 CONFIG_ARCH_MX6=y
 CONFIG_SYS_TEXT_BASE=0x87800000
 CONFIG_TARGET_COLIBRI_IMX6ULL=y
@@ -18,19 +17,20 @@ CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_SYS_PROMPT="Colibri iMX6ULL # "
+# 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_DFU=y
 CONFIG_CMD_GPIO=y
-CONFIG_CMD_GPT=y
-# CONFIG_RANDOM_UUID is not set
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_NAND_TRIMFFS=y
 CONFIG_CMD_NAND_TORTURE=y
 CONFIG_CMD_USB=y
+CONFIG_CMD_USB_SDP=y
 CONFIG_CMD_USB_MASS_STORAGE=y
 CONFIG_CMD_BMP=y
 CONFIG_CMD_CACHE=y
@@ -73,8 +73,6 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b67
 CONFIG_USB_GADGET_PRODUCT_NUM=0x4000
 CONFIG_CI_UDC=y
 CONFIG_USB_GADGET_DOWNLOAD=y
-CONFIG_USB_FUNCTION_SDP=y
 CONFIG_VIDEO=y
 CONFIG_OF_LIBFDT_OVERLAY=y
 CONFIG_FDT_FIXUP_PARTITIONS=y
-# CONFIG_EFI_LOADER is not set
-- 
2.20.1

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

* [U-Boot] [PATCH v1 08/14] colibri-imx6ull: migrate pinctrl and regulators to dtb/dm
  2019-03-29 12:34 [U-Boot] [PATCH v1 00/14] colibri-imx6ull device tree enablement and driver model conversion Marcel Ziswiler
                   ` (6 preceding siblings ...)
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 07/14] colibri-imx6ull: configuration clean-up Marcel Ziswiler
@ 2019-03-29 12:34 ` Marcel Ziswiler
  2019-04-03  9:06   ` Igor Opaniuk
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 09/14] colibri-imx6ull: migrate mmc to using driver model Marcel Ziswiler
                   ` (5 subsequent siblings)
  13 siblings, 1 reply; 30+ messages in thread
From: Marcel Ziswiler @ 2019-03-29 12:34 UTC (permalink / raw)
  To: u-boot

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

Migrate pinctrl and regulators to device tree resp. driver model:
Ethernet, NAND and UART.
Drop BOARD_EARLY_INIT_F as it is anyway no longer used.
Enable CMD_DM, CMD_MTD, CMD_REGULATOR and DM_REGULATOR_FIXED.
While at it also update copyright period.

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

---

 .../toradex/colibri-imx6ull/colibri-imx6ull.c | 82 ++-----------------
 configs/colibri-imx6ull_defconfig             |  5 +-
 2 files changed, 10 insertions(+), 77 deletions(-)

diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
index f1d5cc6655..8493b1dfdd 100644
--- a/board/toradex/colibri-imx6ull/colibri-imx6ull.c
+++ b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
@@ -1,8 +1,9 @@
 // SPDX-License-Identifier: GPL-2.0+
 /*
- * Copyright (C) 2018 Toradex AG
+ * Copyright (C) 2018-2019 Toradex AG
  */
 #include <common.h>
+
 #include <asm/arch/clock.h>
 #include <asm/arch/crm_regs.h>
 #include <asm/arch/imx-regs.h>
@@ -14,7 +15,6 @@
 #include <asm/mach-imx/boot_mode.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/io.h>
-#include <common.h>
 #include <dm.h>
 #include <dm/platform_data/serial_mxc.h>
 #include <fdt_support.h>
@@ -28,25 +28,16 @@
 #include <netdev.h>
 #include <usb.h>
 #include <usb/ehci-ci.h>
+
 #include "../common/tdx-common.h"
 #include "../common/tdx-cfg-block.h"
 
 DECLARE_GLOBAL_DATA_PTR;
 
-#define UART_PAD_CTRL  (PAD_CTL_PUS_100K_UP |			\
-	PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm |			\
-	PAD_CTL_SRE_FAST  | PAD_CTL_HYS)
-
 #define USDHC_PAD_CTRL (PAD_CTL_PUS_47K_UP |			\
 	PAD_CTL_SPEED_LOW | PAD_CTL_DSE_40ohm |			\
 	PAD_CTL_SRE_FAST  | PAD_CTL_HYS)
 
-#define ENET_PAD_CTRL  (PAD_CTL_PUS_100K_UP |			\
-	PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_HYS)
-#define ENET_PAD_CTRL_MII  (PAD_CTL_DSE_40ohm)
-
-#define ENET_RX_PAD_CTRL  (PAD_CTL_PUS_100K_UP | PAD_CTL_DSE_48ohm)
-
 #define LCD_PAD_CTRL    (PAD_CTL_HYS | PAD_CTL_PUS_100K_UP | \
 		PAD_CTL_DSE_48ohm)
 
@@ -65,13 +56,6 @@ int dram_init(void)
 	return 0;
 }
 
-static iomux_v3_cfg_t const uart1_pads[] = {
-	MX6_PAD_UART1_TX_DATA__UART1_DTE_RX	| MUX_PAD_CTRL(UART_PAD_CTRL),
-	MX6_PAD_UART1_RX_DATA__UART1_DTE_TX	| MUX_PAD_CTRL(UART_PAD_CTRL),
-	MX6_PAD_UART1_RTS_B__UART1_DTE_CTS	| MUX_PAD_CTRL(UART_PAD_CTRL),
-	MX6_PAD_UART1_CTS_B__UART1_DTE_RTS	| MUX_PAD_CTRL(UART_PAD_CTRL),
-};
-
 #ifdef CONFIG_FSL_ESDHC
 static iomux_v3_cfg_t const usdhc1_pads[] = {
 	MX6_PAD_SD1_CLK__USDHC1_CLK	| MUX_PAD_CTRL(USDHC_PAD_CTRL),
@@ -90,31 +74,12 @@ static iomux_v3_cfg_t const usb_cdet_pads[] = {
 };
 
 #ifdef CONFIG_NAND_MXS
-static iomux_v3_cfg_t const gpmi_pads[] = {
-	MX6_PAD_NAND_DATA00__RAWNAND_DATA00	| MUX_PAD_CTRL(NAND_PAD_CTRL),
-	MX6_PAD_NAND_DATA01__RAWNAND_DATA01	| MUX_PAD_CTRL(NAND_PAD_CTRL),
-	MX6_PAD_NAND_DATA02__RAWNAND_DATA02	| MUX_PAD_CTRL(NAND_PAD_CTRL),
-	MX6_PAD_NAND_DATA03__RAWNAND_DATA03	| MUX_PAD_CTRL(NAND_PAD_CTRL),
-	MX6_PAD_NAND_DATA04__RAWNAND_DATA04	| MUX_PAD_CTRL(NAND_PAD_CTRL),
-	MX6_PAD_NAND_DATA05__RAWNAND_DATA05	| MUX_PAD_CTRL(NAND_PAD_CTRL),
-	MX6_PAD_NAND_DATA06__RAWNAND_DATA06	| MUX_PAD_CTRL(NAND_PAD_CTRL),
-	MX6_PAD_NAND_DATA07__RAWNAND_DATA07	| MUX_PAD_CTRL(NAND_PAD_CTRL),
-	MX6_PAD_NAND_CLE__RAWNAND_CLE		| MUX_PAD_CTRL(NAND_PAD_CTRL),
-	MX6_PAD_NAND_ALE__RAWNAND_ALE		| MUX_PAD_CTRL(NAND_PAD_CTRL),
-	MX6_PAD_NAND_RE_B__RAWNAND_RE_B		| MUX_PAD_CTRL(NAND_PAD_CTRL),
-	MX6_PAD_NAND_WE_B__RAWNAND_WE_B		| MUX_PAD_CTRL(NAND_PAD_CTRL),
-	MX6_PAD_NAND_CE0_B__RAWNAND_CE0_B	| MUX_PAD_CTRL(NAND_PAD_CTRL),
-	MX6_PAD_NAND_READY_B__RAWNAND_READY_B	| MUX_PAD_CTRL(NAND_PAD_READY0_CTRL),
-};
-
 static void setup_gpmi_nand(void)
 {
-	imx_iomux_v3_setup_multiple_pads(gpmi_pads, ARRAY_SIZE(gpmi_pads));
-
 	setup_gpmi_io_clk((3 << MXC_CCM_CSCDR1_BCH_PODF_OFFSET) |
 			  (3 << MXC_CCM_CSCDR1_GPMI_PODF_OFFSET));
 }
-#endif
+#endif /* CONFIG_NAND_MXS */
 
 #ifdef CONFIG_VIDEO_MXS
 static iomux_v3_cfg_t const lcd_pads[] = {
@@ -170,31 +135,6 @@ static int setup_lcd(void)
 }
 #endif
 
-#ifdef CONFIG_FEC_MXC
-static iomux_v3_cfg_t const fec2_pads[] = {
-	MX6_PAD_ENET2_TX_CLK__ENET2_REF_CLK2		| MUX_PAD_CTRL(ENET_PAD_CTRL) | MUX_MODE_SION,
-	MX6_PAD_GPIO1_IO06__ENET2_MDIO			| MUX_PAD_CTRL(ENET_PAD_CTRL_MII),
-	MX6_PAD_GPIO1_IO07__ENET2_MDC			| MUX_PAD_CTRL(ENET_PAD_CTRL_MII),
-	MX6_PAD_ENET2_RX_DATA0__ENET2_RDATA00		| MUX_PAD_CTRL(ENET_RX_PAD_CTRL),
-	MX6_PAD_ENET2_RX_DATA1__ENET2_RDATA01		| MUX_PAD_CTRL(ENET_RX_PAD_CTRL),
-	MX6_PAD_ENET2_RX_ER__ENET2_RX_ER		| MUX_PAD_CTRL(ENET_RX_PAD_CTRL),
-	MX6_PAD_ENET2_RX_EN__ENET2_RX_EN		| MUX_PAD_CTRL(ENET_RX_PAD_CTRL),
-	MX6_PAD_ENET2_TX_DATA0__ENET2_TDATA00		| MUX_PAD_CTRL(ENET_PAD_CTRL),
-	MX6_PAD_ENET2_TX_DATA1__ENET2_TDATA01		| MUX_PAD_CTRL(ENET_PAD_CTRL),
-	MX6_PAD_ENET2_TX_EN__ENET2_TX_EN		| MUX_PAD_CTRL(ENET_PAD_CTRL),
-};
-
-static void setup_iomux_fec(void)
-{
-	imx_iomux_v3_setup_multiple_pads(fec2_pads, ARRAY_SIZE(fec2_pads));
-}
-#endif
-
-static void setup_iomux_uart(void)
-{
-	imx_iomux_v3_setup_multiple_pads(uart1_pads, ARRAY_SIZE(uart1_pads));
-}
-
 #ifdef CONFIG_FSL_ESDHC
 
 #define USDHC1_CD_GPIO	IMX_GPIO_NR(5, 0)
@@ -247,20 +187,17 @@ int board_mmc_init(bd_t *bis)
 #endif
 
 #ifdef CONFIG_FEC_MXC
-
 static int setup_fec(void)
 {
 	struct iomuxc *iomuxc_regs = (struct iomuxc *)IOMUXC_BASE_ADDR;
 	int ret;
 
-	setup_iomux_fec();
-
 	/* provide the PHY clock from the i.MX 6 */
 	ret = enable_fec_anatop_clock(1, ENET_50MHZ);
 	if (ret)
 		return ret;
 
-	/* Use 50M anatop REF_CLK and output it on the ENET2_TX_CLK */
+	/* Use 50M anatop REF_CLK and output it on ENET2_TX_CLK */
 	clrsetbits_le32(&iomuxc_regs->gpr[1],
 			IOMUX_GPR1_FEC2_CLOCK_MUX2_SEL_MASK,
 			IOMUX_GPR1_FEC2_CLOCK_MUX1_SEL_MASK);
@@ -277,14 +214,7 @@ int board_phy_config(struct phy_device *phydev)
 		phydev->drv->config(phydev);
 	return 0;
 }
-#endif
-
-int board_early_init_f(void)
-{
-	setup_iomux_uart();
-
-	return 0;
-}
+#endif /* CONFIG_FEC_MXC */
 
 int board_init(void)
 {
diff --git a/configs/colibri-imx6ull_defconfig b/configs/colibri-imx6ull_defconfig
index b19b3b7fb2..ce2c09338d 100644
--- a/configs/colibri-imx6ull_defconfig
+++ b/configs/colibri-imx6ull_defconfig
@@ -15,7 +15,6 @@ CONFIG_VERSION_VARIABLE=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_BOUNCE_BUFFER=y
-CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_SYS_PROMPT="Colibri iMX6ULL # "
 # CONFIG_CMD_ELF is not set
 # CONFIG_CMD_IMI is not set
@@ -24,9 +23,11 @@ CONFIG_CMD_ASKENV=y
 CONFIG_CRC32_VERIFY=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_CMD_DFU=y
+CONFIG_CMD_DM=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_MTD=y
 CONFIG_CMD_NAND_TRIMFFS=y
 CONFIG_CMD_NAND_TORTURE=y
 CONFIG_CMD_USB=y
@@ -34,6 +35,7 @@ CONFIG_CMD_USB_SDP=y
 CONFIG_CMD_USB_MASS_STORAGE=y
 CONFIG_CMD_BMP=y
 CONFIG_CMD_CACHE=y
+CONFIG_CMD_REGULATOR=y
 CONFIG_CMD_MTDPARTS=y
 CONFIG_MTDIDS_DEFAULT="nand0=gpmi-nand"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=gpmi-nand:512k(mx6ull-bcb),1536k(u-boot1)ro,1536k(u-boot2)ro,512k(u-boot-env),-(ubi)"
@@ -63,6 +65,7 @@ CONFIG_MII=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
 CONFIG_DM_REGULATOR=y
+CONFIG_DM_REGULATOR_FIXED=y
 # CONFIG_SPL_SERIAL_PRESENT is not set
 CONFIG_DM_SERIAL=y
 CONFIG_MXC_UART=y
-- 
2.20.1

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

* [U-Boot] [PATCH v1 09/14] colibri-imx6ull: migrate mmc to using driver model
  2019-03-29 12:34 [U-Boot] [PATCH v1 00/14] colibri-imx6ull device tree enablement and driver model conversion Marcel Ziswiler
                   ` (7 preceding siblings ...)
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 08/14] colibri-imx6ull: migrate pinctrl and regulators to dtb/dm Marcel Ziswiler
@ 2019-03-29 12:34 ` Marcel Ziswiler
  2019-04-03  9:14   ` Igor Opaniuk
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 10/14] colibri-imx6ull: migrate usb " Marcel Ziswiler
                   ` (4 subsequent siblings)
  13 siblings, 1 reply; 30+ messages in thread
From: Marcel Ziswiler @ 2019-03-29 12:34 UTC (permalink / raw)
  To: u-boot

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

Migrate MMC to using driver model.
Migrate USDHC to using pinctrl.
While at it also add GPIO1_IO03__OSC32K_32K_OUT pin muxing.
While at it also update copyright period.

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

---

 arch/arm/dts/imx6ull-colibri.dts              | 15 +++-
 .../toradex/colibri-imx6ull/colibri-imx6ull.c | 70 -------------------
 configs/colibri-imx6ull_defconfig             |  1 +
 include/configs/colibri-imx6ull.h             |  6 +-
 4 files changed, 17 insertions(+), 75 deletions(-)

diff --git a/arch/arm/dts/imx6ull-colibri.dts b/arch/arm/dts/imx6ull-colibri.dts
index 95c67be438..0d416ebd10 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 Toradex AG
+ * Copyright 2018-2019 Toradex AG
  */
 
 /dts-v1/;
@@ -11,6 +11,10 @@
 	model = "Toradex Colibri iMX6ULL";
 	compatible = "toradex,imx6ull-colibri", "fsl,imx6ull";
 
+	aliases {
+		mmc0 = &usdhc1;
+	};
+
 	chosen {
 		stdout-path = &uart1;
 	};
@@ -190,10 +194,18 @@
 	dr_mode = "host";
 };
 
+/* Colibri MMC */
 &usdhc1 {
 	assigned-clocks = <&clks IMX6UL_CLK_USDHC1_SEL>, <&clks IMX6UL_CLK_USDHC1>;
 	assigned-clock-parents = <&clks IMX6UL_CLK_PLL2_PFD2>;
 	assigned-clock-rates = <0>, <198000000>;
+	cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; /* MMC_CD */
+	pinctrl-names = "default", "state_100mhz", "state_200mhz";
+	pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_snvs_usdhc1_cd>;
+	pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
+	pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
+	vmmc-supply = <&reg_sd1_vmmc>;
+	status = "okay";
 };
 
 &iomuxc {
@@ -547,4 +559,3 @@
 		>;
 	};
 };
-
diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
index 8493b1dfdd..c9af44e30e 100644
--- a/board/toradex/colibri-imx6ull/colibri-imx6ull.c
+++ b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
@@ -18,11 +18,9 @@
 #include <dm.h>
 #include <dm/platform_data/serial_mxc.h>
 #include <fdt_support.h>
-#include <fsl_esdhc.h>
 #include <imx_thermal.h>
 #include <jffs2/load_kernel.h>
 #include <linux/sizes.h>
-#include <mmc.h>
 #include <miiphy.h>
 #include <mtd_node.h>
 #include <netdev.h>
@@ -34,10 +32,6 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-#define USDHC_PAD_CTRL (PAD_CTL_PUS_47K_UP |			\
-	PAD_CTL_SPEED_LOW | PAD_CTL_DSE_40ohm |			\
-	PAD_CTL_SRE_FAST  | PAD_CTL_HYS)
-
 #define LCD_PAD_CTRL    (PAD_CTL_HYS | PAD_CTL_PUS_100K_UP | \
 		PAD_CTL_DSE_48ohm)
 
@@ -56,19 +50,6 @@ int dram_init(void)
 	return 0;
 }
 
-#ifdef CONFIG_FSL_ESDHC
-static iomux_v3_cfg_t const usdhc1_pads[] = {
-	MX6_PAD_SD1_CLK__USDHC1_CLK	| MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX6_PAD_SD1_CMD__USDHC1_CMD	| MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX6_PAD_SD1_DATA0__USDHC1_DATA0	| MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX6_PAD_SD1_DATA1__USDHC1_DATA1	| MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX6_PAD_SD1_DATA2__USDHC1_DATA2	| MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX6_PAD_SD1_DATA3__USDHC1_DATA3	| MUX_PAD_CTRL(USDHC_PAD_CTRL),
-
-	MX6_PAD_SNVS_TAMPER0__GPIO5_IO00 | MUX_PAD_CTRL(NO_PAD_CTRL),
-};
-#endif
-
 static iomux_v3_cfg_t const usb_cdet_pads[] = {
 	MX6_PAD_SNVS_TAMPER2__GPIO5_IO02 | MUX_PAD_CTRL(NO_PAD_CTRL),
 };
@@ -135,57 +116,6 @@ static int setup_lcd(void)
 }
 #endif
 
-#ifdef CONFIG_FSL_ESDHC
-
-#define USDHC1_CD_GPIO	IMX_GPIO_NR(5, 0)
-
-static struct fsl_esdhc_cfg usdhc_cfg[] = {
-	{USDHC1_BASE_ADDR, 0, 4},
-};
-
-int board_mmc_getcd(struct mmc *mmc)
-{
-	struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv;
-	int ret = 0;
-
-	switch (cfg->esdhc_base) {
-	case USDHC1_BASE_ADDR:
-		ret = !gpio_get_value(USDHC1_CD_GPIO);
-		break;
-	}
-
-	return ret;
-}
-
-int board_mmc_init(bd_t *bis)
-{
-	int i, ret;
-
-	/* USDHC1 is mmc0 */
-	for (i = 0; i < CONFIG_SYS_FSL_USDHC_NUM; i++) {
-		switch (i) {
-		case 0:
-			imx_iomux_v3_setup_multiple_pads(usdhc1_pads,
-							 ARRAY_SIZE(usdhc1_pads));
-			gpio_request(USDHC1_CD_GPIO, "usdhc1_cd");
-			gpio_direction_input(USDHC1_CD_GPIO);
-			usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK);
-			break;
-		default:
-			printf("Warning: you configured more USDHC controllers"
-				"(%d) than supported by the board\n", i + 1);
-			return -EINVAL;
-		}
-
-		ret = fsl_esdhc_initialize(bis, &usdhc_cfg[i]);
-		if (ret)
-			return ret;
-	}
-
-	return 0;
-}
-#endif
-
 #ifdef CONFIG_FEC_MXC
 static int setup_fec(void)
 {
diff --git a/configs/colibri-imx6ull_defconfig b/configs/colibri-imx6ull_defconfig
index ce2c09338d..69305323f2 100644
--- a/configs/colibri-imx6ull_defconfig
+++ b/configs/colibri-imx6ull_defconfig
@@ -50,6 +50,7 @@ CONFIG_DFU_NAND=y
 CONFIG_DM_GPIO=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_MXC=y
+CONFIG_DM_MMC=y
 CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_NAND=y
diff --git a/include/configs/colibri-imx6ull.h b/include/configs/colibri-imx6ull.h
index 31248b14a1..7a7a70e457 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 Toradex AG
+ * Copyright 2018-2019 Toradex AG
  *
  * Configuration settings for the Colibri iMX6ULL module.
  *
@@ -30,7 +30,7 @@
 /* ENET1 */
 #define IMX_FEC_BASE			ENET2_BASE_ADDR
 
-/* MMC Config*/
+/* MMC Config */
 #define CONFIG_SYS_FSL_ESDHC_ADDR	0
 #define CONFIG_SYS_FSL_USDHC_NUM	1
 
@@ -182,4 +182,4 @@
 #define CONFIG_VIDEO_BMP_LOGO
 #endif
 
-#endif
+#endif /* __COLIBRI_IMX6ULL_CONFIG_H */
-- 
2.20.1

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

* [U-Boot] [PATCH v1 10/14] colibri-imx6ull: migrate usb to using driver model
  2019-03-29 12:34 [U-Boot] [PATCH v1 00/14] colibri-imx6ull device tree enablement and driver model conversion Marcel Ziswiler
                   ` (8 preceding siblings ...)
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 09/14] colibri-imx6ull: migrate mmc to using driver model Marcel Ziswiler
@ 2019-03-29 12:34 ` Marcel Ziswiler
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 11/14] colibri-imx6ull: migrate fec " Marcel Ziswiler
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 30+ messages in thread
From: Marcel Ziswiler @ 2019-03-29 12:34 UTC (permalink / raw)
  To: u-boot

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

Migrate USB to using driver model.
Add USBH_PEN GPIO regulator.
While at it also add alias e.g. as required for UMS.

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

---

 arch/arm/dts/imx6ull-colibri.dts              | 24 ++++++++++
 .../toradex/colibri-imx6ull/colibri-imx6ull.c | 48 -------------------
 configs/colibri-imx6ull_defconfig             |  1 +
 3 files changed, 25 insertions(+), 48 deletions(-)

diff --git a/arch/arm/dts/imx6ull-colibri.dts b/arch/arm/dts/imx6ull-colibri.dts
index 0d416ebd10..91e48aab61 100644
--- a/arch/arm/dts/imx6ull-colibri.dts
+++ b/arch/arm/dts/imx6ull-colibri.dts
@@ -13,6 +13,7 @@
 
 	aliases {
 		mmc0 = &usdhc1;
+		usb0 = &usbotg1; /* required for ums */
 	};
 
 	chosen {
@@ -35,6 +36,13 @@
 		regulator-max-microvolt = <3300000>;
 	};
 
+	reg_5v0: regulator-5v0 {
+		compatible = "regulator-fixed";
+		regulator-name = "5V";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+	};
+
 	reg_sd1_vmmc: regulator-sd1-vmmc {
 		compatible = "regulator-gpio";
 		gpio = <&gpio5 9 GPIO_ACTIVE_HIGH>;
@@ -47,6 +55,17 @@
 		states = <1800000 0x1 3300000 0x0>;
 		vin-supply = <&reg_module_3v3>;
 	};
+
+	reg_usbh_vbus: regulator-usbh-vbus {
+		compatible = "regulator-fixed";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_usbh_reg>;
+		regulator-name = "VCC_USB[1-4]";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		gpio = <&gpio1 2 GPIO_ACTIVE_LOW>; /* USBH_PEN */
+		vin-supply = <&reg_5v0>;
+	};
 };
 
 &adc1 {
@@ -183,15 +202,20 @@
 	fsl,dte-mode;
 };
 
+/* Colibri USBC */
 &usbotg1 {
 	dr_mode = "otg";
 	srp-disable;
 	hnp-disable;
 	adp-disable;
+	status = "okay";
 };
 
+/* Colibri USBH */
 &usbotg2 {
 	dr_mode = "host";
+	vbus-supply = <&reg_usbh_vbus>;
+	status = "okay";
 };
 
 /* Colibri MMC */
diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
index c9af44e30e..21addaf6ed 100644
--- a/board/toradex/colibri-imx6ull/colibri-imx6ull.c
+++ b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
@@ -24,8 +24,6 @@
 #include <miiphy.h>
 #include <mtd_node.h>
 #include <netdev.h>
-#include <usb.h>
-#include <usb/ehci-ci.h>
 
 #include "../common/tdx-common.h"
 #include "../common/tdx-cfg-block.h"
@@ -41,8 +39,6 @@ DECLARE_GLOBAL_DATA_PTR;
 
 #define NAND_PAD_READY0_CTRL (PAD_CTL_DSE_48ohm | PAD_CTL_PUS_22K_UP)
 
-#define USB_CDET_GPIO	IMX_GPIO_NR(7, 14)
-
 int dram_init(void)
 {
 	gd->ram_size = get_ram_size((void *)PHYS_SDRAM, PHYS_SDRAM_SIZE);
@@ -50,10 +46,6 @@ int dram_init(void)
 	return 0;
 }
 
-static iomux_v3_cfg_t const usb_cdet_pads[] = {
-	MX6_PAD_SNVS_TAMPER2__GPIO5_IO02 | MUX_PAD_CTRL(NO_PAD_CTRL),
-};
-
 #ifdef CONFIG_NAND_MXS
 static void setup_gpmi_nand(void)
 {
@@ -163,11 +155,6 @@ int board_init(void)
 	setup_lcd();
 #endif
 
-#ifdef CONFIG_USB_EHCI_MX6
-	imx_iomux_v3_setup_multiple_pads(usb_cdet_pads, ARRAY_SIZE(usb_cdet_pads));
-	gpio_request(USB_CDET_GPIO, "usb-cdet-gpio");
-#endif
-
 	return 0;
 }
 
@@ -241,41 +228,6 @@ int ft_board_setup(void *blob, bd_t *bd)
 }
 #endif
 
-#ifdef CONFIG_USB_EHCI_MX6
-static iomux_v3_cfg_t const usb_otg2_pads[] = {
-		MX6_PAD_GPIO1_IO02__GPIO1_IO02 | MUX_PAD_CTRL(NO_PAD_CTRL),
-};
-
-int board_ehci_hcd_init(int port)
-{
-	switch (port) {
-	case 0:
-		break;
-	case 1:
-		imx_iomux_v3_setup_multiple_pads(usb_otg2_pads,
-						 ARRAY_SIZE(usb_otg2_pads));
-		break;
-	default:
-		return -EINVAL;
-	}
-	return 0;
-}
-
-int board_usb_phy_mode(int port)
-{
-	switch (port) {
-	case 0:
-		if (gpio_get_value(USB_CDET_GPIO))
-			return USB_INIT_DEVICE;
-		else
-			return USB_INIT_HOST;
-	case 1:
-	default:
-		return USB_INIT_HOST;
-	}
-}
-#endif
-
 static struct mxc_serial_platdata mxc_serial_plat = {
 	.reg = (struct mxc_uart *)UART1_BASE,
 	.use_dte = 1,
diff --git a/configs/colibri-imx6ull_defconfig b/configs/colibri-imx6ull_defconfig
index 69305323f2..0440b4ed94 100644
--- a/configs/colibri-imx6ull_defconfig
+++ b/configs/colibri-imx6ull_defconfig
@@ -71,6 +71,7 @@ CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_SERIAL=y
 CONFIG_MXC_UART=y
 CONFIG_USB=y
+CONFIG_DM_USB=y
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_MANUFACTURER="Toradex"
 CONFIG_USB_GADGET_VENDOR_NUM=0x1b67
-- 
2.20.1

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

* [U-Boot] [PATCH v1 11/14] colibri-imx6ull: migrate fec to using driver model
  2019-03-29 12:34 [U-Boot] [PATCH v1 00/14] colibri-imx6ull device tree enablement and driver model conversion Marcel Ziswiler
                   ` (9 preceding siblings ...)
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 10/14] colibri-imx6ull: migrate usb " Marcel Ziswiler
@ 2019-03-29 12:34 ` Marcel Ziswiler
  2019-04-03  8:42   ` Igor Opaniuk
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 12/14] ARM: dts: colibri-imx6ull: fix uart-has-rtscts property Marcel Ziswiler
                   ` (2 subsequent siblings)
  13 siblings, 1 reply; 30+ messages in thread
From: Marcel Ziswiler @ 2019-03-29 12:34 UTC (permalink / raw)
  To: u-boot

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

Migrate Ethernet FEC to using driver model.
Drop PHY_MICREL_KSZ90X1 which slipped in from Apalis iMX6.

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

---

 arch/arm/dts/imx6ull-colibri.dts  | 31 ++++++++++++++++---------------
 configs/colibri-imx6ull_defconfig |  3 +--
 include/configs/colibri-imx6ull.h |  4 ----
 3 files changed, 17 insertions(+), 21 deletions(-)

diff --git a/arch/arm/dts/imx6ull-colibri.dts b/arch/arm/dts/imx6ull-colibri.dts
index 91e48aab61..2f8865c29c 100644
--- a/arch/arm/dts/imx6ull-colibri.dts
+++ b/arch/arm/dts/imx6ull-colibri.dts
@@ -80,6 +80,7 @@
 	pinctrl-0 = <&pinctrl_ecspi1 &pinctrl_ecspi1_cs>;
 };
 
+/* Ethernet */
 &fec2 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_enet2>;
@@ -233,6 +234,21 @@
 };
 
 &iomuxc {
+	pinctrl_enet2: enet2-grp {
+		fsl,pins = <
+			MX6UL_PAD_GPIO1_IO06__ENET2_MDIO	0x1b0b0
+			MX6UL_PAD_GPIO1_IO07__ENET2_MDC		0x1b0b0
+			MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00	0x1b0b0
+			MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01	0x1b0b0
+			MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN	0x1b0b0
+			MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER	0x1b0b0
+			MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2	0x4001b031
+			MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00	0x1b0b0
+			MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01	0x1b0b0
+			MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN	0x1b0b0
+		>;
+	};
+
 	pinctrl_gpio1: gpio1-grp {
 		fsl,pins = <
 			MX6UL_PAD_ENET1_RX_DATA0__GPIO2_IO00	0x74 /* SODIMM 55 */
@@ -295,21 +311,6 @@
 		>;
 	};
 
-	pinctrl_enet2: enet2-grp {
-		fsl,pins = <
-			MX6UL_PAD_GPIO1_IO06__ENET2_MDIO	0x1b0b0
-			MX6UL_PAD_GPIO1_IO07__ENET2_MDC		0x1b0b0
-			MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00	0x1b0b0
-			MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01	0x1b0b0
-			MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN	0x1b0b0
-			MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER	0x1b0b0
-			MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2	0x4001b031
-			MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00	0x1b0b0
-			MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01	0x1b0b0
-			MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN	0x1b0b0
-		>;
-	};
-
 	pinctrl_ecspi1_cs: ecspi1-cs-grp {
 		fsl,pins = <
 			MX6UL_PAD_LCD_DATA21__GPIO3_IO26	0x000a0
diff --git a/configs/colibri-imx6ull_defconfig b/configs/colibri-imx6ull_defconfig
index 0440b4ed94..a24c87f321 100644
--- a/configs/colibri-imx6ull_defconfig
+++ b/configs/colibri-imx6ull_defconfig
@@ -58,9 +58,8 @@ CONFIG_NAND_MXS=y
 CONFIG_NAND_MXS_DT=y
 CONFIG_MTD_UBI_FASTMAP=y
 CONFIG_PHYLIB=y
-CONFIG_PHY_ADDR_ENABLE=y
 CONFIG_PHY_MICREL=y
-CONFIG_PHY_MICREL_KSZ90X1=y
+CONFIG_DM_ETH=y
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
diff --git a/include/configs/colibri-imx6ull.h b/include/configs/colibri-imx6ull.h
index 7a7a70e457..fc39e807b6 100644
--- a/include/configs/colibri-imx6ull.h
+++ b/include/configs/colibri-imx6ull.h
@@ -19,10 +19,6 @@
 #define CONFIG_SYS_MALLOC_LEN		(32 * SZ_1M)
 
 /* Network */
-#define CONFIG_FEC_XCV_TYPE             RMII
-#define CONFIG_ETHPRIME                 "FEC"
-#define CONFIG_FEC_MXC_PHYADDR		0
-
 #define CONFIG_IP_DEFRAG
 #define CONFIG_TFTP_BLOCKSIZE		16352
 #define CONFIG_TFTP_TSIZE
-- 
2.20.1

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

* [U-Boot] [PATCH v1 12/14] ARM: dts: colibri-imx6ull: fix uart-has-rtscts property
  2019-03-29 12:34 [U-Boot] [PATCH v1 00/14] colibri-imx6ull device tree enablement and driver model conversion Marcel Ziswiler
                   ` (10 preceding siblings ...)
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 11/14] colibri-imx6ull: migrate fec " Marcel Ziswiler
@ 2019-03-29 12:34 ` Marcel Ziswiler
  2019-04-03  8:36   ` Igor Opaniuk
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 13/14] ARM: dts: colibri-imx6ull: add osc32k_32k_out pinctrl Marcel Ziswiler
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 14/14] ARM: dts: colibri-imx6ull: update device tree Marcel Ziswiler
  13 siblings, 1 reply; 30+ messages in thread
From: Marcel Ziswiler @ 2019-03-29 12:34 UTC (permalink / raw)
  To: u-boot

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

Remove vendor pre-fix fsl, from uart-has-rtscts property.

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

---

 arch/arm/dts/imx6ull-colibri.dts | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/arch/arm/dts/imx6ull-colibri.dts b/arch/arm/dts/imx6ull-colibri.dts
index 2f8865c29c..f05c72eb2c 100644
--- a/arch/arm/dts/imx6ull-colibri.dts
+++ b/arch/arm/dts/imx6ull-colibri.dts
@@ -182,21 +182,24 @@
 	status = "disabled";
 };
 
+/* Colibri UART_A */
 &uart1 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_uart1 &pinctrl_uart1_ctrl1>;
-	fsl,uart-has-rtscts;
+	uart-has-rtscts;
 	fsl,dte-mode;
 	status = "okay";
 };
 
+/* Colibri UART_B */
 &uart2 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_uart2>;
-	fsl,uart-has-rtscts;
+	uart-has-rtscts;
 	fsl,dte-mode;
 };
 
+/* Colibri UART_C */
 &uart5 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_uart5>;
-- 
2.20.1

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

* [U-Boot] [PATCH v1 13/14] ARM: dts: colibri-imx6ull: add osc32k_32k_out pinctrl
  2019-03-29 12:34 [U-Boot] [PATCH v1 00/14] colibri-imx6ull device tree enablement and driver model conversion Marcel Ziswiler
                   ` (11 preceding siblings ...)
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 12/14] ARM: dts: colibri-imx6ull: fix uart-has-rtscts property Marcel Ziswiler
@ 2019-03-29 12:34 ` Marcel Ziswiler
  2019-04-03  8:29   ` Igor Opaniuk
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 14/14] ARM: dts: colibri-imx6ull: update device tree Marcel Ziswiler
  13 siblings, 1 reply; 30+ messages in thread
From: Marcel Ziswiler @ 2019-03-29 12:34 UTC (permalink / raw)
  To: u-boot

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

Add GPIO1_IO03__OSC32K_32K_OUT pin muxing.
While at it also fix indentation of pinfunc header file.

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

---

 arch/arm/dts/imx6ull-colibri.dts |  2 ++
 arch/arm/dts/imx6ull-pinfunc.h   | 26 ++++++++++++++------------
 2 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/arch/arm/dts/imx6ull-colibri.dts b/arch/arm/dts/imx6ull-colibri.dts
index f05c72eb2c..84f70deaa1 100644
--- a/arch/arm/dts/imx6ull-colibri.dts
+++ b/arch/arm/dts/imx6ull-colibri.dts
@@ -524,6 +524,8 @@
 			MX6UL_PAD_CSI_DATA03__USDHC2_DATA3	0x17059
 			MX6UL_PAD_CSI_HSYNC__USDHC2_CMD		0x17059
 			MX6UL_PAD_CSI_VSYNC__USDHC2_CLK		0x17059
+
+			MX6UL_PAD_GPIO1_IO03__OSC32K_32K_OUT	0x14
 		>;
 	};
 };
diff --git a/arch/arm/dts/imx6ull-pinfunc.h b/arch/arm/dts/imx6ull-pinfunc.h
index fca003680b..7770ed39f6 100644
--- a/arch/arm/dts/imx6ull-pinfunc.h
+++ b/arch/arm/dts/imx6ull-pinfunc.h
@@ -14,6 +14,8 @@
  * The pin function ID is a tuple of
  * <mux_reg conf_reg input_reg mux_mode input_val>
  */
+#define MX6UL_PAD_GPIO1_IO03__OSC32K_32K_OUT                     0x0068 0x02f4 0x0000 0x3 0x0
+
 #define MX6UL_PAD_ENET2_RX_DATA0__EPDC_SDDO08                    0x00E4 0x0370 0x0000 0x9 0x0
 #define MX6UL_PAD_ENET2_RX_DATA1__EPDC_SDDO09                    0x00E8 0x0374 0x0000 0x9 0x0
 #define MX6UL_PAD_ENET2_RX_EN__EPDC_SDDO10                       0x00EC 0x0378 0x0000 0x9 0x0
@@ -41,17 +43,17 @@
 #define MX6UL_PAD_LCD_DATA17__EPDC_GDSP                          0x015C 0x03E8 0x0000 0x9 0x0
 #define MX6UL_PAD_LCD_DATA21__EPDC_SDCE1                         0x016C 0x03F8 0x0000 0x9 0x0
 
-#define MX6UL_PAD_CSI_MCLK__ESAI_TX3_RX2                          0x01D4 0x0460 0x0000 0x9 0x0
-#define MX6UL_PAD_CSI_PIXCLK__ESAI_TX2_RX3                        0x01D8 0x0464 0x0000 0x9 0x0
-#define MX6UL_PAD_CSI_VSYNC__ESAI_TX4_RX1                         0x01DC 0x0468 0x0000 0x9 0x0
-#define MX6UL_PAD_CSI_HSYNC__ESAI_TX1                             0x01E0 0x046C 0x0000 0x9 0x0
-#define MX6UL_PAD_CSI_DATA00__ESAI_TX_HF_CLK                      0x01E4 0x0470 0x0000 0x9 0x0
-#define MX6UL_PAD_CSI_DATA01__ESAI_RX_HF_CLK                      0x01E8 0x0474 0x0000 0x9 0x0
-#define MX6UL_PAD_CSI_DATA02__ESAI_RX_FS                          0x01EC 0x0478 0x0000 0x9 0x0
-#define MX6UL_PAD_CSI_DATA03__ESAI_RX_CLK                         0x01F0 0x047C 0x0000 0x9 0x0
-#define MX6UL_PAD_CSI_DATA04__ESAI_TX_FS                          0x01F4 0x0480 0x0000 0x9 0x0
-#define MX6UL_PAD_CSI_DATA05__ESAI_TX_CLK                         0x01F8 0x0484 0x0000 0x9 0x0
-#define MX6UL_PAD_CSI_DATA06__ESAI_TX5_RX0                        0x01FC 0x0488 0x0000 0x9 0x0
-#define MX6UL_PAD_CSI_DATA07__ESAI_T0                             0x0200 0x048C 0x0000 0x9 0x0
+#define MX6UL_PAD_CSI_MCLK__ESAI_TX3_RX2                         0x01D4 0x0460 0x0000 0x9 0x0
+#define MX6UL_PAD_CSI_PIXCLK__ESAI_TX2_RX3                       0x01D8 0x0464 0x0000 0x9 0x0
+#define MX6UL_PAD_CSI_VSYNC__ESAI_TX4_RX1                        0x01DC 0x0468 0x0000 0x9 0x0
+#define MX6UL_PAD_CSI_HSYNC__ESAI_TX1                            0x01E0 0x046C 0x0000 0x9 0x0
+#define MX6UL_PAD_CSI_DATA00__ESAI_TX_HF_CLK                     0x01E4 0x0470 0x0000 0x9 0x0
+#define MX6UL_PAD_CSI_DATA01__ESAI_RX_HF_CLK                     0x01E8 0x0474 0x0000 0x9 0x0
+#define MX6UL_PAD_CSI_DATA02__ESAI_RX_FS                         0x01EC 0x0478 0x0000 0x9 0x0
+#define MX6UL_PAD_CSI_DATA03__ESAI_RX_CLK                        0x01F0 0x047C 0x0000 0x9 0x0
+#define MX6UL_PAD_CSI_DATA04__ESAI_TX_FS                         0x01F4 0x0480 0x0000 0x9 0x0
+#define MX6UL_PAD_CSI_DATA05__ESAI_TX_CLK                        0x01F8 0x0484 0x0000 0x9 0x0
+#define MX6UL_PAD_CSI_DATA06__ESAI_TX5_RX0                       0x01FC 0x0488 0x0000 0x9 0x0
+#define MX6UL_PAD_CSI_DATA07__ESAI_T0                            0x0200 0x048C 0x0000 0x9 0x0
 
 #endif /* __DTS_IMX6ULL_PINFUNC_H */
-- 
2.20.1

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

* [U-Boot] [PATCH v1 14/14] ARM: dts: colibri-imx6ull: update device tree
  2019-03-29 12:34 [U-Boot] [PATCH v1 00/14] colibri-imx6ull device tree enablement and driver model conversion Marcel Ziswiler
                   ` (12 preceding siblings ...)
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 13/14] ARM: dts: colibri-imx6ull: add osc32k_32k_out pinctrl Marcel Ziswiler
@ 2019-03-29 12:34 ` Marcel Ziswiler
  2019-04-03  8:24   ` Igor Opaniuk
  13 siblings, 1 reply; 30+ messages in thread
From: Marcel Ziswiler @ 2019-03-29 12:34 UTC (permalink / raw)
  To: u-boot

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

Fix compatible node to use regular Toradex notation.
Annotate device tree with standard Colibri pin muxing comments.
Use open-drain I2C pin muxings.
Alphabetically re-order iomuxc nodes.
Rename 	snvs-ad7879-int-grp touch interrupt node as per Linux device tree.

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

---

 arch/arm/dts/imx6ull-colibri.dts | 91 ++++++++++++++++++--------------
 1 file changed, 52 insertions(+), 39 deletions(-)

diff --git a/arch/arm/dts/imx6ull-colibri.dts b/arch/arm/dts/imx6ull-colibri.dts
index 84f70deaa1..4196cbdf22 100644
--- a/arch/arm/dts/imx6ull-colibri.dts
+++ b/arch/arm/dts/imx6ull-colibri.dts
@@ -9,7 +9,7 @@
 
 / {
 	model = "Toradex Colibri iMX6ULL";
-	compatible = "toradex,imx6ull-colibri", "fsl,imx6ull";
+	compatible = "toradex,colibri-imx6ull", "fsl,imx6ull";
 
 	aliases {
 		mmc0 = &usdhc1;
@@ -100,6 +100,7 @@
 	};
 };
 
+/* NAND */
 &gpmi {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_gpmi_nand>;
@@ -110,21 +111,28 @@
 	status = "okay";
 };
 
+/*
+ * I2C3_SDA/SCL on SODIMM 194/196 (e.g. RTC on carrier board)
+ */
 &i2c1 {
 	pinctrl-names = "default", "gpio";
 	pinctrl-0 = <&pinctrl_i2c1>;
 	pinctrl-1 = <&pinctrl_i2c1_gpio>;
-	sda-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
-	scl-gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
+	sda-gpios = <&gpio1 29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+	scl-gpios = <&gpio1 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 	status = "okay";
 };
 
+/*
+ * PWR_I2C: power I2C to audio codec, PMIC, temperature sensor and
+ * touch screen controller
+ */
 &i2c2 {
 	pinctrl-names = "default", "gpio";
 	pinctrl-0 = <&pinctrl_i2c2>;
 	pinctrl-1 = <&pinctrl_i2c2_gpio>;
-	sda-gpios = <&gpio1 31 GPIO_ACTIVE_LOW>;
-	scl-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
+	sda-gpios = <&gpio1 31 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+	scl-gpios = <&gpio1 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 	status = "okay";
 
 	ad7879 at 2c {
@@ -150,24 +158,28 @@
 		     &pinctrl_lcdif_ctrl>;
 };
 
+/* PWM <A> */
 &pwm4 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_pwm4>;
 	#pwm-cells = <3>;
 };
 
+/* PWM <B> */
 &pwm5 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_pwm5>;
 	#pwm-cells = <3>;
 };
 
+/* PWM <C> */
 &pwm6 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_pwm6>;
 	#pwm-cells = <3>;
 };
 
+/* PWM <D> */
 &pwm7 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_pwm7>;
@@ -237,6 +249,13 @@
 };
 
 &iomuxc {
+	pinctrl_can_int: canint-grp {
+		fsl,pins = <
+			/* SODIMM 73 */
+			MX6UL_PAD_ENET1_TX_DATA1__GPIO2_IO04	0X14
+		>;
+	};
+
 	pinctrl_enet2: enet2-grp {
 		fsl,pins = <
 			MX6UL_PAD_GPIO1_IO06__ENET2_MDIO	0x1b0b0
@@ -252,6 +271,33 @@
 		>;
 	};
 
+	pinctrl_ecspi1_cs: ecspi1-cs-grp {
+		fsl,pins = <
+			MX6UL_PAD_LCD_DATA21__GPIO3_IO26	0x000a0
+		>;
+	};
+
+	pinctrl_ecspi1: ecspi1-grp {
+		fsl,pins = <
+			MX6UL_PAD_LCD_DATA20__ECSPI1_SCLK	0x000a0
+			MX6UL_PAD_LCD_DATA22__ECSPI1_MOSI	0x000a0
+			MX6UL_PAD_LCD_DATA23__ECSPI1_MISO	0x100a0
+		>;
+	};
+
+	pinctrl_flexcan2: flexcan2-grp {
+		fsl,pins = <
+			MX6UL_PAD_ENET1_TX_DATA0__FLEXCAN2_RX	0x1b020
+			MX6UL_PAD_ENET1_RX_EN__FLEXCAN2_TX	0x1b020
+		>;
+	};
+
+	pinctrl_gpio_bl_on: gpio-bl-on-grp {
+		fsl,pins = <
+			MX6UL_PAD_JTAG_TMS__GPIO1_IO11		0x000a0
+		>;
+	};
+
 	pinctrl_gpio1: gpio1-grp {
 		fsl,pins = <
 			MX6UL_PAD_ENET1_RX_DATA0__GPIO2_IO00	0x74 /* SODIMM 55 */
@@ -308,39 +354,6 @@
 		>;
 	};
 
-	pinctrl_can_int: canint-grp {
-		fsl,pins = <
-			MX6UL_PAD_ENET1_TX_DATA1__GPIO2_IO04	0X14 /* SODIMM 73 */
-		>;
-	};
-
-	pinctrl_ecspi1_cs: ecspi1-cs-grp {
-		fsl,pins = <
-			MX6UL_PAD_LCD_DATA21__GPIO3_IO26	0x000a0
-		>;
-	};
-
-	pinctrl_ecspi1: ecspi1-grp {
-		fsl,pins = <
-			MX6UL_PAD_LCD_DATA20__ECSPI1_SCLK	0x000a0
-			MX6UL_PAD_LCD_DATA22__ECSPI1_MOSI	0x000a0
-			MX6UL_PAD_LCD_DATA23__ECSPI1_MISO	0x100a0
-		>;
-	};
-
-	pinctrl_flexcan2: flexcan2-grp {
-		fsl,pins = <
-			MX6UL_PAD_ENET1_TX_DATA0__FLEXCAN2_RX	0x1b020
-			MX6UL_PAD_ENET1_RX_EN__FLEXCAN2_TX	0x1b020
-		>;
-	};
-
-	pinctrl_gpio_bl_on: gpio-bl-on-grp {
-		fsl,pins = <
-			MX6UL_PAD_JTAG_TMS__GPIO1_IO11		0x000a0
-		>;
-	};
-
 	pinctrl_gpmi_nand: gpmi-nand-grp {
 		fsl,pins = <
 			MX6UL_PAD_NAND_DATA00__RAWNAND_DATA00	0x100a9
@@ -553,7 +566,7 @@
 		>;
 	};
 
-	pinctrl_snvs_ad7879_int: snvs-ad7879-int { /* TOUCH Interrupt */
+	pinctrl_snvs_ad7879_int: snvs-ad7879-int-grp { /* TOUCH Interrupt */
 		fsl,pins = <
 			MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07	0x1b0b0
 		>;
-- 
2.20.1

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

* [U-Boot] [PATCH v1 04/14] apalis/colibri_imx6/imx6ull: make sure loadaddr does not collide
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 04/14] apalis/colibri_imx6/imx6ull: make sure loadaddr does not collide Marcel Ziswiler
@ 2019-04-02 14:04   ` Igor Opaniuk
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Opaniuk @ 2019-04-02 14:04 UTC (permalink / raw)
  To: u-boot

Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>

On Fri, Mar 29, 2019 at 1:36 PM Marcel Ziswiler <marcel@ziswiler.com> wrote:
>
> From: Stefan Agner <stefan.agner@toradex.com>
>
> Currently $loadaddr and $fdt_addr_r point to the same address. This
> might be not ideal for some distro boot scripts which make use of
> $loadaddr after loading the device tree.
>
> Make sure the two variables point to two different addresses. Moving
> $loadaddr is not entirly trivial since it is defined in mx6_common.h.
> Move $fdt_addr_r and $ramdisk_addr_r by 1MiB, which should be enough
> for scripts.
>
> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> ---
>
>  include/configs/apalis_imx6.h     | 4 ++--
>  include/configs/colibri-imx6ull.h | 4 ++--
>  include/configs/colibri_imx6.h    | 4 ++--
>  3 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/include/configs/apalis_imx6.h b/include/configs/apalis_imx6.h
> index 95dd6f9362..02ca8bf361 100644
> --- a/include/configs/apalis_imx6.h
> +++ b/include/configs/apalis_imx6.h
> @@ -139,12 +139,12 @@
>
>  #define MEM_LAYOUT_ENV_SETTINGS \
>         "bootm_size=0x20000000\0" \
> -       "fdt_addr_r=0x12000000\0" \
> +       "fdt_addr_r=0x12100000\0" \
>         "fdt_high=0xffffffff\0" \
>         "initrd_high=0xffffffff\0" \
>         "kernel_addr_r=0x11000000\0" \
>         "pxefile_addr_r=0x17100000\0" \
> -       "ramdisk_addr_r=0x12100000\0" \
> +       "ramdisk_addr_r=0x12200000\0" \
>         "scriptaddr=0x17000000\0"
>
>  #define NFS_BOOTCMD \
> diff --git a/include/configs/colibri-imx6ull.h b/include/configs/colibri-imx6ull.h
> index 7cf550cf9e..31248b14a1 100644
> --- a/include/configs/colibri-imx6ull.h
> +++ b/include/configs/colibri-imx6ull.h
> @@ -48,12 +48,12 @@
>
>  #define MEM_LAYOUT_ENV_SETTINGS \
>         "bootm_size=0x10000000\0" \
> -       "fdt_addr_r=0x82000000\0" \
> +       "fdt_addr_r=0x82100000\0" \
>         "fdt_high=0xffffffff\0" \
>         "initrd_high=0xffffffff\0" \
>         "kernel_addr_r=0x81000000\0" \
>         "pxefile_addr_r=0x87100000\0" \
> -       "ramdisk_addr_r=0x82100000\0" \
> +       "ramdisk_addr_r=0x82200000\0" \
>         "scriptaddr=0x87000000\0"
>
>  #define NFS_BOOTCMD \
> diff --git a/include/configs/colibri_imx6.h b/include/configs/colibri_imx6.h
> index d2f8a58e80..3b94078f82 100644
> --- a/include/configs/colibri_imx6.h
> +++ b/include/configs/colibri_imx6.h
> @@ -129,12 +129,12 @@
>
>  #define MEM_LAYOUT_ENV_SETTINGS \
>         "bootm_size=0x10000000\0" \
> -       "fdt_addr_r=0x12000000\0" \
> +       "fdt_addr_r=0x12100000\0" \
>         "fdt_high=0xffffffff\0" \
>         "initrd_high=0xffffffff\0" \
>         "kernel_addr_r=0x11000000\0" \
>         "pxefile_addr_r=0x17100000\0" \
> -       "ramdisk_addr_r=0x12100000\0" \
> +       "ramdisk_addr_r=0x12200000\0" \
>         "scriptaddr=0x17000000\0"
>
>  #define NFS_BOOTCMD \
> --
> 2.20.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot

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

* [U-Boot] [PATCH v1 01/14] tdx-cfg-block: add support for new colibri iMX6ull skus
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 01/14] tdx-cfg-block: add support for new colibri iMX6ull skus Marcel Ziswiler
@ 2019-04-03  7:59   ` Igor Opaniuk
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Opaniuk @ 2019-04-03  7:59 UTC (permalink / raw)
  To: u-boot

Hi Marcel,

Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>

On Fri, Mar 29, 2019 at 1:35 PM Marcel Ziswiler <marcel@ziswiler.com> wrote:
>
> From: Gerard Salvatella <gerard.salvatella@toradex.com>
>
> Add support for new Colibri iMX6ULL SKUs.
>
> While at it also checkpatch fix the whole files.
>
> Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com>
> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> ---
>
>  board/toradex/common/tdx-cfg-block.c | 62 +++++++++++++++++++++-------
>  board/toradex/common/tdx-cfg-block.h |  3 ++
>  2 files changed, 50 insertions(+), 15 deletions(-)
>
> diff --git a/board/toradex/common/tdx-cfg-block.c b/board/toradex/common/tdx-cfg-block.c
> index b90077bedc..3b73421243 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 Toradex, Inc.
> + * Copyright (c) 2016-2019 Toradex, Inc.
>   */
>
>  #include <common.h>
> @@ -98,6 +98,9 @@ const char * const toradex_modules[] = {
>         [40] = "Colibri iMX6ULL 512MB Wi-Fi / Bluetooth IT",
>         [41] = "Colibri iMX7 Dual 512MB EPDC",
>         [42] = "Apalis TK1 4GB",
> +       [43] = "Colibri T20 512MB IT SETEK",
> +       [44] = "Colibri iMX6ULL 512MB IT",
> +       [45] = "Colibri iMX6ULL 512MB Wi-Fi / Bluetooth",
>  };
>
>  #ifdef CONFIG_TDX_CFG_BLOCK_IS_IN_MMC
> @@ -299,22 +302,47 @@ static int get_cfgblock_interactive(void)
>                         else
>                                 tdx_hw_tag.prodid = APALIS_IMX6D;
>  #else
> -               if (it == 'y' || it == 'Y')
> -                       if (is_cpu_type(MXC_CPU_MX6DL))
> +               char wb = 'n';
> +
> +               if (it == 'y' || it == 'Y') {
> +                       if (is_cpu_type(MXC_CPU_MX6DL)) {
>                                 tdx_hw_tag.prodid = COLIBRI_IMX6DL_IT;
> -                       else
> +                       } else if (is_cpu_type(MXC_CPU_MX6SOLO)) {
>                                 tdx_hw_tag.prodid = COLIBRI_IMX6S_IT;
> -               else
> -                       if (is_cpu_type(MXC_CPU_MX6DL))
> +                       } 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)) {
>                                 tdx_hw_tag.prodid = COLIBRI_IMX6DL;
> -                       else
> +                       } 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 */
> -       } else if (!strcmp("imx7d", soc)) {
> +       } else if (!strcmp("imx7d", soc))
>                 tdx_hw_tag.prodid = COLIBRI_IMX7D;
> -       } else if (!strcmp("imx7s", soc)) {
> +       else if (!strcmp("imx7s", soc))
>                 tdx_hw_tag.prodid = COLIBRI_IMX7S;
> -       } else if (!strcmp("tegra20", soc)) {
> +       else if (!strcmp("tegra20", soc)) {
>                 if (it == 'y' || it == 'Y')
>                         if (gd->ram_size == 0x10000000)
>                                 tdx_hw_tag.prodid = COLIBRI_T20_256MB_IT;
> @@ -330,8 +358,9 @@ static int get_cfgblock_interactive(void)
>                         tdx_hw_tag.prodid = COLIBRI_PXA270_312MHZ;
>                 else
>                         tdx_hw_tag.prodid = COLIBRI_PXA270_520MHZ;
> +       }
>  #ifdef CONFIG_MACH_TYPE
> -       } else if (!strcmp("tegra30", soc)) {
> +       else if (!strcmp("tegra30", soc)) {
>                 if (CONFIG_MACH_TYPE == MACH_TYPE_APALIS_T30) {
>                         if (it == 'y' || it == 'Y')
>                                 tdx_hw_tag.prodid = APALIS_T30_IT;
> @@ -346,8 +375,9 @@ static int get_cfgblock_interactive(void)
>                         else
>                                 tdx_hw_tag.prodid = COLIBRI_T30;
>                 }
> +       }
>  #endif /* CONFIG_MACH_TYPE */
> -       } else if (!strcmp("tegra124", soc)) {
> +       else if (!strcmp("tegra124", soc)) {
>                 tdx_hw_tag.prodid = APALIS_TK1_2GB;
>         } else if (!strcmp("vf500", soc)) {
>                 if (it == 'y' || it == 'Y')
> @@ -373,7 +403,7 @@ static int get_cfgblock_interactive(void)
>         tdx_hw_tag.ver_minor = console_buffer[2] - '0';
>         tdx_hw_tag.ver_assembly = console_buffer[3] - 'A';
>
> -       if (cpu_is_pxa27x() && (tdx_hw_tag.ver_major == 1))
> +       if (cpu_is_pxa27x() && tdx_hw_tag.ver_major == 1)
>                 tdx_hw_tag.prodid -= (COLIBRI_PXA270_312MHZ -
>                                        COLIBRI_PXA270_V1_312MHZ);
>
> @@ -441,7 +471,8 @@ static int do_cfgblock_create(cmd_tbl_t *cmdtp, int flag, int argc,
>                  * On NAND devices, recreation is only allowed if the page is
>                  * empty (config block invalid...)
>                  */
> -               printf("NAND erase block %d need to be erased before creating a Toradex config block\n",
> +               printf("NAND erase block %d need to be erased before creating" \
> +                      " a Toradex config block\n",
>                        CONFIG_TDX_CFG_BLOCK_OFFSET /
>                        get_nand_dev_by_index(0)->erasesize);
>                 goto out;
> @@ -450,7 +481,8 @@ static int do_cfgblock_create(cmd_tbl_t *cmdtp, int flag, int argc,
>                  * On NOR devices, recreation is only allowed if the sector is
>                  * empty and write protection is off (config block invalid...)
>                  */
> -               printf("NOR sector at offset 0x%02x need to be erased and unprotected before creating a Toradex config block\n",
> +               printf("NOR sector at offset 0x%02x need to be erased and " \
> +                      "unprotected before creating a Toradex config block\n",
>                        CONFIG_TDX_CFG_BLOCK_OFFSET);
>                 goto out;
>  #else
> diff --git a/board/toradex/common/tdx-cfg-block.h b/board/toradex/common/tdx-cfg-block.h
> index da60e789a7..961bb4394f 100644
> --- a/board/toradex/common/tdx-cfg-block.h
> +++ b/board/toradex/common/tdx-cfg-block.h
> @@ -61,6 +61,9 @@ enum {
>         COLIBRI_IMX6ULL_WIFI_BT_IT, /* 40 */
>         COLIBRI_IMX7D_EPDC,
>         APALIS_TK1_4GB,
> +       COLIBRI_T20_512MB_IT_SETEK,
> +       COLIBRI_IMX6ULL_IT,
> +       COLIBRI_IMX6ULL_WIFI_BT, /* 45 */
>  };
>
>  extern const char * const toradex_modules[];
> --
> 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)

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

* [U-Boot] [PATCH v1 02/14] tdx-cfg-block: simplify i.MX 6 module detection
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 02/14] tdx-cfg-block: simplify i.MX 6 module detection Marcel Ziswiler
@ 2019-04-03  8:04   ` Igor Opaniuk
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Opaniuk @ 2019-04-03  8:04 UTC (permalink / raw)
  To: u-boot

Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>

On Fri, Mar 29, 2019 at 1:36 PM Marcel Ziswiler <marcel@ziswiler.com> wrote:
>
> From: Stefan Agner <stefan.agner@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@toradex.com>
> Acked-by: Marcel Ziswiler <marcel.ziswiler@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)

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

* [U-Boot] [PATCH v1 03/14] colibri-imx6ull: set module variant depending on config block
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 03/14] colibri-imx6ull: set module variant depending on config block Marcel Ziswiler
@ 2019-04-03  8:06   ` Igor Opaniuk
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Opaniuk @ 2019-04-03  8:06 UTC (permalink / raw)
  To: u-boot

Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>

On Fri, Mar 29, 2019 at 1:36 PM Marcel Ziswiler <marcel@ziswiler.com> wrote:
>
> From: Stefan Agner <stefan.agner@toradex.com>
>
> Using CPU temperature grading as a discriminator if the Wi-Fi /
> Bluetooth chip is populated is no longer possible due to upcoming
> SKUs. Set variant to -wifi only if a valid config block is present
> and the product id mentions a SKU with Wi-Fi / Bluetooth.
>
> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> ---
>
>  board/toradex/colibri-imx6ull/colibri-imx6ull.c | 12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> index fcb49a0718..fe60b8e870 100644
> --- a/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> +++ b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> @@ -29,6 +29,7 @@
>  #include <usb.h>
>  #include <usb/ehci-ci.h>
>  #include "../common/tdx-common.h"
> +#include "../common/tdx-cfg-block.h"
>
>  DECLARE_GLOBAL_DATA_PTR;
>
> @@ -317,10 +318,15 @@ static const struct boot_mode board_boot_modes[] = {
>
>  int board_late_init(void)
>  {
> -       int minc, maxc;
> -
> -       if (get_cpu_temp_grade(&minc, &maxc) != TEMP_COMMERCIAL)
> +#ifdef CONFIG_TDX_CFG_BLOCK
> +       /*
> +        * If we have a valid config block and it says we are a module with
> +        * 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)
>                 env_set("variant", "-wifi");
> +#endif
>
>  #ifdef CONFIG_CMD_BMODE
>         add_board_boot_modes(board_boot_modes);
> --
> 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)

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

* [U-Boot] [PATCH v1 05/14] colibri-imx6ull: fix ethernet phy power on
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 05/14] colibri-imx6ull: fix ethernet phy power on Marcel Ziswiler
@ 2019-04-03  8:12   ` Igor Opaniuk
  2019-04-09 14:13     ` Marcel Ziswiler
  0 siblings, 1 reply; 30+ messages in thread
From: Igor Opaniuk @ 2019-04-03  8:12 UTC (permalink / raw)
  To: u-boot

Hi Marcel,

On Fri, Mar 29, 2019 at 1:38 PM Marcel Ziswiler <marcel@ziswiler.com> wrote:
>
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> Just give the new Ethernet PHY power save mode circuitry time to settle.
>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
>
> ---
>
>  board/toradex/colibri-imx6ull/colibri-imx6ull.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> index fe60b8e870..b6f45edb86 100644
> --- a/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> +++ b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> @@ -263,6 +263,9 @@ static int setup_fec(void)
>                         IOMUX_GPR1_FEC2_CLOCK_MUX2_SEL_MASK,
>                         IOMUX_GPR1_FEC2_CLOCK_MUX1_SEL_MASK);
>
> +       /* give new Ethernet PHY power save mode circuitry time to settle */
> +       mdelay(300);

Just curious, is this some empirical value for the delay needed or
it's documented somethere?
The first question from my side was why particularly 300?

> +
>         return 0;
>  }
>
> --
> 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

Igor Opaniuk

mailto: igor.opaniuk at gmail.com
skype: igor.opanyuk
+380 (93) 836 40 67
http://ua.linkedin.com/in/iopaniuk

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

* [U-Boot] [PATCH v1 14/14] ARM: dts: colibri-imx6ull: update device tree
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 14/14] ARM: dts: colibri-imx6ull: update device tree Marcel Ziswiler
@ 2019-04-03  8:24   ` Igor Opaniuk
  2019-04-09 14:22     ` Marcel Ziswiler
  0 siblings, 1 reply; 30+ messages in thread
From: Igor Opaniuk @ 2019-04-03  8:24 UTC (permalink / raw)
  To: u-boot

Hi Marcel,

Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>

Please also check my comments below, thanks!

On Fri, Mar 29, 2019 at 1:41 PM Marcel Ziswiler <marcel@ziswiler.com> wrote:
>
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> Fix compatible node to use regular Toradex notation.
> Annotate device tree with standard Colibri pin muxing comments.
> Use open-drain I2C pin muxings.
> Alphabetically re-order iomuxc nodes.
> Rename  snvs-ad7879-int-grp touch interrupt node as per Linux device tree.
>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> ---
>
>  arch/arm/dts/imx6ull-colibri.dts | 91 ++++++++++++++++++--------------
>  1 file changed, 52 insertions(+), 39 deletions(-)
>
> diff --git a/arch/arm/dts/imx6ull-colibri.dts b/arch/arm/dts/imx6ull-colibri.dts
> index 84f70deaa1..4196cbdf22 100644
> --- a/arch/arm/dts/imx6ull-colibri.dts
> +++ b/arch/arm/dts/imx6ull-colibri.dts
> @@ -9,7 +9,7 @@
>
>  / {
>         model = "Toradex Colibri iMX6ULL";
> -       compatible = "toradex,imx6ull-colibri", "fsl,imx6ull";
> +       compatible = "toradex,colibri-imx6ull", "fsl,imx6ull";
Just FYI: still there is some devergance in naming this particular platform:

$:~/toradex/reps/u-boot-imx.git$ grep -e imx6ull-colibri -r ./
./board/toradex/colibri-imx6ull/MAINTAINERS:F: arch/arm/dts/imx6ull-colibri.dts
./include/configs/colibri-imx6ull.h:#define FDT_FILE
"imx6ull-colibri${variant}-${fdt_board}.dtb"
./arch/arm/dts/imx6ull-colibri.dts: compatible =
"toradex,imx6ull-colibri", "fsl,imx6ull";
./arch/arm/dts/Makefile: imx6ull-colibri.dtb \
./configs/colibri-imx6ull_defconfig:CONFIG_DEFAULT_DEVICE_TREE="imx6ull-colibri"

$:~/toradex/reps/u-boot-imx.git$ grep -e colibri-imx6ull -r ./
./board/toradex/colibri-imx6ull/Kconfig: default "colibri-imx6ull"
./board/toradex/colibri-imx6ull/Kconfig: default "colibri-imx6ull"
./board/toradex/colibri-imx6ull/MAINTAINERS:F: board/toradex/colibri-imx6ull/
./board/toradex/colibri-imx6ull/MAINTAINERS:F: configs/colibri-imx6ull_defconfig
./board/toradex/colibri-imx6ull/MAINTAINERS:F: include/configs/colibri-imx6ull.h
./board/toradex/colibri-imx6ull/Makefile:obj-y  := colibri-imx6ull.o
./include/config/auto.conf.cmd: board/toradex/colibri-imx6ull/Kconfig \
./arch/arm/mach-imx/mx6/Kconfig:source "board/toradex/colibri-imx6ull/Kconfig"
./configs/colibri-imx6ull_defconfig:CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri-imx6ull/imximage.cfg,MX6ULL,IMX_NAND"

So probably it should be renamed in many places as possible (and stick
to colibri-imx6ull in all cases)
>
>         aliases {
>                 mmc0 = &usdhc1;
> @@ -100,6 +100,7 @@
>         };
>  };
>
> +/* NAND */
>  &gpmi {
>         pinctrl-names = "default";
>         pinctrl-0 = <&pinctrl_gpmi_nand>;
> @@ -110,21 +111,28 @@
>         status = "okay";
>  };
>
> +/*
> + * I2C3_SDA/SCL on SODIMM 194/196 (e.g. RTC on carrier board)
> + */
>  &i2c1 {
>         pinctrl-names = "default", "gpio";
>         pinctrl-0 = <&pinctrl_i2c1>;
>         pinctrl-1 = <&pinctrl_i2c1_gpio>;
> -       sda-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
> -       scl-gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
> +       sda-gpios = <&gpio1 29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> +       scl-gpios = <&gpio1 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
>         status = "okay";
>  };
>
> +/*
> + * PWR_I2C: power I2C to audio codec, PMIC, temperature sensor and
> + * touch screen controller
> + */
>  &i2c2 {
>         pinctrl-names = "default", "gpio";
>         pinctrl-0 = <&pinctrl_i2c2>;
>         pinctrl-1 = <&pinctrl_i2c2_gpio>;
> -       sda-gpios = <&gpio1 31 GPIO_ACTIVE_LOW>;
> -       scl-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
> +       sda-gpios = <&gpio1 31 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> +       scl-gpios = <&gpio1 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
>         status = "okay";
>
>         ad7879 at 2c {
> @@ -150,24 +158,28 @@
>                      &pinctrl_lcdif_ctrl>;
>  };
>
> +/* PWM <A> */
>  &pwm4 {
>         pinctrl-names = "default";
>         pinctrl-0 = <&pinctrl_pwm4>;
>         #pwm-cells = <3>;
>  };
>
> +/* PWM <B> */
>  &pwm5 {
>         pinctrl-names = "default";
>         pinctrl-0 = <&pinctrl_pwm5>;
>         #pwm-cells = <3>;
>  };
>
> +/* PWM <C> */
>  &pwm6 {
>         pinctrl-names = "default";
>         pinctrl-0 = <&pinctrl_pwm6>;
>         #pwm-cells = <3>;
>  };
>
> +/* PWM <D> */
>  &pwm7 {
>         pinctrl-names = "default";
>         pinctrl-0 = <&pinctrl_pwm7>;
> @@ -237,6 +249,13 @@
>  };
>
>  &iomuxc {
> +       pinctrl_can_int: canint-grp {
> +               fsl,pins = <
> +                       /* SODIMM 73 */
> +                       MX6UL_PAD_ENET1_TX_DATA1__GPIO2_IO04    0X14
> +               >;
> +       };
> +
>         pinctrl_enet2: enet2-grp {
>                 fsl,pins = <
>                         MX6UL_PAD_GPIO1_IO06__ENET2_MDIO        0x1b0b0
> @@ -252,6 +271,33 @@
>                 >;
>         };
>
> +       pinctrl_ecspi1_cs: ecspi1-cs-grp {
> +               fsl,pins = <
> +                       MX6UL_PAD_LCD_DATA21__GPIO3_IO26        0x000a0
> +               >;
> +       };
> +
> +       pinctrl_ecspi1: ecspi1-grp {
> +               fsl,pins = <
> +                       MX6UL_PAD_LCD_DATA20__ECSPI1_SCLK       0x000a0
> +                       MX6UL_PAD_LCD_DATA22__ECSPI1_MOSI       0x000a0
> +                       MX6UL_PAD_LCD_DATA23__ECSPI1_MISO       0x100a0
> +               >;
> +       };
> +
> +       pinctrl_flexcan2: flexcan2-grp {
> +               fsl,pins = <
> +                       MX6UL_PAD_ENET1_TX_DATA0__FLEXCAN2_RX   0x1b020
> +                       MX6UL_PAD_ENET1_RX_EN__FLEXCAN2_TX      0x1b020
> +               >;
> +       };
> +
> +       pinctrl_gpio_bl_on: gpio-bl-on-grp {
> +               fsl,pins = <
> +                       MX6UL_PAD_JTAG_TMS__GPIO1_IO11          0x000a0
> +               >;
> +       };
> +
>         pinctrl_gpio1: gpio1-grp {
>                 fsl,pins = <
>                         MX6UL_PAD_ENET1_RX_DATA0__GPIO2_IO00    0x74 /* SODIMM 55 */
> @@ -308,39 +354,6 @@
>                 >;
>         };
>
> -       pinctrl_can_int: canint-grp {
> -               fsl,pins = <
> -                       MX6UL_PAD_ENET1_TX_DATA1__GPIO2_IO04    0X14 /* SODIMM 73 */
> -               >;
> -       };
> -
> -       pinctrl_ecspi1_cs: ecspi1-cs-grp {
> -               fsl,pins = <
> -                       MX6UL_PAD_LCD_DATA21__GPIO3_IO26        0x000a0
> -               >;
> -       };
> -
> -       pinctrl_ecspi1: ecspi1-grp {
> -               fsl,pins = <
> -                       MX6UL_PAD_LCD_DATA20__ECSPI1_SCLK       0x000a0
> -                       MX6UL_PAD_LCD_DATA22__ECSPI1_MOSI       0x000a0
> -                       MX6UL_PAD_LCD_DATA23__ECSPI1_MISO       0x100a0
> -               >;
> -       };
> -
> -       pinctrl_flexcan2: flexcan2-grp {
> -               fsl,pins = <
> -                       MX6UL_PAD_ENET1_TX_DATA0__FLEXCAN2_RX   0x1b020
> -                       MX6UL_PAD_ENET1_RX_EN__FLEXCAN2_TX      0x1b020
> -               >;
> -       };
> -
> -       pinctrl_gpio_bl_on: gpio-bl-on-grp {
> -               fsl,pins = <
> -                       MX6UL_PAD_JTAG_TMS__GPIO1_IO11          0x000a0
> -               >;
> -       };
> -
>         pinctrl_gpmi_nand: gpmi-nand-grp {
>                 fsl,pins = <
>                         MX6UL_PAD_NAND_DATA00__RAWNAND_DATA00   0x100a9
> @@ -553,7 +566,7 @@
>                 >;
>         };
>
> -       pinctrl_snvs_ad7879_int: snvs-ad7879-int { /* TOUCH Interrupt */
> +       pinctrl_snvs_ad7879_int: snvs-ad7879-int-grp { /* TOUCH Interrupt */
>                 fsl,pins = <
>                         MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07     0x1b0b0
>                 >;
> --
> 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)

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

* [U-Boot] [PATCH v1 06/14] board: imx6ull: Add disable PMIC_STBY_REQ
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 06/14] board: imx6ull: Add disable PMIC_STBY_REQ Marcel Ziswiler
@ 2019-04-03  8:26   ` Igor Opaniuk
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Opaniuk @ 2019-04-03  8:26 UTC (permalink / raw)
  To: u-boot

Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>

On Fri, Mar 29, 2019 at 1:41 PM Marcel Ziswiler <marcel@ziswiler.com> wrote:
>
> From: Philippe Schenker <philippe.schenker@toradex.com>
>
> Disable output driver of PAD CCM_PMIC_STBY_REQ. This prevents the
> SOC to request for a lower voltage during sleep. This is necessary
> because the voltage is changing too slow for the SOC to wake up
> properly.
>
> Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> ---
>
>  board/toradex/colibri-imx6ull/colibri-imx6ull.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> index b6f45edb86..f1d5cc6655 100644
> --- a/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> +++ b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> @@ -50,6 +50,8 @@ DECLARE_GLOBAL_DATA_PTR;
>  #define LCD_PAD_CTRL    (PAD_CTL_HYS | PAD_CTL_PUS_100K_UP | \
>                 PAD_CTL_DSE_48ohm)
>
> +#define MX6_PAD_SNVS_PMIC_STBY_REQ_ADDR 0x2290040
> +
>  #define NAND_PAD_CTRL (PAD_CTL_DSE_48ohm | PAD_CTL_SRE_SLOW | PAD_CTL_HYS)
>
>  #define NAND_PAD_READY0_CTRL (PAD_CTL_DSE_48ohm | PAD_CTL_PUS_22K_UP)
> @@ -331,6 +333,14 @@ int board_late_init(void)
>                 env_set("variant", "-wifi");
>  #endif
>
> +       /*
> +        * Disable output driver of PAD CCM_PMIC_STBY_REQ. This prevents the
> +        * SOC to request for a lower voltage during sleep. This is necessary
> +        * because the voltage is changing too slow for the SOC to wake up
> +        * properly.
> +        */
> +       __raw_writel(0x8080, MX6_PAD_SNVS_PMIC_STBY_REQ_ADDR);
> +
>  #ifdef CONFIG_CMD_BMODE
>         add_board_boot_modes(board_boot_modes);
>  #endif
> --
> 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)

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

* [U-Boot] [PATCH v1 13/14] ARM: dts: colibri-imx6ull: add osc32k_32k_out pinctrl
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 13/14] ARM: dts: colibri-imx6ull: add osc32k_32k_out pinctrl Marcel Ziswiler
@ 2019-04-03  8:29   ` Igor Opaniuk
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Opaniuk @ 2019-04-03  8:29 UTC (permalink / raw)
  To: u-boot

Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>

On Fri, Mar 29, 2019 at 1:42 PM Marcel Ziswiler <marcel@ziswiler.com> wrote:
>
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> Add GPIO1_IO03__OSC32K_32K_OUT pin muxing.
> While at it also fix indentation of pinfunc header file.
>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> ---
>
>  arch/arm/dts/imx6ull-colibri.dts |  2 ++
>  arch/arm/dts/imx6ull-pinfunc.h   | 26 ++++++++++++++------------
>  2 files changed, 16 insertions(+), 12 deletions(-)
>
> diff --git a/arch/arm/dts/imx6ull-colibri.dts b/arch/arm/dts/imx6ull-colibri.dts
> index f05c72eb2c..84f70deaa1 100644
> --- a/arch/arm/dts/imx6ull-colibri.dts
> +++ b/arch/arm/dts/imx6ull-colibri.dts
> @@ -524,6 +524,8 @@
>                         MX6UL_PAD_CSI_DATA03__USDHC2_DATA3      0x17059
>                         MX6UL_PAD_CSI_HSYNC__USDHC2_CMD         0x17059
>                         MX6UL_PAD_CSI_VSYNC__USDHC2_CLK         0x17059
> +
> +                       MX6UL_PAD_GPIO1_IO03__OSC32K_32K_OUT    0x14
>                 >;
>         };
>  };
> diff --git a/arch/arm/dts/imx6ull-pinfunc.h b/arch/arm/dts/imx6ull-pinfunc.h
> index fca003680b..7770ed39f6 100644
> --- a/arch/arm/dts/imx6ull-pinfunc.h
> +++ b/arch/arm/dts/imx6ull-pinfunc.h
> @@ -14,6 +14,8 @@
>   * The pin function ID is a tuple of
>   * <mux_reg conf_reg input_reg mux_mode input_val>
>   */
> +#define MX6UL_PAD_GPIO1_IO03__OSC32K_32K_OUT                     0x0068 0x02f4 0x0000 0x3 0x0
> +
>  #define MX6UL_PAD_ENET2_RX_DATA0__EPDC_SDDO08                    0x00E4 0x0370 0x0000 0x9 0x0
>  #define MX6UL_PAD_ENET2_RX_DATA1__EPDC_SDDO09                    0x00E8 0x0374 0x0000 0x9 0x0
>  #define MX6UL_PAD_ENET2_RX_EN__EPDC_SDDO10                       0x00EC 0x0378 0x0000 0x9 0x0
> @@ -41,17 +43,17 @@
>  #define MX6UL_PAD_LCD_DATA17__EPDC_GDSP                          0x015C 0x03E8 0x0000 0x9 0x0
>  #define MX6UL_PAD_LCD_DATA21__EPDC_SDCE1                         0x016C 0x03F8 0x0000 0x9 0x0
>
> -#define MX6UL_PAD_CSI_MCLK__ESAI_TX3_RX2                          0x01D4 0x0460 0x0000 0x9 0x0
> -#define MX6UL_PAD_CSI_PIXCLK__ESAI_TX2_RX3                        0x01D8 0x0464 0x0000 0x9 0x0
> -#define MX6UL_PAD_CSI_VSYNC__ESAI_TX4_RX1                         0x01DC 0x0468 0x0000 0x9 0x0
> -#define MX6UL_PAD_CSI_HSYNC__ESAI_TX1                             0x01E0 0x046C 0x0000 0x9 0x0
> -#define MX6UL_PAD_CSI_DATA00__ESAI_TX_HF_CLK                      0x01E4 0x0470 0x0000 0x9 0x0
> -#define MX6UL_PAD_CSI_DATA01__ESAI_RX_HF_CLK                      0x01E8 0x0474 0x0000 0x9 0x0
> -#define MX6UL_PAD_CSI_DATA02__ESAI_RX_FS                          0x01EC 0x0478 0x0000 0x9 0x0
> -#define MX6UL_PAD_CSI_DATA03__ESAI_RX_CLK                         0x01F0 0x047C 0x0000 0x9 0x0
> -#define MX6UL_PAD_CSI_DATA04__ESAI_TX_FS                          0x01F4 0x0480 0x0000 0x9 0x0
> -#define MX6UL_PAD_CSI_DATA05__ESAI_TX_CLK                         0x01F8 0x0484 0x0000 0x9 0x0
> -#define MX6UL_PAD_CSI_DATA06__ESAI_TX5_RX0                        0x01FC 0x0488 0x0000 0x9 0x0
> -#define MX6UL_PAD_CSI_DATA07__ESAI_T0                             0x0200 0x048C 0x0000 0x9 0x0
> +#define MX6UL_PAD_CSI_MCLK__ESAI_TX3_RX2                         0x01D4 0x0460 0x0000 0x9 0x0
> +#define MX6UL_PAD_CSI_PIXCLK__ESAI_TX2_RX3                       0x01D8 0x0464 0x0000 0x9 0x0
> +#define MX6UL_PAD_CSI_VSYNC__ESAI_TX4_RX1                        0x01DC 0x0468 0x0000 0x9 0x0
> +#define MX6UL_PAD_CSI_HSYNC__ESAI_TX1                            0x01E0 0x046C 0x0000 0x9 0x0
> +#define MX6UL_PAD_CSI_DATA00__ESAI_TX_HF_CLK                     0x01E4 0x0470 0x0000 0x9 0x0
> +#define MX6UL_PAD_CSI_DATA01__ESAI_RX_HF_CLK                     0x01E8 0x0474 0x0000 0x9 0x0
> +#define MX6UL_PAD_CSI_DATA02__ESAI_RX_FS                         0x01EC 0x0478 0x0000 0x9 0x0
> +#define MX6UL_PAD_CSI_DATA03__ESAI_RX_CLK                        0x01F0 0x047C 0x0000 0x9 0x0
> +#define MX6UL_PAD_CSI_DATA04__ESAI_TX_FS                         0x01F4 0x0480 0x0000 0x9 0x0
> +#define MX6UL_PAD_CSI_DATA05__ESAI_TX_CLK                        0x01F8 0x0484 0x0000 0x9 0x0
> +#define MX6UL_PAD_CSI_DATA06__ESAI_TX5_RX0                       0x01FC 0x0488 0x0000 0x9 0x0
> +#define MX6UL_PAD_CSI_DATA07__ESAI_T0                            0x0200 0x048C 0x0000 0x9 0x0
>
>  #endif /* __DTS_IMX6ULL_PINFUNC_H */
> --
> 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)

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

* [U-Boot] [PATCH v1 12/14] ARM: dts: colibri-imx6ull: fix uart-has-rtscts property
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 12/14] ARM: dts: colibri-imx6ull: fix uart-has-rtscts property Marcel Ziswiler
@ 2019-04-03  8:36   ` Igor Opaniuk
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Opaniuk @ 2019-04-03  8:36 UTC (permalink / raw)
  To: u-boot

Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>

On Fri, Mar 29, 2019 at 1:40 PM Marcel Ziswiler <marcel@ziswiler.com> wrote:
>
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> Remove vendor pre-fix fsl, from uart-has-rtscts property.
>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> ---
>
>  arch/arm/dts/imx6ull-colibri.dts | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/dts/imx6ull-colibri.dts b/arch/arm/dts/imx6ull-colibri.dts
> index 2f8865c29c..f05c72eb2c 100644
> --- a/arch/arm/dts/imx6ull-colibri.dts
> +++ b/arch/arm/dts/imx6ull-colibri.dts
> @@ -182,21 +182,24 @@
>         status = "disabled";
>  };
>
> +/* Colibri UART_A */
>  &uart1 {
>         pinctrl-names = "default";
>         pinctrl-0 = <&pinctrl_uart1 &pinctrl_uart1_ctrl1>;
> -       fsl,uart-has-rtscts;
> +       uart-has-rtscts;
>         fsl,dte-mode;
>         status = "okay";
>  };
>
> +/* Colibri UART_B */
>  &uart2 {
>         pinctrl-names = "default";
>         pinctrl-0 = <&pinctrl_uart2>;
> -       fsl,uart-has-rtscts;
> +       uart-has-rtscts;
>         fsl,dte-mode;
>  };
>
> +/* Colibri UART_C */
>  &uart5 {
>         pinctrl-names = "default";
>         pinctrl-0 = <&pinctrl_uart5>;
> --
> 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)

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

* [U-Boot] [PATCH v1 11/14] colibri-imx6ull: migrate fec to using driver model
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 11/14] colibri-imx6ull: migrate fec " Marcel Ziswiler
@ 2019-04-03  8:42   ` Igor Opaniuk
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Opaniuk @ 2019-04-03  8:42 UTC (permalink / raw)
  To: u-boot

Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>

On Fri, Mar 29, 2019 at 1:39 PM Marcel Ziswiler <marcel@ziswiler.com> wrote:
>
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> Migrate Ethernet FEC to using driver model.
> Drop PHY_MICREL_KSZ90X1 which slipped in from Apalis iMX6.
>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> ---
>
>  arch/arm/dts/imx6ull-colibri.dts  | 31 ++++++++++++++++---------------
>  configs/colibri-imx6ull_defconfig |  3 +--
>  include/configs/colibri-imx6ull.h |  4 ----
>  3 files changed, 17 insertions(+), 21 deletions(-)
>
> diff --git a/arch/arm/dts/imx6ull-colibri.dts b/arch/arm/dts/imx6ull-colibri.dts
> index 91e48aab61..2f8865c29c 100644
> --- a/arch/arm/dts/imx6ull-colibri.dts
> +++ b/arch/arm/dts/imx6ull-colibri.dts
> @@ -80,6 +80,7 @@
>         pinctrl-0 = <&pinctrl_ecspi1 &pinctrl_ecspi1_cs>;
>  };
>
> +/* Ethernet */
>  &fec2 {
>         pinctrl-names = "default";
>         pinctrl-0 = <&pinctrl_enet2>;
> @@ -233,6 +234,21 @@
>  };
>
>  &iomuxc {
> +       pinctrl_enet2: enet2-grp {
> +               fsl,pins = <
> +                       MX6UL_PAD_GPIO1_IO06__ENET2_MDIO        0x1b0b0
> +                       MX6UL_PAD_GPIO1_IO07__ENET2_MDC         0x1b0b0
> +                       MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00 0x1b0b0
> +                       MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01 0x1b0b0
> +                       MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN      0x1b0b0
> +                       MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER      0x1b0b0
> +                       MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2  0x4001b031
> +                       MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00 0x1b0b0
> +                       MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01 0x1b0b0
> +                       MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN      0x1b0b0
> +               >;
> +       };
> +
>         pinctrl_gpio1: gpio1-grp {
>                 fsl,pins = <
>                         MX6UL_PAD_ENET1_RX_DATA0__GPIO2_IO00    0x74 /* SODIMM 55 */
> @@ -295,21 +311,6 @@
>                 >;
>         };
>
> -       pinctrl_enet2: enet2-grp {
> -               fsl,pins = <
> -                       MX6UL_PAD_GPIO1_IO06__ENET2_MDIO        0x1b0b0
> -                       MX6UL_PAD_GPIO1_IO07__ENET2_MDC         0x1b0b0
> -                       MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00 0x1b0b0
> -                       MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01 0x1b0b0
> -                       MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN      0x1b0b0
> -                       MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER      0x1b0b0
> -                       MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2  0x4001b031
> -                       MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00 0x1b0b0
> -                       MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01 0x1b0b0
> -                       MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN      0x1b0b0
> -               >;
> -       };
> -
>         pinctrl_ecspi1_cs: ecspi1-cs-grp {
>                 fsl,pins = <
>                         MX6UL_PAD_LCD_DATA21__GPIO3_IO26        0x000a0
> diff --git a/configs/colibri-imx6ull_defconfig b/configs/colibri-imx6ull_defconfig
> index 0440b4ed94..a24c87f321 100644
> --- a/configs/colibri-imx6ull_defconfig
> +++ b/configs/colibri-imx6ull_defconfig
> @@ -58,9 +58,8 @@ CONFIG_NAND_MXS=y
>  CONFIG_NAND_MXS_DT=y
>  CONFIG_MTD_UBI_FASTMAP=y
>  CONFIG_PHYLIB=y
> -CONFIG_PHY_ADDR_ENABLE=y
>  CONFIG_PHY_MICREL=y
> -CONFIG_PHY_MICREL_KSZ90X1=y
> +CONFIG_DM_ETH=y
>  CONFIG_FEC_MXC=y
>  CONFIG_MII=y
>  CONFIG_PINCTRL=y
> diff --git a/include/configs/colibri-imx6ull.h b/include/configs/colibri-imx6ull.h
> index 7a7a70e457..fc39e807b6 100644
> --- a/include/configs/colibri-imx6ull.h
> +++ b/include/configs/colibri-imx6ull.h
> @@ -19,10 +19,6 @@
>  #define CONFIG_SYS_MALLOC_LEN          (32 * SZ_1M)
>
>  /* Network */
> -#define CONFIG_FEC_XCV_TYPE             RMII
> -#define CONFIG_ETHPRIME                 "FEC"
> -#define CONFIG_FEC_MXC_PHYADDR         0
> -
>  #define CONFIG_IP_DEFRAG
>  #define CONFIG_TFTP_BLOCKSIZE          16352
>  #define CONFIG_TFTP_TSIZE
> --
> 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)

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

* [U-Boot] [PATCH v1 07/14] colibri-imx6ull: configuration clean-up
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 07/14] colibri-imx6ull: configuration clean-up Marcel Ziswiler
@ 2019-04-03  8:44   ` Igor Opaniuk
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Opaniuk @ 2019-04-03  8:44 UTC (permalink / raw)
  To: u-boot

Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>

On Fri, Mar 29, 2019 at 1:39 PM Marcel Ziswiler <marcel@ziswiler.com> wrote:
>
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> Drop disabling SPL_SYS_THUMB_BUILD as we anyway do not use SPL.
> Enbale CRC32 verify, USB SDP and EFI loader support.
> Drop CMD_GPT and disabling RANDOM_UUID.
> Do savedefconfig which drops USB_FUNCTION_SDP.
>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> ---
>
>  configs/colibri-imx6ull_defconfig | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/configs/colibri-imx6ull_defconfig b/configs/colibri-imx6ull_defconfig
> index dfe6ec1ce7..b19b3b7fb2 100644
> --- a/configs/colibri-imx6ull_defconfig
> +++ b/configs/colibri-imx6ull_defconfig
> @@ -1,6 +1,5 @@
>  CONFIG_ARM=y
>  CONFIG_SYS_THUMB_BUILD=y
> -# CONFIG_SPL_SYS_THUMB_BUILD is not set
>  CONFIG_ARCH_MX6=y
>  CONFIG_SYS_TEXT_BASE=0x87800000
>  CONFIG_TARGET_COLIBRI_IMX6ULL=y
> @@ -18,19 +17,20 @@ CONFIG_DISPLAY_BOARDINFO_LATE=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_BOARD_EARLY_INIT_F=y
>  CONFIG_SYS_PROMPT="Colibri iMX6ULL # "
> +# 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_DFU=y
>  CONFIG_CMD_GPIO=y
> -CONFIG_CMD_GPT=y
> -# CONFIG_RANDOM_UUID is not set
>  CONFIG_CMD_I2C=y
>  CONFIG_CMD_MMC=y
>  CONFIG_CMD_NAND_TRIMFFS=y
>  CONFIG_CMD_NAND_TORTURE=y
>  CONFIG_CMD_USB=y
> +CONFIG_CMD_USB_SDP=y
>  CONFIG_CMD_USB_MASS_STORAGE=y
>  CONFIG_CMD_BMP=y
>  CONFIG_CMD_CACHE=y
> @@ -73,8 +73,6 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b67
>  CONFIG_USB_GADGET_PRODUCT_NUM=0x4000
>  CONFIG_CI_UDC=y
>  CONFIG_USB_GADGET_DOWNLOAD=y
> -CONFIG_USB_FUNCTION_SDP=y
>  CONFIG_VIDEO=y
>  CONFIG_OF_LIBFDT_OVERLAY=y
>  CONFIG_FDT_FIXUP_PARTITIONS=y
> -# CONFIG_EFI_LOADER is not set
> --
> 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)

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

* [U-Boot] [PATCH v1 08/14] colibri-imx6ull: migrate pinctrl and regulators to dtb/dm
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 08/14] colibri-imx6ull: migrate pinctrl and regulators to dtb/dm Marcel Ziswiler
@ 2019-04-03  9:06   ` Igor Opaniuk
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Opaniuk @ 2019-04-03  9:06 UTC (permalink / raw)
  To: u-boot

Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>

On Fri, Mar 29, 2019 at 1:40 PM Marcel Ziswiler <marcel@ziswiler.com> wrote:
>
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> Migrate pinctrl and regulators to device tree resp. driver model:
> Ethernet, NAND and UART.
> Drop BOARD_EARLY_INIT_F as it is anyway no longer used.
> Enable CMD_DM, CMD_MTD, CMD_REGULATOR and DM_REGULATOR_FIXED.
> While at it also update copyright period.
>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> ---
>
>  .../toradex/colibri-imx6ull/colibri-imx6ull.c | 82 ++-----------------
>  configs/colibri-imx6ull_defconfig             |  5 +-
>  2 files changed, 10 insertions(+), 77 deletions(-)
>
> diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> index f1d5cc6655..8493b1dfdd 100644
> --- a/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> +++ b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> @@ -1,8 +1,9 @@
>  // SPDX-License-Identifier: GPL-2.0+
>  /*
> - * Copyright (C) 2018 Toradex AG
> + * Copyright (C) 2018-2019 Toradex AG
>   */
>  #include <common.h>
> +
>  #include <asm/arch/clock.h>
>  #include <asm/arch/crm_regs.h>
>  #include <asm/arch/imx-regs.h>
> @@ -14,7 +15,6 @@
>  #include <asm/mach-imx/boot_mode.h>
>  #include <asm/mach-imx/iomux-v3.h>
>  #include <asm/io.h>
> -#include <common.h>
>  #include <dm.h>
>  #include <dm/platform_data/serial_mxc.h>
>  #include <fdt_support.h>
> @@ -28,25 +28,16 @@
>  #include <netdev.h>
>  #include <usb.h>
>  #include <usb/ehci-ci.h>
> +
>  #include "../common/tdx-common.h"
>  #include "../common/tdx-cfg-block.h"
>
>  DECLARE_GLOBAL_DATA_PTR;
>
> -#define UART_PAD_CTRL  (PAD_CTL_PUS_100K_UP |                  \
> -       PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm |                 \
> -       PAD_CTL_SRE_FAST  | PAD_CTL_HYS)
> -
>  #define USDHC_PAD_CTRL (PAD_CTL_PUS_47K_UP |                   \
>         PAD_CTL_SPEED_LOW | PAD_CTL_DSE_40ohm |                 \
>         PAD_CTL_SRE_FAST  | PAD_CTL_HYS)
>
> -#define ENET_PAD_CTRL  (PAD_CTL_PUS_100K_UP |                  \
> -       PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_HYS)
> -#define ENET_PAD_CTRL_MII  (PAD_CTL_DSE_40ohm)
> -
> -#define ENET_RX_PAD_CTRL  (PAD_CTL_PUS_100K_UP | PAD_CTL_DSE_48ohm)
> -
>  #define LCD_PAD_CTRL    (PAD_CTL_HYS | PAD_CTL_PUS_100K_UP | \
>                 PAD_CTL_DSE_48ohm)
>
> @@ -65,13 +56,6 @@ int dram_init(void)
>         return 0;
>  }
>
> -static iomux_v3_cfg_t const uart1_pads[] = {
> -       MX6_PAD_UART1_TX_DATA__UART1_DTE_RX     | MUX_PAD_CTRL(UART_PAD_CTRL),
> -       MX6_PAD_UART1_RX_DATA__UART1_DTE_TX     | MUX_PAD_CTRL(UART_PAD_CTRL),
> -       MX6_PAD_UART1_RTS_B__UART1_DTE_CTS      | MUX_PAD_CTRL(UART_PAD_CTRL),
> -       MX6_PAD_UART1_CTS_B__UART1_DTE_RTS      | MUX_PAD_CTRL(UART_PAD_CTRL),
> -};
> -
>  #ifdef CONFIG_FSL_ESDHC
>  static iomux_v3_cfg_t const usdhc1_pads[] = {
>         MX6_PAD_SD1_CLK__USDHC1_CLK     | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> @@ -90,31 +74,12 @@ static iomux_v3_cfg_t const usb_cdet_pads[] = {
>  };
>
>  #ifdef CONFIG_NAND_MXS
> -static iomux_v3_cfg_t const gpmi_pads[] = {
> -       MX6_PAD_NAND_DATA00__RAWNAND_DATA00     | MUX_PAD_CTRL(NAND_PAD_CTRL),
> -       MX6_PAD_NAND_DATA01__RAWNAND_DATA01     | MUX_PAD_CTRL(NAND_PAD_CTRL),
> -       MX6_PAD_NAND_DATA02__RAWNAND_DATA02     | MUX_PAD_CTRL(NAND_PAD_CTRL),
> -       MX6_PAD_NAND_DATA03__RAWNAND_DATA03     | MUX_PAD_CTRL(NAND_PAD_CTRL),
> -       MX6_PAD_NAND_DATA04__RAWNAND_DATA04     | MUX_PAD_CTRL(NAND_PAD_CTRL),
> -       MX6_PAD_NAND_DATA05__RAWNAND_DATA05     | MUX_PAD_CTRL(NAND_PAD_CTRL),
> -       MX6_PAD_NAND_DATA06__RAWNAND_DATA06     | MUX_PAD_CTRL(NAND_PAD_CTRL),
> -       MX6_PAD_NAND_DATA07__RAWNAND_DATA07     | MUX_PAD_CTRL(NAND_PAD_CTRL),
> -       MX6_PAD_NAND_CLE__RAWNAND_CLE           | MUX_PAD_CTRL(NAND_PAD_CTRL),
> -       MX6_PAD_NAND_ALE__RAWNAND_ALE           | MUX_PAD_CTRL(NAND_PAD_CTRL),
> -       MX6_PAD_NAND_RE_B__RAWNAND_RE_B         | MUX_PAD_CTRL(NAND_PAD_CTRL),
> -       MX6_PAD_NAND_WE_B__RAWNAND_WE_B         | MUX_PAD_CTRL(NAND_PAD_CTRL),
> -       MX6_PAD_NAND_CE0_B__RAWNAND_CE0_B       | MUX_PAD_CTRL(NAND_PAD_CTRL),
> -       MX6_PAD_NAND_READY_B__RAWNAND_READY_B   | MUX_PAD_CTRL(NAND_PAD_READY0_CTRL),
> -};
> -
>  static void setup_gpmi_nand(void)
>  {
> -       imx_iomux_v3_setup_multiple_pads(gpmi_pads, ARRAY_SIZE(gpmi_pads));
> -
>         setup_gpmi_io_clk((3 << MXC_CCM_CSCDR1_BCH_PODF_OFFSET) |
>                           (3 << MXC_CCM_CSCDR1_GPMI_PODF_OFFSET));
>  }
> -#endif
> +#endif /* CONFIG_NAND_MXS */
>
>  #ifdef CONFIG_VIDEO_MXS
>  static iomux_v3_cfg_t const lcd_pads[] = {
> @@ -170,31 +135,6 @@ static int setup_lcd(void)
>  }
>  #endif
>
> -#ifdef CONFIG_FEC_MXC
> -static iomux_v3_cfg_t const fec2_pads[] = {
> -       MX6_PAD_ENET2_TX_CLK__ENET2_REF_CLK2            | MUX_PAD_CTRL(ENET_PAD_CTRL) | MUX_MODE_SION,
> -       MX6_PAD_GPIO1_IO06__ENET2_MDIO                  | MUX_PAD_CTRL(ENET_PAD_CTRL_MII),
> -       MX6_PAD_GPIO1_IO07__ENET2_MDC                   | MUX_PAD_CTRL(ENET_PAD_CTRL_MII),
> -       MX6_PAD_ENET2_RX_DATA0__ENET2_RDATA00           | MUX_PAD_CTRL(ENET_RX_PAD_CTRL),
> -       MX6_PAD_ENET2_RX_DATA1__ENET2_RDATA01           | MUX_PAD_CTRL(ENET_RX_PAD_CTRL),
> -       MX6_PAD_ENET2_RX_ER__ENET2_RX_ER                | MUX_PAD_CTRL(ENET_RX_PAD_CTRL),
> -       MX6_PAD_ENET2_RX_EN__ENET2_RX_EN                | MUX_PAD_CTRL(ENET_RX_PAD_CTRL),
> -       MX6_PAD_ENET2_TX_DATA0__ENET2_TDATA00           | MUX_PAD_CTRL(ENET_PAD_CTRL),
> -       MX6_PAD_ENET2_TX_DATA1__ENET2_TDATA01           | MUX_PAD_CTRL(ENET_PAD_CTRL),
> -       MX6_PAD_ENET2_TX_EN__ENET2_TX_EN                | MUX_PAD_CTRL(ENET_PAD_CTRL),
> -};
> -
> -static void setup_iomux_fec(void)
> -{
> -       imx_iomux_v3_setup_multiple_pads(fec2_pads, ARRAY_SIZE(fec2_pads));
> -}
> -#endif
> -
> -static void setup_iomux_uart(void)
> -{
> -       imx_iomux_v3_setup_multiple_pads(uart1_pads, ARRAY_SIZE(uart1_pads));
> -}
> -
>  #ifdef CONFIG_FSL_ESDHC
>
>  #define USDHC1_CD_GPIO IMX_GPIO_NR(5, 0)
> @@ -247,20 +187,17 @@ int board_mmc_init(bd_t *bis)
>  #endif
>
>  #ifdef CONFIG_FEC_MXC
> -
>  static int setup_fec(void)
>  {
>         struct iomuxc *iomuxc_regs = (struct iomuxc *)IOMUXC_BASE_ADDR;
>         int ret;
>
> -       setup_iomux_fec();
> -
>         /* provide the PHY clock from the i.MX 6 */
>         ret = enable_fec_anatop_clock(1, ENET_50MHZ);
>         if (ret)
>                 return ret;
>
> -       /* Use 50M anatop REF_CLK and output it on the ENET2_TX_CLK */
> +       /* Use 50M anatop REF_CLK and output it on ENET2_TX_CLK */
>         clrsetbits_le32(&iomuxc_regs->gpr[1],
>                         IOMUX_GPR1_FEC2_CLOCK_MUX2_SEL_MASK,
>                         IOMUX_GPR1_FEC2_CLOCK_MUX1_SEL_MASK);
> @@ -277,14 +214,7 @@ int board_phy_config(struct phy_device *phydev)
>                 phydev->drv->config(phydev);
>         return 0;
>  }
> -#endif
> -
> -int board_early_init_f(void)
> -{
> -       setup_iomux_uart();
> -
> -       return 0;
> -}
> +#endif /* CONFIG_FEC_MXC */
>
>  int board_init(void)
>  {
> diff --git a/configs/colibri-imx6ull_defconfig b/configs/colibri-imx6ull_defconfig
> index b19b3b7fb2..ce2c09338d 100644
> --- a/configs/colibri-imx6ull_defconfig
> +++ b/configs/colibri-imx6ull_defconfig
> @@ -15,7 +15,6 @@ CONFIG_VERSION_VARIABLE=y
>  # CONFIG_DISPLAY_BOARDINFO is not set
>  CONFIG_DISPLAY_BOARDINFO_LATE=y
>  CONFIG_BOUNCE_BUFFER=y
> -CONFIG_BOARD_EARLY_INIT_F=y
>  CONFIG_SYS_PROMPT="Colibri iMX6ULL # "
>  # CONFIG_CMD_ELF is not set
>  # CONFIG_CMD_IMI is not set
> @@ -24,9 +23,11 @@ CONFIG_CMD_ASKENV=y
>  CONFIG_CRC32_VERIFY=y
>  CONFIG_CMD_MEMTEST=y
>  CONFIG_CMD_DFU=y
> +CONFIG_CMD_DM=y
>  CONFIG_CMD_GPIO=y
>  CONFIG_CMD_I2C=y
>  CONFIG_CMD_MMC=y
> +CONFIG_CMD_MTD=y
>  CONFIG_CMD_NAND_TRIMFFS=y
>  CONFIG_CMD_NAND_TORTURE=y
>  CONFIG_CMD_USB=y
> @@ -34,6 +35,7 @@ CONFIG_CMD_USB_SDP=y
>  CONFIG_CMD_USB_MASS_STORAGE=y
>  CONFIG_CMD_BMP=y
>  CONFIG_CMD_CACHE=y
> +CONFIG_CMD_REGULATOR=y
>  CONFIG_CMD_MTDPARTS=y
>  CONFIG_MTDIDS_DEFAULT="nand0=gpmi-nand"
>  CONFIG_MTDPARTS_DEFAULT="mtdparts=gpmi-nand:512k(mx6ull-bcb),1536k(u-boot1)ro,1536k(u-boot2)ro,512k(u-boot-env),-(ubi)"
> @@ -63,6 +65,7 @@ CONFIG_MII=y
>  CONFIG_PINCTRL=y
>  CONFIG_PINCTRL_IMX6=y
>  CONFIG_DM_REGULATOR=y
> +CONFIG_DM_REGULATOR_FIXED=y
>  # CONFIG_SPL_SERIAL_PRESENT is not set
>  CONFIG_DM_SERIAL=y
>  CONFIG_MXC_UART=y
> --
> 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)

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

* [U-Boot] [PATCH v1 09/14] colibri-imx6ull: migrate mmc to using driver model
  2019-03-29 12:34 ` [U-Boot] [PATCH v1 09/14] colibri-imx6ull: migrate mmc to using driver model Marcel Ziswiler
@ 2019-04-03  9:14   ` Igor Opaniuk
  0 siblings, 0 replies; 30+ messages in thread
From: Igor Opaniuk @ 2019-04-03  9:14 UTC (permalink / raw)
  To: u-boot

Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>

On Fri, Mar 29, 2019 at 1:38 PM Marcel Ziswiler <marcel@ziswiler.com> wrote:
>
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> Migrate MMC to using driver model.
> Migrate USDHC to using pinctrl.
> While at it also add GPIO1_IO03__OSC32K_32K_OUT pin muxing.
> While at it also update copyright period.
>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> ---
>
>  arch/arm/dts/imx6ull-colibri.dts              | 15 +++-
>  .../toradex/colibri-imx6ull/colibri-imx6ull.c | 70 -------------------
>  configs/colibri-imx6ull_defconfig             |  1 +
>  include/configs/colibri-imx6ull.h             |  6 +-
>  4 files changed, 17 insertions(+), 75 deletions(-)
>
> diff --git a/arch/arm/dts/imx6ull-colibri.dts b/arch/arm/dts/imx6ull-colibri.dts
> index 95c67be438..0d416ebd10 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 Toradex AG
> + * Copyright 2018-2019 Toradex AG
>   */
>
>  /dts-v1/;
> @@ -11,6 +11,10 @@
>         model = "Toradex Colibri iMX6ULL";
>         compatible = "toradex,imx6ull-colibri", "fsl,imx6ull";
>
> +       aliases {
> +               mmc0 = &usdhc1;
> +       };
> +
>         chosen {
>                 stdout-path = &uart1;
>         };
> @@ -190,10 +194,18 @@
>         dr_mode = "host";
>  };
>
> +/* Colibri MMC */
>  &usdhc1 {
>         assigned-clocks = <&clks IMX6UL_CLK_USDHC1_SEL>, <&clks IMX6UL_CLK_USDHC1>;
>         assigned-clock-parents = <&clks IMX6UL_CLK_PLL2_PFD2>;
>         assigned-clock-rates = <0>, <198000000>;
> +       cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; /* MMC_CD */
> +       pinctrl-names = "default", "state_100mhz", "state_200mhz";
> +       pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_snvs_usdhc1_cd>;
> +       pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
> +       pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
> +       vmmc-supply = <&reg_sd1_vmmc>;
> +       status = "okay";
>  };
>
>  &iomuxc {
> @@ -547,4 +559,3 @@
>                 >;
>         };
>  };
> -
> diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> index 8493b1dfdd..c9af44e30e 100644
> --- a/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> +++ b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> @@ -18,11 +18,9 @@
>  #include <dm.h>
>  #include <dm/platform_data/serial_mxc.h>
>  #include <fdt_support.h>
> -#include <fsl_esdhc.h>
>  #include <imx_thermal.h>
>  #include <jffs2/load_kernel.h>
>  #include <linux/sizes.h>
> -#include <mmc.h>
>  #include <miiphy.h>
>  #include <mtd_node.h>
>  #include <netdev.h>
> @@ -34,10 +32,6 @@
>
>  DECLARE_GLOBAL_DATA_PTR;
>
> -#define USDHC_PAD_CTRL (PAD_CTL_PUS_47K_UP |                   \
> -       PAD_CTL_SPEED_LOW | PAD_CTL_DSE_40ohm |                 \
> -       PAD_CTL_SRE_FAST  | PAD_CTL_HYS)
> -
>  #define LCD_PAD_CTRL    (PAD_CTL_HYS | PAD_CTL_PUS_100K_UP | \
>                 PAD_CTL_DSE_48ohm)
>
> @@ -56,19 +50,6 @@ int dram_init(void)
>         return 0;
>  }
>
> -#ifdef CONFIG_FSL_ESDHC
> -static iomux_v3_cfg_t const usdhc1_pads[] = {
> -       MX6_PAD_SD1_CLK__USDHC1_CLK     | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -       MX6_PAD_SD1_CMD__USDHC1_CMD     | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -       MX6_PAD_SD1_DATA0__USDHC1_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -       MX6_PAD_SD1_DATA1__USDHC1_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -       MX6_PAD_SD1_DATA2__USDHC1_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -       MX6_PAD_SD1_DATA3__USDHC1_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -
> -       MX6_PAD_SNVS_TAMPER0__GPIO5_IO00 | MUX_PAD_CTRL(NO_PAD_CTRL),
> -};
> -#endif
> -
>  static iomux_v3_cfg_t const usb_cdet_pads[] = {
>         MX6_PAD_SNVS_TAMPER2__GPIO5_IO02 | MUX_PAD_CTRL(NO_PAD_CTRL),
>  };
> @@ -135,57 +116,6 @@ static int setup_lcd(void)
>  }
>  #endif
>
> -#ifdef CONFIG_FSL_ESDHC
> -
> -#define USDHC1_CD_GPIO IMX_GPIO_NR(5, 0)
> -
> -static struct fsl_esdhc_cfg usdhc_cfg[] = {
> -       {USDHC1_BASE_ADDR, 0, 4},
> -};
> -
> -int board_mmc_getcd(struct mmc *mmc)
> -{
> -       struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv;
> -       int ret = 0;
> -
> -       switch (cfg->esdhc_base) {
> -       case USDHC1_BASE_ADDR:
> -               ret = !gpio_get_value(USDHC1_CD_GPIO);
> -               break;
> -       }
> -
> -       return ret;
> -}
> -
> -int board_mmc_init(bd_t *bis)
> -{
> -       int i, ret;
> -
> -       /* USDHC1 is mmc0 */
> -       for (i = 0; i < CONFIG_SYS_FSL_USDHC_NUM; i++) {
> -               switch (i) {
> -               case 0:
> -                       imx_iomux_v3_setup_multiple_pads(usdhc1_pads,
> -                                                        ARRAY_SIZE(usdhc1_pads));
> -                       gpio_request(USDHC1_CD_GPIO, "usdhc1_cd");
> -                       gpio_direction_input(USDHC1_CD_GPIO);
> -                       usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK);
> -                       break;
> -               default:
> -                       printf("Warning: you configured more USDHC controllers"
> -                               "(%d) than supported by the board\n", i + 1);
> -                       return -EINVAL;
> -               }
> -
> -               ret = fsl_esdhc_initialize(bis, &usdhc_cfg[i]);
> -               if (ret)
> -                       return ret;
> -       }
> -
> -       return 0;
> -}
> -#endif
> -
>  #ifdef CONFIG_FEC_MXC
>  static int setup_fec(void)
>  {
> diff --git a/configs/colibri-imx6ull_defconfig b/configs/colibri-imx6ull_defconfig
> index ce2c09338d..69305323f2 100644
> --- a/configs/colibri-imx6ull_defconfig
> +++ b/configs/colibri-imx6ull_defconfig
> @@ -50,6 +50,7 @@ CONFIG_DFU_NAND=y
>  CONFIG_DM_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_MXC=y
> +CONFIG_DM_MMC=y
>  CONFIG_FSL_ESDHC=y
>  CONFIG_MTD=y
>  CONFIG_NAND=y
> diff --git a/include/configs/colibri-imx6ull.h b/include/configs/colibri-imx6ull.h
> index 31248b14a1..7a7a70e457 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 Toradex AG
> + * Copyright 2018-2019 Toradex AG
>   *
>   * Configuration settings for the Colibri iMX6ULL module.
>   *
> @@ -30,7 +30,7 @@
>  /* ENET1 */
>  #define IMX_FEC_BASE                   ENET2_BASE_ADDR
>
> -/* MMC Config*/
> +/* MMC Config */
>  #define CONFIG_SYS_FSL_ESDHC_ADDR      0
>  #define CONFIG_SYS_FSL_USDHC_NUM       1
>
> @@ -182,4 +182,4 @@
>  #define CONFIG_VIDEO_BMP_LOGO
>  #endif
>
> -#endif
> +#endif /* __COLIBRI_IMX6ULL_CONFIG_H */
> --
> 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)

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

* [U-Boot] [PATCH v1 05/14] colibri-imx6ull: fix ethernet phy power on
  2019-04-03  8:12   ` Igor Opaniuk
@ 2019-04-09 14:13     ` Marcel Ziswiler
  0 siblings, 0 replies; 30+ messages in thread
From: Marcel Ziswiler @ 2019-04-09 14:13 UTC (permalink / raw)
  To: u-boot

On Wed, 2019-04-03 at 10:12 +0200, Igor Opaniuk wrote:
> Hi Marcel,
> 
> On Fri, Mar 29, 2019 at 1:38 PM Marcel Ziswiler <marcel@ziswiler.com>
> wrote:
> > From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> > 
> > Just give the new Ethernet PHY power save mode circuitry time to
> > settle.
> > 
> > Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> > Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
> > 
> > ---
> > 
> >  board/toradex/colibri-imx6ull/colibri-imx6ull.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> > b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> > index fe60b8e870..b6f45edb86 100644
> > --- a/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> > +++ b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
> > @@ -263,6 +263,9 @@ static int setup_fec(void)
> >                         IOMUX_GPR1_FEC2_CLOCK_MUX2_SEL_MASK,
> >                         IOMUX_GPR1_FEC2_CLOCK_MUX1_SEL_MASK);
> > 
> > +       /* give new Ethernet PHY power save mode circuitry time to
> > settle */
> > +       mdelay(300);
> 
> Just curious, is this some empirical value for the delay needed or
> it's documented somethere?
> The first question from my side was why particularly 300?

The hardware guys just looked at it with the oscilloscope and discussed
that 300 msec would be a safe value to use (;-p).

> > +
> >         return 0;
> >  }
> > 
> > --
> > 2.20.1
> > 
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot at lists.denx.de
> > https://lists.denx.de/listinfo/u-boot

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

* [U-Boot] [PATCH v1 14/14] ARM: dts: colibri-imx6ull: update device tree
  2019-04-03  8:24   ` Igor Opaniuk
@ 2019-04-09 14:22     ` Marcel Ziswiler
  0 siblings, 0 replies; 30+ messages in thread
From: Marcel Ziswiler @ 2019-04-09 14:22 UTC (permalink / raw)
  To: u-boot

On Wed, 2019-04-03 at 08:24 +0000, Igor Opaniuk wrote:
> Hi Marcel,
> 
> Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
> 
> Please also check my comments below, thanks!
> 
> On Fri, Mar 29, 2019 at 1:41 PM Marcel Ziswiler <marcel@ziswiler.com>
> wrote:
> > From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> > 
> > Fix compatible node to use regular Toradex notation.
> > Annotate device tree with standard Colibri pin muxing comments.
> > Use open-drain I2C pin muxings.
> > Alphabetically re-order iomuxc nodes.
> > Rename  snvs-ad7879-int-grp touch interrupt node as per Linux
> > device tree.
> > 
> > Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> > 
> > ---
> > 
> >  arch/arm/dts/imx6ull-colibri.dts | 91 ++++++++++++++++++--------
> > ------
> >  1 file changed, 52 insertions(+), 39 deletions(-)
> > 
> > diff --git a/arch/arm/dts/imx6ull-colibri.dts
> > b/arch/arm/dts/imx6ull-colibri.dts
> > index 84f70deaa1..4196cbdf22 100644
> > --- a/arch/arm/dts/imx6ull-colibri.dts
> > +++ b/arch/arm/dts/imx6ull-colibri.dts
> > @@ -9,7 +9,7 @@
> > 
> >  / {
> >         model = "Toradex Colibri iMX6ULL";
> > -       compatible = "toradex,imx6ull-colibri", "fsl,imx6ull";
> > +       compatible = "toradex,colibri-imx6ull", "fsl,imx6ull";
> Just FYI: still there is some devergance in naming this particular
> platform:
> 
> $:~/toradex/reps/u-boot-imx.git$ grep -e imx6ull-colibri -r ./
> ./board/toradex/colibri-imx6ull/MAINTAINERS:F: arch/arm/dts/imx6ull-
> colibri.dts
> ./include/configs/colibri-imx6ull.h:#define FDT_FILE
> "imx6ull-colibri${variant}-${fdt_board}.dtb"
> ./arch/arm/dts/imx6ull-colibri.dts: compatible =
> "toradex,imx6ull-colibri", "fsl,imx6ull";
> ./arch/arm/dts/Makefile: imx6ull-colibri.dtb \
> ./configs/colibri-
> imx6ull_defconfig:CONFIG_DEFAULT_DEVICE_TREE="imx6ull-colibri"

That is really just device tree naming convention where the SoC
architecture gets used as a pre-fix. I guess we could also call it
imx6ull-colibri-imx6ull.dts but that would be kind of silly as well. So
a long time ago we decided to just drop the second SoC architecture
part in this case which is what we have been doing ever since.

> $:~/toradex/reps/u-boot-imx.git$ grep -e colibri-imx6ull -r ./
> ./board/toradex/colibri-imx6ull/Kconfig: default "colibri-imx6ull"
> ./board/toradex/colibri-imx6ull/Kconfig: default "colibri-imx6ull"
> ./board/toradex/colibri-imx6ull/MAINTAINERS:F: board/toradex/colibri-
> imx6ull/
> ./board/toradex/colibri-imx6ull/MAINTAINERS:F: configs/colibri-
> imx6ull_defconfig
> ./board/toradex/colibri-imx6ull/MAINTAINERS:F:
> include/configs/colibri-imx6ull.h
> ./board/toradex/colibri-imx6ull/Makefile:obj-y  := colibri-imx6ull.o
> ./include/config/auto.conf.cmd: board/toradex/colibri-imx6ull/Kconfig 
> \
> ./arch/arm/mach-imx/mx6/Kconfig:source "board/toradex/colibri-
> imx6ull/Kconfig"
> ./configs/colibri-
> imx6ull_defconfig:CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/
> colibri-imx6ull/imximage.cfg,MX6ULL,IMX_NAND"

Everywhere else we use colibri-imx6ull which is really what our product
is called.

> So probably it should be renamed in many places as possible (and
> stick
> to colibri-imx6ull in all cases)
> >         aliases {
> >                 mmc0 = &usdhc1;
> > @@ -100,6 +100,7 @@
> >         };
> >  };
> > 
> > +/* NAND */
> >  &gpmi {
> >         pinctrl-names = "default";
> >         pinctrl-0 = <&pinctrl_gpmi_nand>;
> > @@ -110,21 +111,28 @@
> >         status = "okay";
> >  };
> > 
> > +/*
> > + * I2C3_SDA/SCL on SODIMM 194/196 (e.g. RTC on carrier board)
> > + */
> >  &i2c1 {
> >         pinctrl-names = "default", "gpio";
> >         pinctrl-0 = <&pinctrl_i2c1>;
> >         pinctrl-1 = <&pinctrl_i2c1_gpio>;
> > -       sda-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
> > -       scl-gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
> > +       sda-gpios = <&gpio1 29 (GPIO_ACTIVE_HIGH |
> > GPIO_OPEN_DRAIN)>;
> > +       scl-gpios = <&gpio1 28 (GPIO_ACTIVE_HIGH |
> > GPIO_OPEN_DRAIN)>;
> >         status = "okay";
> >  };
> > 
> > +/*
> > + * PWR_I2C: power I2C to audio codec, PMIC, temperature sensor and
> > + * touch screen controller
> > + */
> >  &i2c2 {
> >         pinctrl-names = "default", "gpio";
> >         pinctrl-0 = <&pinctrl_i2c2>;
> >         pinctrl-1 = <&pinctrl_i2c2_gpio>;
> > -       sda-gpios = <&gpio1 31 GPIO_ACTIVE_LOW>;
> > -       scl-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
> > +       sda-gpios = <&gpio1 31 (GPIO_ACTIVE_HIGH |
> > GPIO_OPEN_DRAIN)>;
> > +       scl-gpios = <&gpio1 30 (GPIO_ACTIVE_HIGH |
> > GPIO_OPEN_DRAIN)>;
> >         status = "okay";
> > 
> >         ad7879 at 2c {
> > @@ -150,24 +158,28 @@
> >                      &pinctrl_lcdif_ctrl>;
> >  };
> > 
> > +/* PWM <A> */
> >  &pwm4 {
> >         pinctrl-names = "default";
> >         pinctrl-0 = <&pinctrl_pwm4>;
> >         #pwm-cells = <3>;
> >  };
> > 
> > +/* PWM <B> */
> >  &pwm5 {
> >         pinctrl-names = "default";
> >         pinctrl-0 = <&pinctrl_pwm5>;
> >         #pwm-cells = <3>;
> >  };
> > 
> > +/* PWM <C> */
> >  &pwm6 {
> >         pinctrl-names = "default";
> >         pinctrl-0 = <&pinctrl_pwm6>;
> >         #pwm-cells = <3>;
> >  };
> > 
> > +/* PWM <D> */
> >  &pwm7 {
> >         pinctrl-names = "default";
> >         pinctrl-0 = <&pinctrl_pwm7>;
> > @@ -237,6 +249,13 @@
> >  };
> > 
> >  &iomuxc {
> > +       pinctrl_can_int: canint-grp {
> > +               fsl,pins = <
> > +                       /* SODIMM 73 */
> > +                       MX6UL_PAD_ENET1_TX_DATA1__GPIO2_IO04    0X1
> > 4
> > +               >;
> > +       };
> > +
> >         pinctrl_enet2: enet2-grp {
> >                 fsl,pins = <
> >                         MX6UL_PAD_GPIO1_IO06__ENET2_MDIO        0x1
> > b0b0
> > @@ -252,6 +271,33 @@
> >                 >;
> >         };
> > 
> > +       pinctrl_ecspi1_cs: ecspi1-cs-grp {
> > +               fsl,pins = <
> > +                       MX6UL_PAD_LCD_DATA21__GPIO3_IO26        0x0
> > 00a0
> > +               >;
> > +       };
> > +
> > +       pinctrl_ecspi1: ecspi1-grp {
> > +               fsl,pins = <
> > +                       MX6UL_PAD_LCD_DATA20__ECSPI1_SCLK       0x0
> > 00a0
> > +                       MX6UL_PAD_LCD_DATA22__ECSPI1_MOSI       0x0
> > 00a0
> > +                       MX6UL_PAD_LCD_DATA23__ECSPI1_MISO       0x1
> > 00a0
> > +               >;
> > +       };
> > +
> > +       pinctrl_flexcan2: flexcan2-grp {
> > +               fsl,pins = <
> > +                       MX6UL_PAD_ENET1_TX_DATA0__FLEXCAN2_RX   0x1
> > b020
> > +                       MX6UL_PAD_ENET1_RX_EN__FLEXCAN2_TX      0x1
> > b020
> > +               >;
> > +       };
> > +
> > +       pinctrl_gpio_bl_on: gpio-bl-on-grp {
> > +               fsl,pins = <
> > +                       MX6UL_PAD_JTAG_TMS__GPIO1_IO11          0x0
> > 00a0
> > +               >;
> > +       };
> > +
> >         pinctrl_gpio1: gpio1-grp {
> >                 fsl,pins = <
> >                         MX6UL_PAD_ENET1_RX_DATA0__GPIO2_IO00    0x7
> > 4 /* SODIMM 55 */
> > @@ -308,39 +354,6 @@
> >                 >;
> >         };
> > 
> > -       pinctrl_can_int: canint-grp {
> > -               fsl,pins = <
> > -                       MX6UL_PAD_ENET1_TX_DATA1__GPIO2_IO04    0X1
> > 4 /* SODIMM 73 */
> > -               >;
> > -       };
> > -
> > -       pinctrl_ecspi1_cs: ecspi1-cs-grp {
> > -               fsl,pins = <
> > -                       MX6UL_PAD_LCD_DATA21__GPIO3_IO26        0x0
> > 00a0
> > -               >;
> > -       };
> > -
> > -       pinctrl_ecspi1: ecspi1-grp {
> > -               fsl,pins = <
> > -                       MX6UL_PAD_LCD_DATA20__ECSPI1_SCLK       0x0
> > 00a0
> > -                       MX6UL_PAD_LCD_DATA22__ECSPI1_MOSI       0x0
> > 00a0
> > -                       MX6UL_PAD_LCD_DATA23__ECSPI1_MISO       0x1
> > 00a0
> > -               >;
> > -       };
> > -
> > -       pinctrl_flexcan2: flexcan2-grp {
> > -               fsl,pins = <
> > -                       MX6UL_PAD_ENET1_TX_DATA0__FLEXCAN2_RX   0x1
> > b020
> > -                       MX6UL_PAD_ENET1_RX_EN__FLEXCAN2_TX      0x1
> > b020
> > -               >;
> > -       };
> > -
> > -       pinctrl_gpio_bl_on: gpio-bl-on-grp {
> > -               fsl,pins = <
> > -                       MX6UL_PAD_JTAG_TMS__GPIO1_IO11          0x0
> > 00a0
> > -               >;
> > -       };
> > -
> >         pinctrl_gpmi_nand: gpmi-nand-grp {
> >                 fsl,pins = <
> >                         MX6UL_PAD_NAND_DATA00__RAWNAND_DATA00   0x1
> > 00a9
> > @@ -553,7 +566,7 @@
> >                 >;
> >         };
> > 
> > -       pinctrl_snvs_ad7879_int: snvs-ad7879-int { /* TOUCH
> > Interrupt */
> > +       pinctrl_snvs_ad7879_int: snvs-ad7879-int-grp { /* TOUCH
> > Interrupt */
> >                 fsl,pins = <
> >                         MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07     0x1
> > b0b0
> >                 >;
> > --
> > 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)

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

end of thread, other threads:[~2019-04-09 14:22 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-29 12:34 [U-Boot] [PATCH v1 00/14] colibri-imx6ull device tree enablement and driver model conversion Marcel Ziswiler
2019-03-29 12:34 ` [U-Boot] [PATCH v1 01/14] tdx-cfg-block: add support for new colibri iMX6ull skus Marcel Ziswiler
2019-04-03  7:59   ` Igor Opaniuk
2019-03-29 12:34 ` [U-Boot] [PATCH v1 02/14] tdx-cfg-block: simplify i.MX 6 module detection Marcel Ziswiler
2019-04-03  8:04   ` Igor Opaniuk
2019-03-29 12:34 ` [U-Boot] [PATCH v1 03/14] colibri-imx6ull: set module variant depending on config block Marcel Ziswiler
2019-04-03  8:06   ` Igor Opaniuk
2019-03-29 12:34 ` [U-Boot] [PATCH v1 04/14] apalis/colibri_imx6/imx6ull: make sure loadaddr does not collide Marcel Ziswiler
2019-04-02 14:04   ` Igor Opaniuk
2019-03-29 12:34 ` [U-Boot] [PATCH v1 05/14] colibri-imx6ull: fix ethernet phy power on Marcel Ziswiler
2019-04-03  8:12   ` Igor Opaniuk
2019-04-09 14:13     ` Marcel Ziswiler
2019-03-29 12:34 ` [U-Boot] [PATCH v1 06/14] board: imx6ull: Add disable PMIC_STBY_REQ Marcel Ziswiler
2019-04-03  8:26   ` Igor Opaniuk
2019-03-29 12:34 ` [U-Boot] [PATCH v1 07/14] colibri-imx6ull: configuration clean-up Marcel Ziswiler
2019-04-03  8:44   ` Igor Opaniuk
2019-03-29 12:34 ` [U-Boot] [PATCH v1 08/14] colibri-imx6ull: migrate pinctrl and regulators to dtb/dm Marcel Ziswiler
2019-04-03  9:06   ` Igor Opaniuk
2019-03-29 12:34 ` [U-Boot] [PATCH v1 09/14] colibri-imx6ull: migrate mmc to using driver model Marcel Ziswiler
2019-04-03  9:14   ` Igor Opaniuk
2019-03-29 12:34 ` [U-Boot] [PATCH v1 10/14] colibri-imx6ull: migrate usb " Marcel Ziswiler
2019-03-29 12:34 ` [U-Boot] [PATCH v1 11/14] colibri-imx6ull: migrate fec " Marcel Ziswiler
2019-04-03  8:42   ` Igor Opaniuk
2019-03-29 12:34 ` [U-Boot] [PATCH v1 12/14] ARM: dts: colibri-imx6ull: fix uart-has-rtscts property Marcel Ziswiler
2019-04-03  8:36   ` Igor Opaniuk
2019-03-29 12:34 ` [U-Boot] [PATCH v1 13/14] ARM: dts: colibri-imx6ull: add osc32k_32k_out pinctrl Marcel Ziswiler
2019-04-03  8:29   ` Igor Opaniuk
2019-03-29 12:34 ` [U-Boot] [PATCH v1 14/14] ARM: dts: colibri-imx6ull: update device tree Marcel Ziswiler
2019-04-03  8:24   ` Igor Opaniuk
2019-04-09 14:22     ` 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.