All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v1 0/9] arm: Colibri iMX7 fixes and DM_MMC conversion
@ 2019-01-06 21:00 Stefan Agner
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 1/9] colibri_imx7: fix boot commands Stefan Agner
                   ` (8 more replies)
  0 siblings, 9 replies; 23+ messages in thread
From: Stefan Agner @ 2019-01-06 21:00 UTC (permalink / raw)
  To: u-boot

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

This patchset fixes some small issues with Colibri iMX7 and
converts the board to use DM_MMC. It also adds the so far
missing configuration for the eMMC variant.

This patchset gets rid of all but one deprecation warning.
The remaining warning is due to CONFIG_USB still being used.
Fixing this is not entirly trivial due to missing GPIO host/
peripheral switch capabilities and will be tackled later.

--
Stefan


Stefan Agner (9):
  colibri_imx7: fix boot commands
  arm: dts: imx7: colibri: split dt for raw NAND and eMMC devices
  configs: colibri_imx7: enable DM for raw NAND devices
  configs: colibri_imx7: use separate device tree
  arm: dts: imx7: colibri: add usdhci peripherals to device tree
  configs: colibri_imx7: use DM_MMC
  colibri_imx7: drop legacy usdhc support
  configs: colibri_imx7: enable CAAM driver
  configs: add default configuraiton for Colibri iMX7 with eMMC

 arch/arm/dts/imx7-colibri-emmc.dts            | 85 ++++++++++++++++
 arch/arm/dts/imx7-colibri-rawnand.dts         | 50 ++++++++++
 .../{imx7-colibri.dts => imx7-colibri.dtsi}   | 67 ++++++-------
 board/toradex/colibri_imx7/MAINTAINERS        |  3 +
 board/toradex/colibri_imx7/colibri_imx7.c     | 97 -------------------
 configs/colibri_imx7_defconfig                | 12 ++-
 configs/colibri_imx7_emmc_defconfig           | 65 +++++++++++++
 include/configs/colibri_imx7.h                |  5 +-
 8 files changed, 244 insertions(+), 140 deletions(-)
 create mode 100644 arch/arm/dts/imx7-colibri-emmc.dts
 create mode 100644 arch/arm/dts/imx7-colibri-rawnand.dts
 rename arch/arm/dts/{imx7-colibri.dts => imx7-colibri.dtsi} (68%)
 create mode 100644 configs/colibri_imx7_emmc_defconfig

-- 
2.20.1

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

* [U-Boot] [PATCH v1 1/9] colibri_imx7: fix boot commands
  2019-01-06 21:00 [U-Boot] [PATCH v1 0/9] arm: Colibri iMX7 fixes and DM_MMC conversion Stefan Agner
@ 2019-01-06 21:00 ` Stefan Agner
  2019-01-06 22:56   ` Marcel Ziswiler
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 2/9] arm: dts: imx7: colibri: split dt for raw NAND and eMMC devices Stefan Agner
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 23+ messages in thread
From: Stefan Agner @ 2019-01-06 21:00 UTC (permalink / raw)
  To: u-boot

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

Fix mixed up boot commands between raw NAND and eMMC variant. Also
make sure that the boot_file is defined for the eMMC boot command.

Fixes: a62c60610f51 ("colibri_imx7_emmc: add Colibri iMX7D 1GB (eMMC) module support")
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
---

 include/configs/colibri_imx7.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/include/configs/colibri_imx7.h b/include/configs/colibri_imx7.h
index c31cf2888a..5a4b9801cb 100644
--- a/include/configs/colibri_imx7.h
+++ b/include/configs/colibri_imx7.h
@@ -110,13 +110,13 @@
 		"run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \
 
 #if defined(CONFIG_TARGET_COLIBRI_IMX7_NAND)
-#define CONFIG_BOOTCOMMAND "run emmcboot ; echo ; echo emmcboot failed ; " \
+#define CONFIG_BOOTCOMMAND "run ubiboot ; echo ; echo ubiboot failed ; " \
 	"setenv fdtfile ${soc}-colibri-${fdt_board}.dtb && run distro_bootcmd;"
 #define MODULE_EXTRA_ENV_SETTINGS \
 	"mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \
 	UBI_BOOTCMD
 #elif defined(CONFIG_TARGET_COLIBRI_IMX7_EMMC)
-#define CONFIG_BOOTCOMMAND "run ubiboot ; echo ; echo ubiboot failed ; " \
+#define CONFIG_BOOTCOMMAND "run emmcboot ; echo ; echo emmcboot failed ; " \
 	"setenv fdtfile ${soc}-colibri-emmc-${fdt_board}.dtb && run distro_bootcmd;"
 #define MODULE_EXTRA_ENV_SETTINGS \
 	"variant=-emmc\0" \
@@ -143,6 +143,7 @@
 	NFS_BOOTCMD \
 	SD_BOOTCMD \
 	MODULE_EXTRA_ENV_SETTINGS \
+	"boot_file=zImage\0" \
 	"console=ttymxc0\0" \
 	"defargs=\0" \
 	"fdt_board=eval-v3\0" \
-- 
2.20.1

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

* [U-Boot] [PATCH v1 2/9] arm: dts: imx7: colibri: split dt for raw NAND and eMMC devices
  2019-01-06 21:00 [U-Boot] [PATCH v1 0/9] arm: Colibri iMX7 fixes and DM_MMC conversion Stefan Agner
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 1/9] colibri_imx7: fix boot commands Stefan Agner
@ 2019-01-06 21:00 ` Stefan Agner
  2019-01-06 23:18   ` Marcel Ziswiler
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 3/9] configs: colibri_imx7: enable DM for raw NAND devices Stefan Agner
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 23+ messages in thread
From: Stefan Agner @ 2019-01-06 21:00 UTC (permalink / raw)
  To: u-boot

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

In preparation of adding CONFIG_DM_MMC support use separate device
trees for raw NAND and eMMC devices.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
---

 arch/arm/dts/imx7-colibri-emmc.dts            | 16 +++++++
 arch/arm/dts/imx7-colibri-rawnand.dts         | 46 +++++++++++++++++++
 .../{imx7-colibri.dts => imx7-colibri.dtsi}   | 39 +---------------
 board/toradex/colibri_imx7/MAINTAINERS        |  3 ++
 configs/colibri_imx7_defconfig                |  2 +-
 5 files changed, 67 insertions(+), 39 deletions(-)
 create mode 100644 arch/arm/dts/imx7-colibri-emmc.dts
 create mode 100644 arch/arm/dts/imx7-colibri-rawnand.dts
 rename arch/arm/dts/{imx7-colibri.dts => imx7-colibri.dtsi} (65%)

diff --git a/arch/arm/dts/imx7-colibri-emmc.dts b/arch/arm/dts/imx7-colibri-emmc.dts
new file mode 100644
index 0000000000..295ca05916
--- /dev/null
+++ b/arch/arm/dts/imx7-colibri-emmc.dts
@@ -0,0 +1,16 @@
+// SPDX-License-Identifier: GPL-2.0+ OR X11
+/*
+ * Copyright 2019 Toradex AG
+ */
+
+/dts-v1/;
+#include "imx7-colibri.dtsi"
+
+/ {
+	model = "Toradex Colibri iMX7D 1GB (eMMC)";
+	compatible = "toradex,imx7d-colibri-emmc", "fsl,imx7d";
+
+	chosen {
+		stdout-path = &uart1;
+	};
+};
diff --git a/arch/arm/dts/imx7-colibri-rawnand.dts b/arch/arm/dts/imx7-colibri-rawnand.dts
new file mode 100644
index 0000000000..4eb86fb011
--- /dev/null
+++ b/arch/arm/dts/imx7-colibri-rawnand.dts
@@ -0,0 +1,46 @@
+// SPDX-License-Identifier: GPL-2.0+ OR X11
+/*
+ * Copyright 2019 Toradex AG
+ */
+
+/dts-v1/;
+#include "imx7-colibri.dtsi"
+
+/ {
+	model = "Toradex Colibri iMX7S/D";
+	compatible = "toradex,imx7-colibri", "fsl,imx7";
+
+	chosen {
+		stdout-path = &uart1;
+	};
+};
+
+&gpmi {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_gpmi_nand>;
+	fsl,use-minimum-ecc;
+	nand-on-flash-bbt;
+	nand-ecc-mode = "hw";
+	status = "okay";
+};
+
+&iomuxc {
+	pinctrl_gpmi_nand: gpmi-nand-grp {
+		fsl,pins = <
+			MX7D_PAD_SD3_CLK__NAND_CLE		0x71
+			MX7D_PAD_SD3_CMD__NAND_ALE		0x71
+			MX7D_PAD_SAI1_TX_BCLK__NAND_CE0_B	0x71
+			MX7D_PAD_SAI1_TX_DATA__NAND_READY_B	0x74
+			MX7D_PAD_SD3_STROBE__NAND_RE_B		0x71
+			MX7D_PAD_SD3_RESET_B__NAND_WE_B		0x71
+			MX7D_PAD_SD3_DATA0__NAND_DATA00		0x71
+			MX7D_PAD_SD3_DATA1__NAND_DATA01		0x71
+			MX7D_PAD_SD3_DATA2__NAND_DATA02		0x71
+			MX7D_PAD_SD3_DATA3__NAND_DATA03		0x71
+			MX7D_PAD_SD3_DATA4__NAND_DATA04		0x71
+			MX7D_PAD_SD3_DATA5__NAND_DATA05		0x71
+			MX7D_PAD_SD3_DATA6__NAND_DATA06		0x71
+			MX7D_PAD_SD3_DATA7__NAND_DATA07		0x71
+		>;
+	};
+};
diff --git a/arch/arm/dts/imx7-colibri.dts b/arch/arm/dts/imx7-colibri.dtsi
similarity index 65%
rename from arch/arm/dts/imx7-colibri.dts
rename to arch/arm/dts/imx7-colibri.dtsi
index dca501be25..47295117aa 100644
--- a/arch/arm/dts/imx7-colibri.dts
+++ b/arch/arm/dts/imx7-colibri.dtsi
@@ -1,30 +1,12 @@
 // SPDX-License-Identifier: GPL-2.0+ OR X11
 /*
- * Copyright 2016 Toradex AG
+ * Copyright 2016-2019 Toradex AG
  */
 
 /dts-v1/;
 #include <dt-bindings/gpio/gpio.h>
 #include "imx7d.dtsi"
 
-/ {
-	model = "Toradex Colibri iMX7S/D";
-	compatible = "toradex,imx7-colibri", "fsl,imx7";
-
-	chosen {
-		stdout-path = &uart1;
-	};
-};
-
-&gpmi {
-	pinctrl-names = "default";
-	pinctrl-0 = <&pinctrl_gpmi_nand>;
-	fsl,use-minimum-ecc;
-	nand-on-flash-bbt;
-	nand-ecc-mode = "hw";
-	status = "okay";
-};
-
 &i2c1 {
 	pinctrl-names = "default", "gpio";
 	pinctrl-0 = <&pinctrl_i2c1>;
@@ -57,25 +39,6 @@
 };
 
 &iomuxc {
-	pinctrl_gpmi_nand: gpmi-nand-grp {
-		fsl,pins = <
-			MX7D_PAD_SD3_CLK__NAND_CLE		0x71
-			MX7D_PAD_SD3_CMD__NAND_ALE		0x71
-			MX7D_PAD_SAI1_TX_BCLK__NAND_CE0_B	0x71
-			MX7D_PAD_SAI1_TX_DATA__NAND_READY_B	0x74
-			MX7D_PAD_SD3_STROBE__NAND_RE_B		0x71
-			MX7D_PAD_SD3_RESET_B__NAND_WE_B		0x71
-			MX7D_PAD_SD3_DATA0__NAND_DATA00		0x71
-			MX7D_PAD_SD3_DATA1__NAND_DATA01		0x71
-			MX7D_PAD_SD3_DATA2__NAND_DATA02		0x71
-			MX7D_PAD_SD3_DATA3__NAND_DATA03		0x71
-			MX7D_PAD_SD3_DATA4__NAND_DATA04		0x71
-			MX7D_PAD_SD3_DATA5__NAND_DATA05		0x71
-			MX7D_PAD_SD3_DATA6__NAND_DATA06		0x71
-			MX7D_PAD_SD3_DATA7__NAND_DATA07		0x71
-		>;
-	};
-
 	pinctrl_i2c4: i2c4-grp {
 		fsl,pins = <
 			MX7D_PAD_ENET1_RGMII_TD3__I2C4_SDA	0x4000007f
diff --git a/board/toradex/colibri_imx7/MAINTAINERS b/board/toradex/colibri_imx7/MAINTAINERS
index 9c1d42aa8c..f55f8045f4 100644
--- a/board/toradex/colibri_imx7/MAINTAINERS
+++ b/board/toradex/colibri_imx7/MAINTAINERS
@@ -8,3 +8,6 @@ F:	board/toradex/colibri_imx7/
 F:	include/configs/colibri_imx7.h
 F:	configs/colibri_imx7_defconfig
 F:	configs/colibri_imx7_emmc_defconfig
+F:	arch/arm/dts/imx7-colibri.dtsi
+F:	arch/arm/dts/imx7-colibri-emmc.dts
+F:	arch/arm/dts/imx7-colibri-rawnand.dts
diff --git a/configs/colibri_imx7_defconfig b/configs/colibri_imx7_defconfig
index 7b496bcea9..7441102ed4 100644
--- a/configs/colibri_imx7_defconfig
+++ b/configs/colibri_imx7_defconfig
@@ -43,7 +43,7 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=gpmi-nand:512k(mx7-bcb),1536k(u-boot1)ro,1536k
 CONFIG_CMD_UBI=y
 CONFIG_OF_CONTROL=y
 CONFIG_OF_EMBED=y
-CONFIG_DEFAULT_DEVICE_TREE="imx7-colibri"
+CONFIG_DEFAULT_DEVICE_TREE="imx7-colibri-rawnand"
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_DFU_MMC=y
-- 
2.20.1

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

* [U-Boot] [PATCH v1 3/9] configs: colibri_imx7: enable DM for raw NAND devices
  2019-01-06 21:00 [U-Boot] [PATCH v1 0/9] arm: Colibri iMX7 fixes and DM_MMC conversion Stefan Agner
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 1/9] colibri_imx7: fix boot commands Stefan Agner
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 2/9] arm: dts: imx7: colibri: split dt for raw NAND and eMMC devices Stefan Agner
@ 2019-01-06 21:00 ` Stefan Agner
  2019-01-06 23:25   ` Marcel Ziswiler
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 4/9] configs: colibri_imx7: use separate device tree Stefan Agner
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 23+ messages in thread
From: Stefan Agner @ 2019-01-06 21:00 UTC (permalink / raw)
  To: u-boot

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

Use DM and device trees for raw NAND devices by default. This
fixes -74 NAND read errors since it makes sure the ECC settings
are the same as used in Linux and our downstream U-Boot.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
---

 configs/colibri_imx7_defconfig | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/configs/colibri_imx7_defconfig b/configs/colibri_imx7_defconfig
index 7441102ed4..3aaf1a417d 100644
--- a/configs/colibri_imx7_defconfig
+++ b/configs/colibri_imx7_defconfig
@@ -25,6 +25,7 @@ CONFIG_CMD_DFU=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
@@ -50,7 +51,9 @@ CONFIG_DFU_MMC=y
 CONFIG_DM_GPIO=y
 CONFIG_DM_I2C=y
 CONFIG_FSL_ESDHC=y
+CONFIG_MTD=y
 CONFIG_NAND=y
+CONFIG_NAND_MXS_DT=y
 CONFIG_MTD_UBI_FASTMAP=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
-- 
2.20.1

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

* [U-Boot] [PATCH v1 4/9] configs: colibri_imx7: use separate device tree
  2019-01-06 21:00 [U-Boot] [PATCH v1 0/9] arm: Colibri iMX7 fixes and DM_MMC conversion Stefan Agner
                   ` (2 preceding siblings ...)
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 3/9] configs: colibri_imx7: enable DM for raw NAND devices Stefan Agner
@ 2019-01-06 21:00 ` Stefan Agner
  2019-01-06 23:26   ` Marcel Ziswiler
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 5/9] arm: dts: imx7: colibri: add usdhci peripherals to " Stefan Agner
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 23+ messages in thread
From: Stefan Agner @ 2019-01-06 21:00 UTC (permalink / raw)
  To: u-boot

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

Use OF_SEPARATE as suggested by the build system.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
---

 configs/colibri_imx7_defconfig | 1 -
 1 file changed, 1 deletion(-)

diff --git a/configs/colibri_imx7_defconfig b/configs/colibri_imx7_defconfig
index 3aaf1a417d..0c9467e136 100644
--- a/configs/colibri_imx7_defconfig
+++ b/configs/colibri_imx7_defconfig
@@ -43,7 +43,6 @@ CONFIG_MTDIDS_DEFAULT="nand0=gpmi-nand"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=gpmi-nand:512k(mx7-bcb),1536k(u-boot1)ro,1536k(u-boot2)ro,512k(u-boot-env),-(ubi)"
 CONFIG_CMD_UBI=y
 CONFIG_OF_CONTROL=y
-CONFIG_OF_EMBED=y
 CONFIG_DEFAULT_DEVICE_TREE="imx7-colibri-rawnand"
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
-- 
2.20.1

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

* [U-Boot] [PATCH v1 5/9] arm: dts: imx7: colibri: add usdhci peripherals to device tree
  2019-01-06 21:00 [U-Boot] [PATCH v1 0/9] arm: Colibri iMX7 fixes and DM_MMC conversion Stefan Agner
                   ` (3 preceding siblings ...)
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 4/9] configs: colibri_imx7: use separate device tree Stefan Agner
@ 2019-01-06 21:00 ` Stefan Agner
  2019-01-06 23:39   ` Marcel Ziswiler
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 6/9] configs: colibri_imx7: use DM_MMC Stefan Agner
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 23+ messages in thread
From: Stefan Agner @ 2019-01-06 21:00 UTC (permalink / raw)
  To: u-boot

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

Add usdhci peripherals to device tree. This allows to use DM_MMC
for Colibri iMX7 devices.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
---

 arch/arm/dts/imx7-colibri-emmc.dts    | 69 +++++++++++++++++++++++++++
 arch/arm/dts/imx7-colibri-rawnand.dts |  4 ++
 arch/arm/dts/imx7-colibri.dtsi        | 28 +++++++++++
 3 files changed, 101 insertions(+)

diff --git a/arch/arm/dts/imx7-colibri-emmc.dts b/arch/arm/dts/imx7-colibri-emmc.dts
index 295ca05916..8cf8befc7f 100644
--- a/arch/arm/dts/imx7-colibri-emmc.dts
+++ b/arch/arm/dts/imx7-colibri-emmc.dts
@@ -10,7 +10,76 @@
 	model = "Toradex Colibri iMX7D 1GB (eMMC)";
 	compatible = "toradex,imx7d-colibri-emmc", "fsl,imx7d";
 
+	aliases {
+		mmc0 = &usdhc3;
+		mmc1 = &usdhc1;
+	};
+
 	chosen {
 		stdout-path = &uart1;
 	};
 };
+
+&usdhc3 {
+	pinctrl-names = "default", "state_100mhz", "state_200mhz";
+	pinctrl-0 = <&pinctrl_usdhc3>;
+	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
+	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
+	assigned-clocks = <&clks IMX7D_USDHC3_ROOT_CLK>;
+	assigned-clock-rates = <400000000>;
+	bus-width = <8>;
+	fsl,tuning-step = <2>;
+	non-removable;
+	sdhci-caps-mask = <0x80000000 0x0>;
+	status = "okay";
+};
+
+&iomuxc {
+	pinctrl_usdhc3: usdhc3grp {
+		fsl,pins = <
+			MX7D_PAD_SD3_CMD__SD3_CMD		0x59
+			MX7D_PAD_SD3_CLK__SD3_CLK		0x19
+			MX7D_PAD_SD3_DATA0__SD3_DATA0		0x59
+			MX7D_PAD_SD3_DATA1__SD3_DATA1		0x59
+			MX7D_PAD_SD3_DATA2__SD3_DATA2		0x59
+			MX7D_PAD_SD3_DATA3__SD3_DATA3		0x59
+			MX7D_PAD_SD3_DATA4__SD3_DATA4		0x59
+			MX7D_PAD_SD3_DATA5__SD3_DATA5		0x59
+			MX7D_PAD_SD3_DATA6__SD3_DATA6		0x59
+			MX7D_PAD_SD3_DATA7__SD3_DATA7		0x59
+			MX7D_PAD_SD3_STROBE__SD3_STROBE         0x19
+		>;
+	};
+
+	pinctrl_usdhc3_100mhz: usdhc3grp_100mhz {
+		fsl,pins = <
+			MX7D_PAD_SD3_CMD__SD3_CMD		0x5a
+			MX7D_PAD_SD3_CLK__SD3_CLK		0x1a
+			MX7D_PAD_SD3_DATA0__SD3_DATA0		0x5a
+			MX7D_PAD_SD3_DATA1__SD3_DATA1		0x5a
+			MX7D_PAD_SD3_DATA2__SD3_DATA2		0x5a
+			MX7D_PAD_SD3_DATA3__SD3_DATA3		0x5a
+			MX7D_PAD_SD3_DATA4__SD3_DATA4		0x5a
+			MX7D_PAD_SD3_DATA5__SD3_DATA5		0x5a
+			MX7D_PAD_SD3_DATA6__SD3_DATA6		0x5a
+			MX7D_PAD_SD3_DATA7__SD3_DATA7		0x5a
+			MX7D_PAD_SD3_STROBE__SD3_STROBE         0x1a
+		>;
+	};
+
+	pinctrl_usdhc3_200mhz: usdhc3grp_200mhz {
+		fsl,pins = <
+			MX7D_PAD_SD3_CMD__SD3_CMD		0x5b
+			MX7D_PAD_SD3_CLK__SD3_CLK		0x1b
+			MX7D_PAD_SD3_DATA0__SD3_DATA0		0x5b
+			MX7D_PAD_SD3_DATA1__SD3_DATA1		0x5b
+			MX7D_PAD_SD3_DATA2__SD3_DATA2		0x5b
+			MX7D_PAD_SD3_DATA3__SD3_DATA3		0x5b
+			MX7D_PAD_SD3_DATA4__SD3_DATA4		0x5b
+			MX7D_PAD_SD3_DATA5__SD3_DATA5		0x5b
+			MX7D_PAD_SD3_DATA6__SD3_DATA6		0x5b
+			MX7D_PAD_SD3_DATA7__SD3_DATA7		0x5b
+			MX7D_PAD_SD3_STROBE__SD3_STROBE         0x1b
+		>;
+	};
+};
diff --git a/arch/arm/dts/imx7-colibri-rawnand.dts b/arch/arm/dts/imx7-colibri-rawnand.dts
index 4eb86fb011..5d64e5ef41 100644
--- a/arch/arm/dts/imx7-colibri-rawnand.dts
+++ b/arch/arm/dts/imx7-colibri-rawnand.dts
@@ -10,6 +10,10 @@
 	model = "Toradex Colibri iMX7S/D";
 	compatible = "toradex,imx7-colibri", "fsl,imx7";
 
+	aliases {
+		mmc0 = &usdhc1;
+	};
+
 	chosen {
 		stdout-path = &uart1;
 	};
diff --git a/arch/arm/dts/imx7-colibri.dtsi b/arch/arm/dts/imx7-colibri.dtsi
index 47295117aa..3a627fc941 100644
--- a/arch/arm/dts/imx7-colibri.dtsi
+++ b/arch/arm/dts/imx7-colibri.dtsi
@@ -38,6 +38,17 @@
 	status = "okay";
 };
 
+&usdhc1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_cd_usdhc1>;
+	no-1-8-v;
+	cd-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
+	disable-wp;
+	fsl,tuning-start-tap = <20>;
+	fsl,tuning-step= <2>;
+	status = "okay";
+};
+
 &iomuxc {
 	pinctrl_i2c4: i2c4-grp {
 		fsl,pins = <
@@ -68,6 +79,17 @@
 			MX7D_PAD_SD2_DATA0__GPIO5_IO14		0x14 /* DTR */
 		>;
 	};
+
+	pinctrl_usdhc1: usdhc1-grp {
+		fsl,pins = <
+			MX7D_PAD_SD1_CMD__SD1_CMD	0x59
+			MX7D_PAD_SD1_CLK__SD1_CLK	0x19
+			MX7D_PAD_SD1_DATA0__SD1_DATA0	0x59
+			MX7D_PAD_SD1_DATA1__SD1_DATA1	0x59
+			MX7D_PAD_SD1_DATA2__SD1_DATA2	0x59
+			MX7D_PAD_SD1_DATA3__SD1_DATA3	0x59
+		>;
+	};
 };
 
 &iomuxc_lpsr {
@@ -84,4 +106,10 @@
 			MX7D_PAD_LPSR_GPIO1_IO04__GPIO1_IO4	0x4000007f
 		>;
 	};
+
+	pinctrl_cd_usdhc1: usdhc1-cd-grp {
+		fsl,pins = <
+			MX7D_PAD_LPSR_GPIO1_IO00__GPIO1_IO0	0x59 /* CD */
+		>;
+	};
 };
-- 
2.20.1

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

* [U-Boot] [PATCH v1 6/9] configs: colibri_imx7: use DM_MMC
  2019-01-06 21:00 [U-Boot] [PATCH v1 0/9] arm: Colibri iMX7 fixes and DM_MMC conversion Stefan Agner
                   ` (4 preceding siblings ...)
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 5/9] arm: dts: imx7: colibri: add usdhci peripherals to " Stefan Agner
@ 2019-01-06 21:00 ` Stefan Agner
  2019-01-06 23:41   ` Marcel Ziswiler
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 7/9] colibri_imx7: drop legacy usdhc support Stefan Agner
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 23+ messages in thread
From: Stefan Agner @ 2019-01-06 21:00 UTC (permalink / raw)
  To: u-boot

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

Now that device tree is in place use DM_MMC for Colibri iMX7
devices.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
---

 configs/colibri_imx7_defconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configs/colibri_imx7_defconfig b/configs/colibri_imx7_defconfig
index 0c9467e136..af976bab12 100644
--- a/configs/colibri_imx7_defconfig
+++ b/configs/colibri_imx7_defconfig
@@ -49,6 +49,7 @@ CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_DFU_MMC=y
 CONFIG_DM_GPIO=y
 CONFIG_DM_I2C=y
+CONFIG_DM_MMC=y
 CONFIG_FSL_ESDHC=y
 CONFIG_MTD=y
 CONFIG_NAND=y
@@ -63,7 +64,6 @@ CONFIG_DM_PMIC=y
 CONFIG_PMIC_RN5T567=y
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_STORAGE=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] 23+ messages in thread

* [U-Boot] [PATCH v1 7/9] colibri_imx7: drop legacy usdhc support
  2019-01-06 21:00 [U-Boot] [PATCH v1 0/9] arm: Colibri iMX7 fixes and DM_MMC conversion Stefan Agner
                   ` (5 preceding siblings ...)
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 6/9] configs: colibri_imx7: use DM_MMC Stefan Agner
@ 2019-01-06 21:00 ` Stefan Agner
  2019-01-06 23:43   ` Marcel Ziswiler
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 8/9] configs: colibri_imx7: enable CAAM driver Stefan Agner
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 9/9] configs: add default configuraiton for Colibri iMX7 with eMMC Stefan Agner
  8 siblings, 1 reply; 23+ messages in thread
From: Stefan Agner @ 2019-01-06 21:00 UTC (permalink / raw)
  To: u-boot

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

Drop legacy pinmux/usdhc board configuration.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
---

 board/toradex/colibri_imx7/colibri_imx7.c | 97 -----------------------
 1 file changed, 97 deletions(-)

diff --git a/board/toradex/colibri_imx7/colibri_imx7.c b/board/toradex/colibri_imx7/colibri_imx7.c
index a4c99626b4..392fda92da 100644
--- a/board/toradex/colibri_imx7/colibri_imx7.c
+++ b/board/toradex/colibri_imx7/colibri_imx7.c
@@ -33,9 +33,6 @@ DECLARE_GLOBAL_DATA_PTR;
 #define UART_PAD_CTRL  (PAD_CTL_DSE_3P3V_49OHM | \
 	PAD_CTL_PUS_PU100KOHM | PAD_CTL_HYS)
 
-#define USDHC_PAD_CTRL (PAD_CTL_DSE_3P3V_32OHM | PAD_CTL_SRE_SLOW | \
-	PAD_CTL_HYS | PAD_CTL_PUE | PAD_CTL_PUS_PU47KOHM)
-
 #define ENET_PAD_CTRL  (PAD_CTL_PUS_PU100KOHM | PAD_CTL_DSE_3P3V_49OHM)
 #define ENET_PAD_CTRL_MII  (PAD_CTL_DSE_3P3V_32OHM)
 
@@ -64,17 +61,6 @@ static iomux_v3_cfg_t const uart1_pads[] = {
 	MX7D_PAD_SAI2_TX_SYNC__UART1_DTE_RTS | MUX_PAD_CTRL(UART_PAD_CTRL),
 };
 
-static iomux_v3_cfg_t const usdhc1_pads[] = {
-	MX7D_PAD_SD1_CLK__SD1_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD1_CMD__SD1_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD1_DATA0__SD1_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD1_DATA1__SD1_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD1_DATA2__SD1_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD1_DATA3__SD1_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-
-	MX7D_PAD_GPIO1_IO00__GPIO1_IO0 | MUX_PAD_CTRL(NO_PAD_CTRL),
-};
-
 #ifdef CONFIG_USB_EHCI_MX7
 static iomux_v3_cfg_t const usb_cdet_pads[] = {
 	MX7D_PAD_ENET1_CRS__GPIO7_IO14 | MUX_PAD_CTRL(NO_PAD_CTRL),
@@ -109,24 +95,6 @@ static void setup_gpmi_nand(void)
 }
 #endif
 
-#ifdef CONFIG_TARGET_COLIBRI_IMX7_EMMC
-static iomux_v3_cfg_t const usdhc3_emmc_pads[] = {
-	MX7D_PAD_SD3_CLK__SD3_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_CMD__SD3_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_DATA0__SD3_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_DATA1__SD3_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_DATA2__SD3_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_DATA3__SD3_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_DATA4__SD3_DATA4 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_DATA5__SD3_DATA5 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_DATA6__SD3_DATA6 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_DATA7__SD3_DATA7 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_STROBE__SD3_STROBE	 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-
-	MX7D_PAD_SD3_RESET_B__GPIO6_IO11 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-};
-#endif
-
 #ifdef CONFIG_VIDEO_MXS
 static iomux_v3_cfg_t const lcd_pads[] = {
 	MX7D_PAD_LCD_CLK__LCD_CLK | MUX_PAD_CTRL(LCD_PAD_CTRL),
@@ -211,71 +179,6 @@ 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(1, 0)
-
-static struct fsl_esdhc_cfg usdhc_cfg[] = {
-#ifdef CONFIG_TARGET_COLIBRI_IMX7_EMMC
-	{USDHC3_BASE_ADDR},
-#endif
-	{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;
-#ifdef CONFIG_TARGET_COLIBRI_IMX7_EMMC
-	case USDHC3_BASE_ADDR:
-		ret = 1;
-		break;
-#endif
-	}
-
-	return ret;
-}
-
-int board_mmc_init(bd_t *bis)
-{
-	int i, ret;
-	/* USDHC1 is mmc0, USDHC3 is mmc1 */
-	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;
-#ifdef CONFIG_TARGET_COLIBRI_IMX7_EMMC
-		case 1:
-			imx_iomux_v3_setup_multiple_pads(usdhc3_emmc_pads,
-				ARRAY_SIZE(usdhc3_emmc_pads));
-			usdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
-			break;
-#endif
-		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
 int board_eth_init(bd_t *bis)
 {
-- 
2.20.1

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

* [U-Boot] [PATCH v1 8/9] configs: colibri_imx7: enable CAAM driver
  2019-01-06 21:00 [U-Boot] [PATCH v1 0/9] arm: Colibri iMX7 fixes and DM_MMC conversion Stefan Agner
                   ` (6 preceding siblings ...)
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 7/9] colibri_imx7: drop legacy usdhc support Stefan Agner
@ 2019-01-06 21:00 ` Stefan Agner
  2019-01-06 23:45   ` Marcel Ziswiler
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 9/9] configs: add default configuraiton for Colibri iMX7 with eMMC Stefan Agner
  8 siblings, 1 reply; 23+ messages in thread
From: Stefan Agner @ 2019-01-06 21:00 UTC (permalink / raw)
  To: u-boot

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

Access to CAAM in non-secure mode must be enabled by the boot
loader first. The U-Boot CAAM driver enables access to CAAM in
non-secure mode by default. Hence enable the CAAM driver to
allow Linux accessing CAAM directly. This prevents error
messages like the following on Linux boot:
  caam 30900000.caam: Entropy delay = 3200
  caam 30900000.caam: failed to acquire DECO 0
  caam 30900000.caam: failed to instantiate RNG

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
---

 configs/colibri_imx7_defconfig | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/configs/colibri_imx7_defconfig b/configs/colibri_imx7_defconfig
index af976bab12..c6fd7f3f4e 100644
--- a/configs/colibri_imx7_defconfig
+++ b/configs/colibri_imx7_defconfig
@@ -2,9 +2,11 @@ CONFIG_ARM=y
 CONFIG_SYS_THUMB_BUILD=y
 CONFIG_ARCH_MX7=y
 CONFIG_SYS_TEXT_BASE=0x87800000
+CONFIG_SECURE_BOOT=y
 CONFIG_TARGET_COLIBRI_IMX7=y
 CONFIG_IMX_RDC=y
 CONFIG_IMX_BOOTAUX=y
+# CONFIG_CMD_DEKBLOB is not set
 CONFIG_ENV_VARS_UBOOT_CONFIG=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri_imx7/imximage.cfg,MX7D"
@@ -35,6 +37,7 @@ CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_BMP=y
 CONFIG_CMD_CACHE=y
+# CONFIG_CMD_HASH is not set
 CONFIG_CMD_EXT4=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
@@ -46,6 +49,7 @@ CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="imx7-colibri-rawnand"
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_FSL_CAAM=y
 CONFIG_DFU_MMC=y
 CONFIG_DM_GPIO=y
 CONFIG_DM_I2C=y
-- 
2.20.1

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

* [U-Boot] [PATCH v1 9/9] configs: add default configuraiton for Colibri iMX7 with eMMC
  2019-01-06 21:00 [U-Boot] [PATCH v1 0/9] arm: Colibri iMX7 fixes and DM_MMC conversion Stefan Agner
                   ` (7 preceding siblings ...)
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 8/9] configs: colibri_imx7: enable CAAM driver Stefan Agner
@ 2019-01-06 21:00 ` Stefan Agner
  2019-01-06 23:49   ` Marcel Ziswiler
  8 siblings, 1 reply; 23+ messages in thread
From: Stefan Agner @ 2019-01-06 21:00 UTC (permalink / raw)
  To: u-boot

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

Add a default configuration for Colibri iMX7D 1GB (with eMMC
NAND flash).

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
---

 configs/colibri_imx7_emmc_defconfig | 65 +++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)
 create mode 100644 configs/colibri_imx7_emmc_defconfig

diff --git a/configs/colibri_imx7_emmc_defconfig b/configs/colibri_imx7_emmc_defconfig
new file mode 100644
index 0000000000..5bd8ac943c
--- /dev/null
+++ b/configs/colibri_imx7_emmc_defconfig
@@ -0,0 +1,65 @@
+CONFIG_ARM=y
+CONFIG_SYS_THUMB_BUILD=y
+CONFIG_ARCH_MX7=y
+CONFIG_SYS_TEXT_BASE=0x87800000
+CONFIG_SECURE_BOOT=y
+CONFIG_TARGET_COLIBRI_IMX7=y
+CONFIG_TARGET_COLIBRI_IMX7_EMMC=y
+CONFIG_IMX_RDC=y
+CONFIG_IMX_BOOTAUX=y
+# CONFIG_CMD_DEKBLOB is not set
+CONFIG_ENV_VARS_UBOOT_CONFIG=y
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri_imx7/imximage.cfg,MX7D"
+CONFIG_BOOTDELAY=1
+# CONFIG_CONSOLE_MUX is not set
+CONFIG_SYS_CONSOLE_IS_IN_ENV=y
+# CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_HUSH_PARSER=y
+CONFIG_SYS_PROMPT="Colibri iMX7 # "
+# CONFIG_CMD_BOOTD is not set
+CONFIG_CMD_BOOTZ=y
+# CONFIG_CMD_IMI is not set
+# CONFIG_CMD_XIMG is not set
+CONFIG_CMD_ASKENV=y
+CONFIG_CMD_MEMTEST=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_I2C=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_USB_MASS_STORAGE=y
+CONFIG_CMD_DHCP=y
+CONFIG_CMD_MII=y
+CONFIG_CMD_PING=y
+CONFIG_CMD_BMP=y
+CONFIG_CMD_CACHE=y
+# CONFIG_CMD_HASH is not set
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_FAT=y
+CONFIG_CMD_FS_GENERIC=y
+CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="imx7-colibri-emmc"
+CONFIG_ENV_IS_IN_MMC=y
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_FSL_CAAM=y
+CONFIG_DM_GPIO=y
+CONFIG_DM_I2C=y
+CONFIG_DM_MMC=y
+CONFIG_FSL_ESDHC=y
+CONFIG_PHYLIB=y
+CONFIG_PHY_MICREL=y
+CONFIG_MII=y
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_IMX7=y
+CONFIG_DM_PMIC=y
+CONFIG_PMIC_RN5T567=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_MANUFACTURER="Toradex"
+CONFIG_USB_GADGET_VENDOR_NUM=0x1b67
+CONFIG_USB_GADGET_PRODUCT_NUM=0x4000
+CONFIG_CI_UDC=y
+CONFIG_USB_GADGET_DOWNLOAD=y
+CONFIG_VIDEO=y
+CONFIG_OF_LIBFDT_OVERLAY=y
-- 
2.20.1

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

* [U-Boot] [PATCH v1 1/9] colibri_imx7: fix boot commands
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 1/9] colibri_imx7: fix boot commands Stefan Agner
@ 2019-01-06 22:56   ` Marcel Ziswiler
  0 siblings, 0 replies; 23+ messages in thread
From: Marcel Ziswiler @ 2019-01-06 22:56 UTC (permalink / raw)
  To: u-boot

On Sun, 2019-01-06 at 22:00 +0100, Stefan Agner wrote:
> From: Stefan Agner <stefan.agner@toradex.com>
> 
> Fix mixed up boot commands between raw NAND and eMMC variant. Also
> make sure that the boot_file is defined for the eMMC boot command.
> 
> Fixes: a62c60610f51 ("colibri_imx7_emmc: add Colibri iMX7D 1GB (eMMC)
> module support")
> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>

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

> ---
> 
>  include/configs/colibri_imx7.h | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/include/configs/colibri_imx7.h
> b/include/configs/colibri_imx7.h
> index c31cf2888a..5a4b9801cb 100644
> --- a/include/configs/colibri_imx7.h
> +++ b/include/configs/colibri_imx7.h
> @@ -110,13 +110,13 @@
>  		"run fdt_fixup && bootz ${kernel_addr_r} -
> ${fdt_addr_r}\0" \
>  
>  #if defined(CONFIG_TARGET_COLIBRI_IMX7_NAND)
> -#define CONFIG_BOOTCOMMAND "run emmcboot ; echo ; echo emmcboot
> failed ; " \
> +#define CONFIG_BOOTCOMMAND "run ubiboot ; echo ; echo ubiboot failed
> ; " \
>  	"setenv fdtfile ${soc}-colibri-${fdt_board}.dtb && run
> distro_bootcmd;"
>  #define MODULE_EXTRA_ENV_SETTINGS \
>  	"mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \
>  	UBI_BOOTCMD
>  #elif defined(CONFIG_TARGET_COLIBRI_IMX7_EMMC)
> -#define CONFIG_BOOTCOMMAND "run ubiboot ; echo ; echo ubiboot failed
> ; " \
> +#define CONFIG_BOOTCOMMAND "run emmcboot ; echo ; echo emmcboot
> failed ; " \
>  	"setenv fdtfile ${soc}-colibri-emmc-${fdt_board}.dtb && run
> distro_bootcmd;"
>  #define MODULE_EXTRA_ENV_SETTINGS \
>  	"variant=-emmc\0" \
> @@ -143,6 +143,7 @@
>  	NFS_BOOTCMD \
>  	SD_BOOTCMD \
>  	MODULE_EXTRA_ENV_SETTINGS \
> +	"boot_file=zImage\0" \
>  	"console=ttymxc0\0" \
>  	"defargs=\0" \
>  	"fdt_board=eval-v3\0" \

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

* [U-Boot] [PATCH v1 2/9] arm: dts: imx7: colibri: split dt for raw NAND and eMMC devices
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 2/9] arm: dts: imx7: colibri: split dt for raw NAND and eMMC devices Stefan Agner
@ 2019-01-06 23:18   ` Marcel Ziswiler
  2019-01-07 16:33     ` Stefan Agner
  0 siblings, 1 reply; 23+ messages in thread
From: Marcel Ziswiler @ 2019-01-06 23:18 UTC (permalink / raw)
  To: u-boot

On Sun, 2019-01-06 at 22:00 +0100, Stefan Agner wrote:
> From: Stefan Agner <stefan.agner@toradex.com>
> 
> In preparation of adding CONFIG_DM_MMC support use separate device
> trees for raw NAND and eMMC devices.
> 
> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
> ---
> 
>  arch/arm/dts/imx7-colibri-emmc.dts            | 16 +++++++
>  arch/arm/dts/imx7-colibri-rawnand.dts         | 46
> +++++++++++++++++++
>  .../{imx7-colibri.dts => imx7-colibri.dtsi}   | 39 +---------------

I believe renaming that one also needs changes in resp. Makefile
otherwise leading to the following:

make[3]: *** No rule to make target 'arch/arm/dts/imx7-colibri.dtb',
needed by 'dtbs'.  Stop.

Plus you may want to add the eMMC one as well e.g. as follows:

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index dda4e59491..9596b2a64f 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -458,7 +458,8 @@ dtb-$(CONFIG_MX6UL) += \
 
 dtb-$(CONFIG_MX6ULL) += imx6ull-14x14-evk.dtb
 
-dtb-$(CONFIG_MX7) += imx7-colibri.dtb \
+dtb-$(CONFIG_MX7) += imx7-colibri-emmc.dtb \
+       imx7-colibri-rawnand.dtb \
        imx7d-sdb.dtb \
        imx7d-sdb-qspi.dtb

BTW: Remember, I am not too big of a fan of renaming stuff and
everywhere else we so far did not call anything -rawnand as of yet.
However, in general I agree that this would be more clear and if you do
clean-up the rest of the world(TM) in a similar fashion I am OK with
it.

>  board/toradex/colibri_imx7/MAINTAINERS        |  3 ++
>  configs/colibri_imx7_defconfig                |  2 +-
>  5 files changed, 67 insertions(+), 39 deletions(-)
>  create mode 100644 arch/arm/dts/imx7-colibri-emmc.dts
>  create mode 100644 arch/arm/dts/imx7-colibri-rawnand.dts
>  rename arch/arm/dts/{imx7-colibri.dts => imx7-colibri.dtsi} (65%)
> 
> diff --git a/arch/arm/dts/imx7-colibri-emmc.dts b/arch/arm/dts/imx7-
> colibri-emmc.dts
> new file mode 100644
> index 0000000000..295ca05916
> --- /dev/null
> +++ b/arch/arm/dts/imx7-colibri-emmc.dts
> @@ -0,0 +1,16 @@
> +// SPDX-License-Identifier: GPL-2.0+ OR X11

Don't we rather want GPL-2.0 OR MIT?

> +/*
> + * Copyright 2019 Toradex AG
> + */
> +
> +/dts-v1/;
> +#include "imx7-colibri.dtsi"
> +
> +/ {
> +	model = "Toradex Colibri iMX7D 1GB (eMMC)";
> +	compatible = "toradex,imx7d-colibri-emmc", "fsl,imx7d";
> +
> +	chosen {
> +		stdout-path = &uart1;
> +	};
> +};

I guess the meat-on-the-bone will follow (;-p).

> diff --git a/arch/arm/dts/imx7-colibri-rawnand.dts
> b/arch/arm/dts/imx7-colibri-rawnand.dts
> new file mode 100644
> index 0000000000..4eb86fb011
> --- /dev/null
> +++ b/arch/arm/dts/imx7-colibri-rawnand.dts
> @@ -0,0 +1,46 @@
> +// SPDX-License-Identifier: GPL-2.0+ OR X11

Dito.

> +/*
> + * Copyright 2019 Toradex AG
> + */
> +
> +/dts-v1/;
> +#include "imx7-colibri.dtsi"
> +
> +/ {
> +	model = "Toradex Colibri iMX7S/D";
> +	compatible = "toradex,imx7-colibri", "fsl,imx7";
> +
> +	chosen {
> +		stdout-path = &uart1;
> +	};
> +};
> +
> +&gpmi {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_gpmi_nand>;
> +	,use-minimum-ecc;
> +	nand-on-flash-bbt;
> +	-ecc-mode = "hw";
> +	status = "okay";
> +};
> +
> +&iomuxc {
> +	pinctrl_gpmi_nand: gpmi-nand-grp {
> +		fsl,pins = <
> +			MX7D_PAD_SD3_CLK__NAND_CLE		0x71
> +			MX7D_PAD_SD3_CMD__NAND_ALE		0x71
> +			MX7D_PAD_SAI1_TX_BCLK__NAND_CE0_B	0x71
> +			MX7D_PAD_SAI1_TX_DATA__NAND_READY_B	0x74
> +			MX7D_PAD_SD3_STROBE__NAND_RE_B		0x71
> +			MX7D_PAD_SD3_RESET_B__NAND_WE_B		0x71
> +			MX7D_PAD_SD3_DATA0__NAND_DATA00		0x71
> +			MX7D_PAD_SD3_DATA1__NAND_DATA01		0x71
> +			MX7D_PAD_SD3_DATA2__NAND_DATA02		0x71
> +			MX7D_PAD_SD3_DATA3__NAND_DATA03		0x71
> +			MX7D_PAD_SD3_DATA4__NAND_DATA04		0x71
> +			MX7D_PAD_SD3_DATA5__NAND_DATA05		0x71
> +			MX7D_PAD_SD3_DATA6__NAND_DATA06		0x71
> +			MX7D_PAD_SD3_DATA7__NAND_DATA07		0x71
> +		>;
> +	};
> +};
> diff --git a/arch/arm/dts/imx7-colibri.dts b/arch/arm/dts/imx7-
> colibri.dtsi
> similarity index 65%
> rename from arch/arm/dts/imx7-colibri.dts
> rename to arch/arm/dts/imx7-colibri.dtsi
> index dca501be25..47295117aa 100644
> --- a/arch/arm/dts/imx7-colibri.dts
> +++ b/arch/arm/dts/imx7-colibri.dtsi
> @@ -1,30 +1,12 @@
>  // SPDX-License-Identifier: GPL-2.0+ OR X11
>  /*
> - * Copyright 2016 Toradex AG
> + * Copyright 2016-2019 Toradex AG
>   */
>  
>  /dts-v1/;
>  #include <dt-bindings/gpio/gpio.h>
>  #include "imx7d.dtsi"
>  
> -/ {
> -	model = "Toradex Colibri iMX7S/D";
> -	compatible = "toradex,imx7-colibri", "fsl,imx7";
> -
> -	chosen {
> -		stdout-path = &uart1;
> -	};
> -};
> -
> -&gpmi {
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&pinctrl_gpmi_nand>;
> -	fsl,use-minimum-ecc;
> -	nand-on-flash-bbt;
> -	nand-ecc-mode = "hw";
> -	status = "okay";
> -};
> -
>  &i2c1 {
>  	pinctrl-names = "default", "gpio";
>  	pinctrl-0 = <&pinctrl_i2c1>;
> @@ -57,25 +39,6 @@
>  };
>  
>  &iomuxc {
> -	pinctrl_gpmi_nand: gpmi-nand-grp {
> -		fsl,pins = <
> -			MX7D_PAD_SD3_CLK__NAND_CLE		0x71
> -			MX7D_PAD_SD3_CMD__NAND_ALE		0x71
> -			MX7D_PAD_SAI1_TX_BCLK__NAND_CE0_B	0x71
> -			MX7D_PAD_SAI1_TX_DATA__NAND_READY_B	0x74
> -			MX7D_PAD_SD3_STROBE__NAND_RE_B		0x71
> -			MX7D_PAD_SD3_RESET_B__NAND_WE_B		0x71
> -			MX7D_PAD_SD3_DATA0__NAND_DATA00		0x71
> -			MX7D_PAD_SD3_DATA1__NAND_DATA01		0x71
> -			MX7D_PAD_SD3_DATA2__NAND_DATA02		0x71
> -			MX7D_PAD_SD3_DATA3__NAND_DATA03		0x71
> -			MX7D_PAD_SD3_DATA4__NAND_DATA04		0x71
> -			MX7D_PAD_SD3_DATA5__NAND_DATA05		0x71
> -			MX7D_PAD_SD3_DATA6__NAND_DATA06		0x71
> -			MX7D_PAD_SD3_DATA7__NAND_DATA07		0x71
> -		>;
> -	};
> -
>  	pinctrl_i2c4: i2c4-grp {
>  		fsl,pins = <
>  			MX7D_PAD_ENET1_RGMII_TD3__I2C4_SDA	0x400
> 0007f
> diff --git a/board/toradex/colibri_imx7/MAINTAINERS
> b/board/toradex/colibri_imx7/MAINTAINERS
> index 9c1d42aa8c..f55f8045f4 100644
> --- a/board/toradex/colibri_imx7/MAINTAINERS
> +++ b/board/toradex/colibri_imx7/MAINTAINERS
> @@ -8,3 +8,6 @@ F:	board/toradex/colibri_imx7/
>  F:	include/configs/colibri_imx7.h
>  F:	configs/colibri_imx7_defconfig
>  F:	configs/colibri_imx7_emmc_defconfig

I guess that one follows later as well (;-p).

> +F:	arch/arm/dts/imx7-colibri.dtsi
> +F:	arch/arm/dts/imx7-colibri-emmc.dts
> +F:	arch/arm/dts/imx7-colibri-rawnand.dts
> diff --git a/configs/colibri_imx7_defconfig
> b/configs/colibri_imx7_defconfig
> index 7b496bcea9..7441102ed4 100644
> --- a/configs/colibri_imx7_defconfig
> +++ b/configs/colibri_imx7_defconfig
> @@ -43,7 +43,7 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=gpmi-
> nand:512k(mx7-bcb),1536k(u-boot1)ro,1536k
>  CONFIG_CMD_UBI=y
>  CONFIG_OF_CONTROL=y
>  CONFIG_OF_EMBED=y
> -CONFIG_DEFAULT_DEVICE_TREE="imx7-colibri"
> +CONFIG_DEFAULT_DEVICE_TREE="imx7-colibri-rawnand"
>  CONFIG_ENV_IS_IN_NAND=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DFU_MMC=y

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

* [U-Boot] [PATCH v1 3/9] configs: colibri_imx7: enable DM for raw NAND devices
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 3/9] configs: colibri_imx7: enable DM for raw NAND devices Stefan Agner
@ 2019-01-06 23:25   ` Marcel Ziswiler
  2019-01-07 16:36     ` Stefan Agner
  0 siblings, 1 reply; 23+ messages in thread
From: Marcel Ziswiler @ 2019-01-06 23:25 UTC (permalink / raw)
  To: u-boot

On Sun, 2019-01-06 at 22:00 +0100, Stefan Agner wrote:
> From: Stefan Agner <stefan.agner@toradex.com>
> 
> Use DM and device trees for raw NAND devices by default. This
> fixes -74 NAND read errors since it makes sure the ECC settings
> are the same as used in Linux and our downstream U-Boot.
> 
> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
> ---
> 
>  configs/colibri_imx7_defconfig | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/configs/colibri_imx7_defconfig
> b/configs/colibri_imx7_defconfig
> index 7441102ed4..3aaf1a417d 100644
> --- a/configs/colibri_imx7_defconfig
> +++ b/configs/colibri_imx7_defconfig
> @@ -25,6 +25,7 @@ CONFIG_CMD_DFU=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
> @@ -50,7 +51,9 @@ CONFIG_DFU_MMC=y
>  CONFIG_DM_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_FSL_ESDHC=y
> +CONFIG_MTD=y
>  CONFIG_NAND=y
> +CONFIG_NAND_MXS_DT=y
>  CONFIG_MTD_UBI_FASTMAP=y
>  CONFIG_PHYLIB=y
>  CONFIG_PHY_MICREL=y

We might want to add the following as well:

CONFIG_DFU_NAND=y

Plus I do not understand why we do not use CONFIG_DISTRO_DEFAULTS which would
include a lot of our now manually picked configuration items.

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

* [U-Boot] [PATCH v1 4/9] configs: colibri_imx7: use separate device tree
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 4/9] configs: colibri_imx7: use separate device tree Stefan Agner
@ 2019-01-06 23:26   ` Marcel Ziswiler
  0 siblings, 0 replies; 23+ messages in thread
From: Marcel Ziswiler @ 2019-01-06 23:26 UTC (permalink / raw)
  To: u-boot

On Sun, 2019-01-06 at 22:00 +0100, Stefan Agner wrote:
> From: Stefan Agner <stefan.agner@toradex.com>
> 
> Use OF_SEPARATE as suggested by the build system.
> 
> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>

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

> ---
> 
>  configs/colibri_imx7_defconfig | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/configs/colibri_imx7_defconfig
> b/configs/colibri_imx7_defconfig
> index 3aaf1a417d..0c9467e136 100644
> --- a/configs/colibri_imx7_defconfig
> +++ b/configs/colibri_imx7_defconfig
> @@ -43,7 +43,6 @@ CONFIG_MTDIDS_DEFAULT="nand0=gpmi-nand"
>  CONFIG_MTDPARTS_DEFAULT="mtdparts=gpmi-nand:512k(mx7-bcb),1536k(u-
> boot1)ro,1536k(u-boot2)ro,512k(u-boot-env),-(ubi)"
>  CONFIG_CMD_UBI=y
>  CONFIG_OF_CONTROL=y
> -CONFIG_OF_EMBED=y
>  CONFIG_DEFAULT_DEVICE_TREE="imx7-colibri-rawnand"
>  CONFIG_ENV_IS_IN_NAND=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y

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

* [U-Boot] [PATCH v1 5/9] arm: dts: imx7: colibri: add usdhci peripherals to device tree
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 5/9] arm: dts: imx7: colibri: add usdhci peripherals to " Stefan Agner
@ 2019-01-06 23:39   ` Marcel Ziswiler
  0 siblings, 0 replies; 23+ messages in thread
From: Marcel Ziswiler @ 2019-01-06 23:39 UTC (permalink / raw)
  To: u-boot

On Sun, 2019-01-06 at 22:00 +0100, Stefan Agner wrote:
> From: Stefan Agner <stefan.agner@toradex.com>
> 
> Add usdhci peripherals to device tree. This allows to use DM_MMC
> for Colibri iMX7 devices.
> 
> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
> ---
> 
>  arch/arm/dts/imx7-colibri-emmc.dts    | 69
> +++++++++++++++++++++++++++
>  arch/arm/dts/imx7-colibri-rawnand.dts |  4 ++
>  arch/arm/dts/imx7-colibri.dtsi        | 28 +++++++++++
>  3 files changed, 101 insertions(+)
> 
> diff --git a/arch/arm/dts/imx7-colibri-emmc.dts b/arch/arm/dts/imx7-
> colibri-emmc.dts
> index 295ca05916..8cf8befc7f 100644
> --- a/arch/arm/dts/imx7-colibri-emmc.dts
> +++ b/arch/arm/dts/imx7-colibri-emmc.dts
> @@ -10,7 +10,76 @@
>  	model = "Toradex Colibri iMX7D 1GB (eMMC)";
>  	compatible = "toradex,imx7d-colibri-emmc", "fsl,imx7d";
>  
> +	aliases {
> +		mmc0 = &usdhc3;
> +		mmc1 = &usdhc1;
> +	};
> +
>  	chosen {
>  		stdout-path = &uart1;
>  	};
>  };
> +
> +&usdhc3 {
> +	pinctrl-names = "default", "state_100mhz", "state_200mhz";
> +	pinctrl-0 = <&pinctrl_usdhc3>;
> +	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
> +	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;

Excited, you may have gotten those higher speeds to work as well which
I failed to but nay also only DDR52 so we could just leave those later
two away.

> +	assigned-clocks = <&clks IMX7D_USDHC3_ROOT_CLK>;
> +	assigned-clock-rates = <400000000>;

Plus above two.

> +	bus-width = <8>;
> +	fsl,tuning-step = <2>;

Plus above.

> +	non-removable;
> +	sdhci-caps-mask = <0x80000000 0x0>;

And above.

> +	status = "okay";
> +};
> +
> +&iomuxc {
> +	pinctrl_usdhc3: usdhc3grp {
> +		fsl,pins = <
> +			MX7D_PAD_SD3_CMD__SD3_CMD		0x59
> +			MX7D_PAD_SD3_CLK__SD3_CLK		0x19
> +			MX7D_PAD_SD3_DATA0__SD3_DATA0		0x59
> +			MX7D_PAD_SD3_DATA1__SD3_DATA1		0x59
> +			MX7D_PAD_SD3_DATA2__SD3_DATA2		0x59
> +			MX7D_PAD_SD3_DATA3__SD3_DATA3		0x59
> +			MX7D_PAD_SD3_DATA4__SD3_DATA4		0x59
> +			MX7D_PAD_SD3_DATA5__SD3_DATA5		0x59
> +			MX7D_PAD_SD3_DATA6__SD3_DATA6		0x59
> +			MX7D_PAD_SD3_DATA7__SD3_DATA7		0x59
> +			MX7D_PAD_SD3_STROBE__SD3_STROBE         0x19
> +		>;
> +	};
> +
> +	pinctrl_usdhc3_100mhz: usdhc3grp_100mhz {
> +		fsl,pins = <
> +			MX7D_PAD_SD3_CMD__SD3_CMD		0x5a
> +			MX7D_PAD_SD3_CLK__SD3_CLK		0x1a
> +			MX7D_PAD_SD3_DATA0__SD3_DATA0		0x5a
> +			MX7D_PAD_SD3_DATA1__SD3_DATA1		0x5a
> +			MX7D_PAD_SD3_DATA2__SD3_DATA2		0x5a
> +			MX7D_PAD_SD3_DATA3__SD3_DATA3		0x5a
> +			MX7D_PAD_SD3_DATA4__SD3_DATA4		0x5a
> +			MX7D_PAD_SD3_DATA5__SD3_DATA5		0x5a
> +			MX7D_PAD_SD3_DATA6__SD3_DATA6		0x5a
> +			MX7D_PAD_SD3_DATA7__SD3_DATA7		0x5a
> +			MX7D_PAD_SD3_STROBE__SD3_STROBE         0x1a
> +		>;
> +	};
> +
> +	pinctrl_usdhc3_200mhz: usdhc3grp_200mhz {
> +		fsl,pins = <
> +			MX7D_PAD_SD3_CMD__SD3_CMD		0x5b
> +			MX7D_PAD_SD3_CLK__SD3_CLK		0x1b
> +			MX7D_PAD_SD3_DATA0__SD3_DATA0		0x5b
> +			MX7D_PAD_SD3_DATA1__SD3_DATA1		0x5b
> +			MX7D_PAD_SD3_DATA2__SD3_DATA2		0x5b
> +			MX7D_PAD_SD3_DATA3__SD3_DATA3		0x5b
> +			MX7D_PAD_SD3_DATA4__SD3_DATA4		0x5b
> +			MX7D_PAD_SD3_DATA5__SD3_DATA5		0x5b
> +			MX7D_PAD_SD3_DATA6__SD3_DATA6		0x5b
> +			MX7D_PAD_SD3_DATA7__SD3_DATA7		0x5b
> +			MX7D_PAD_SD3_STROBE__SD3_STROBE         0x1b
> +		>;
> +	};

Plus of course the later two pinctrl groups.

> +};
> diff --git a/arch/arm/dts/imx7-colibri-rawnand.dts
> b/arch/arm/dts/imx7-colibri-rawnand.dts
> index 4eb86fb011..5d64e5ef41 100644
> --- a/arch/arm/dts/imx7-colibri-rawnand.dts
> +++ b/arch/arm/dts/imx7-colibri-rawnand.dts
> @@ -10,6 +10,10 @@
>  	model = "Toradex Colibri iMX7S/D";
>  	compatible = "toradex,imx7-colibri", "fsl,imx7";
>  
> +	aliases {
> +		mmc0 = &usdhc1;

I believe if we only have one it does not matter.

> +	};
> +
>  	chosen {
>  		stdout-path = &uart1;
>  	};
> diff --git a/arch/arm/dts/imx7-colibri.dtsi b/arch/arm/dts/imx7-
> colibri.dtsi
> index 47295117aa..3a627fc941 100644
> --- a/arch/arm/dts/imx7-colibri.dtsi
> +++ b/arch/arm/dts/imx7-colibri.dtsi
> @@ -38,6 +38,17 @@
>  	status = "okay";
>  };
>  
> +&usdhc1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_cd_usdhc1>;
> +	no-1-8-v;
> +	cd-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
> +	disable-wp;
> +	fsl,tuning-start-tap = <20>;
> +	fsl,tuning-step= <2>;

Above two also don't do anything currently.

> +	status = "okay";
> +};
> +
>  &iomuxc {
>  	pinctrl_i2c4: i2c4-grp {
>  		fsl,pins = <
> @@ -68,6 +79,17 @@
>  			MX7D_PAD_SD2_DATA0__GPIO5_IO14		0x14
> /* DTR */
>  		>;
>  	};
> +
> +	pinctrl_usdhc1: usdhc1-grp {
> +		fsl,pins = <
> +			MX7D_PAD_SD1_CMD__SD1_CMD	0x59
> +			MX7D_PAD_SD1_CLK__SD1_CLK	0x19
> +			MX7D_PAD_SD1_DATA0__SD1_DATA0	0x59
> +			MX7D_PAD_SD1_DATA1__SD1_DATA1	0x59
> +			MX7D_PAD_SD1_DATA2__SD1_DATA2	0x59
> +			MX7D_PAD_SD1_DATA3__SD1_DATA3	0x59
> +		>;
> +	};
>  };
>  
>  &iomuxc_lpsr {
> @@ -84,4 +106,10 @@
>  			MX7D_PAD_LPSR_GPIO1_IO04__GPIO1_IO4	0x400
> 0007f
>  		>;
>  	};
> +
> +	pinctrl_cd_usdhc1: usdhc1-cd-grp {
> +		fsl,pins = <
> +			MX7D_PAD_LPSR_GPIO1_IO00__GPIO1_IO0	0x59
> /* CD */
> +		>;
> +	};
>  };

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

* [U-Boot] [PATCH v1 6/9] configs: colibri_imx7: use DM_MMC
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 6/9] configs: colibri_imx7: use DM_MMC Stefan Agner
@ 2019-01-06 23:41   ` Marcel Ziswiler
  0 siblings, 0 replies; 23+ messages in thread
From: Marcel Ziswiler @ 2019-01-06 23:41 UTC (permalink / raw)
  To: u-boot

On Sun, 2019-01-06 at 22:00 +0100, Stefan Agner wrote:
> From: Stefan Agner <stefan.agner@toradex.com>
> 
> Now that device tree is in place use DM_MMC for Colibri iMX7
> devices.
> 
> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>

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

> ---
> 
>  configs/colibri_imx7_defconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/configs/colibri_imx7_defconfig
> b/configs/colibri_imx7_defconfig
> index 0c9467e136..af976bab12 100644
> --- a/configs/colibri_imx7_defconfig
> +++ b/configs/colibri_imx7_defconfig
> @@ -49,6 +49,7 @@ CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DM_GPIO=y
>  CONFIG_DM_I2C=y
> +CONFIG_DM_MMC=y
>  CONFIG_FSL_ESDHC=y
>  CONFIG_MTD=y
>  CONFIG_NAND=y
> @@ -63,7 +64,6 @@ CONFIG_DM_PMIC=y
>  CONFIG_PMIC_RN5T567=y
>  CONFIG_USB=y
>  CONFIG_USB_EHCI_HCD=y
> -CONFIG_USB_STORAGE=y
>  CONFIG_USB_GADGET=y
>  CONFIG_USB_GADGET_MANUFACTURER="Toradex"
>  CONFIG_USB_GADGET_VENDOR_NUM=0x1b67

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

* [U-Boot] [PATCH v1 7/9] colibri_imx7: drop legacy usdhc support
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 7/9] colibri_imx7: drop legacy usdhc support Stefan Agner
@ 2019-01-06 23:43   ` Marcel Ziswiler
  0 siblings, 0 replies; 23+ messages in thread
From: Marcel Ziswiler @ 2019-01-06 23:43 UTC (permalink / raw)
  To: u-boot

On Sun, 2019-01-06 at 22:00 +0100, Stefan Agner wrote:
> From: Stefan Agner <stefan.agner@toradex.com>
> 
> Drop legacy pinmux/usdhc board configuration.
> 
> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>

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

> ---
> 
>  board/toradex/colibri_imx7/colibri_imx7.c | 97 -------------------
> ----
>  1 file changed, 97 deletions(-)
> 
> diff --git a/board/toradex/colibri_imx7/colibri_imx7.c
> b/board/toradex/colibri_imx7/colibri_imx7.c
> index a4c99626b4..392fda92da 100644
> --- a/board/toradex/colibri_imx7/colibri_imx7.c
> +++ b/board/toradex/colibri_imx7/colibri_imx7.c
> @@ -33,9 +33,6 @@ DECLARE_GLOBAL_DATA_PTR;
>  #define UART_PAD_CTRL  (PAD_CTL_DSE_3P3V_49OHM | \
>  	PAD_CTL_PUS_PU100KOHM | PAD_CTL_HYS)
>  
> -#define USDHC_PAD_CTRL (PAD_CTL_DSE_3P3V_32OHM | PAD_CTL_SRE_SLOW |
> \
> -	PAD_CTL_HYS | PAD_CTL_PUE | PAD_CTL_PUS_PU47KOHM)
> -

Good catch. The rest is exactly equal to what I came up with.

>  #define ENET_PAD_CTRL  (PAD_CTL_PUS_PU100KOHM |
> PAD_CTL_DSE_3P3V_49OHM)
>  #define ENET_PAD_CTRL_MII  (PAD_CTL_DSE_3P3V_32OHM)
>  
> @@ -64,17 +61,6 @@ static iomux_v3_cfg_t const uart1_pads[] = {
>  	MX7D_PAD_SAI2_TX_SYNC__UART1_DTE_RTS |
> MUX_PAD_CTRL(UART_PAD_CTRL),
>  };
>  
> -static iomux_v3_cfg_t const usdhc1_pads[] = {
> -	MX7D_PAD_SD1_CLK__SD1_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -	MX7D_PAD_SD1_CMD__SD1_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -	MX7D_PAD_SD1_DATA0__SD1_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -	MX7D_PAD_SD1_DATA1__SD1_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -	MX7D_PAD_SD1_DATA2__SD1_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -	MX7D_PAD_SD1_DATA3__SD1_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -
> -	MX7D_PAD_GPIO1_IO00__GPIO1_IO0 | MUX_PAD_CTRL(NO_PAD_CTRL),
> -};
> -
>  #ifdef CONFIG_USB_EHCI_MX7
>  static iomux_v3_cfg_t const usb_cdet_pads[] = {
>  	MX7D_PAD_ENET1_CRS__GPIO7_IO14 | MUX_PAD_CTRL(NO_PAD_CTRL),
> @@ -109,24 +95,6 @@ static void setup_gpmi_nand(void)
>  }
>  #endif
>  
> -#ifdef CONFIG_TARGET_COLIBRI_IMX7_EMMC
> -static iomux_v3_cfg_t const usdhc3_emmc_pads[] = {
> -	MX7D_PAD_SD3_CLK__SD3_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -	MX7D_PAD_SD3_CMD__SD3_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -	MX7D_PAD_SD3_DATA0__SD3_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -	MX7D_PAD_SD3_DATA1__SD3_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -	MX7D_PAD_SD3_DATA2__SD3_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -	MX7D_PAD_SD3_DATA3__SD3_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -	MX7D_PAD_SD3_DATA4__SD3_DATA4 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -	MX7D_PAD_SD3_DATA5__SD3_DATA5 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -	MX7D_PAD_SD3_DATA6__SD3_DATA6 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -	MX7D_PAD_SD3_DATA7__SD3_DATA7 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -	MX7D_PAD_SD3_STROBE__SD3_STROBE	 |
> MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -
> -	MX7D_PAD_SD3_RESET_B__GPIO6_IO11 |
> MUX_PAD_CTRL(USDHC_PAD_CTRL),
> -};
> -#endif
> -
>  #ifdef CONFIG_VIDEO_MXS
>  static iomux_v3_cfg_t const lcd_pads[] = {
>  	MX7D_PAD_LCD_CLK__LCD_CLK | MUX_PAD_CTRL(LCD_PAD_CTRL),
> @@ -211,71 +179,6 @@ 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(1, 0)
> -
> -static struct fsl_esdhc_cfg usdhc_cfg[] = {
> -#ifdef CONFIG_TARGET_COLIBRI_IMX7_EMMC
> -	{USDHC3_BASE_ADDR},
> -#endif
> -	{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;
> -#ifdef CONFIG_TARGET_COLIBRI_IMX7_EMMC
> -	case USDHC3_BASE_ADDR:
> -		ret = 1;
> -		break;
> -#endif
> -	}
> -
> -	return ret;
> -}
> -
> -int board_mmc_init(bd_t *bis)
> -{
> -	int i, ret;
> -	/* USDHC1 is mmc0, USDHC3 is mmc1 */
> -	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;
> -#ifdef CONFIG_TARGET_COLIBRI_IMX7_EMMC
> -		case 1:
> -			imx_iomux_v3_setup_multiple_pads(usdhc3_emmc_pa
> ds,
> -				ARRAY_SIZE(usdhc3_emmc_pads));
> -			usdhc_cfg[1].sdhc_clk =
> mxc_get_clock(MXC_ESDHC3_CLK);
> -			break;
> -#endif
> -		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
>  int board_eth_init(bd_t *bis)
>  {

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

* [U-Boot] [PATCH v1 8/9] configs: colibri_imx7: enable CAAM driver
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 8/9] configs: colibri_imx7: enable CAAM driver Stefan Agner
@ 2019-01-06 23:45   ` Marcel Ziswiler
  0 siblings, 0 replies; 23+ messages in thread
From: Marcel Ziswiler @ 2019-01-06 23:45 UTC (permalink / raw)
  To: u-boot

On Sun, 2019-01-06 at 22:00 +0100, Stefan Agner wrote:
> From: Stefan Agner <stefan.agner@toradex.com>
> 
> Access to CAAM in non-secure mode must be enabled by the boot
> loader first. The U-Boot CAAM driver enables access to CAAM in
> non-secure mode by default. Hence enable the CAAM driver to
> allow Linux accessing CAAM directly. This prevents error
> messages like the following on Linux boot:
>   caam 30900000.caam: Entropy delay = 3200
>   caam 30900000.caam: failed to acquire DECO 0
>   caam 30900000.caam: failed to instantiate RNG

While I noticed that I did not (yet) look closer into it. Good catch.

> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>

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

> ---
> 
>  configs/colibri_imx7_defconfig | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/configs/colibri_imx7_defconfig
> b/configs/colibri_imx7_defconfig
> index af976bab12..c6fd7f3f4e 100644
> --- a/configs/colibri_imx7_defconfig
> +++ b/configs/colibri_imx7_defconfig
> @@ -2,9 +2,11 @@ CONFIG_ARM=y
>  CONFIG_SYS_THUMB_BUILD=y
>  CONFIG_ARCH_MX7=y
>  CONFIG_SYS_TEXT_BASE=0x87800000
> +CONFIG_SECURE_BOOT=y
>  CONFIG_TARGET_COLIBRI_IMX7=y
>  CONFIG_IMX_RDC=y
>  CONFIG_IMX_BOOTAUX=y
> +# CONFIG_CMD_DEKBLOB is not set
>  CONFIG_ENV_VARS_UBOOT_CONFIG=y
>  CONFIG_NR_DRAM_BANKS=1
>  CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri_imx7/imxi
> mage.cfg,MX7D"
> @@ -35,6 +37,7 @@ CONFIG_CMD_MII=y
>  CONFIG_CMD_PING=y
>  CONFIG_CMD_BMP=y
>  CONFIG_CMD_CACHE=y
> +# CONFIG_CMD_HASH is not set
>  CONFIG_CMD_EXT4=y
>  CONFIG_CMD_FAT=y
>  CONFIG_CMD_FS_GENERIC=y
> @@ -46,6 +49,7 @@ CONFIG_OF_CONTROL=y
>  CONFIG_DEFAULT_DEVICE_TREE="imx7-colibri-rawnand"
>  CONFIG_ENV_IS_IN_NAND=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
> +CONFIG_FSL_CAAM=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DM_GPIO=y
>  CONFIG_DM_I2C=y

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

* [U-Boot] [PATCH v1 9/9] configs: add default configuraiton for Colibri iMX7 with eMMC
  2019-01-06 21:00 ` [U-Boot] [PATCH v1 9/9] configs: add default configuraiton for Colibri iMX7 with eMMC Stefan Agner
@ 2019-01-06 23:49   ` Marcel Ziswiler
  2019-01-07 16:46     ` Stefan Agner
  0 siblings, 1 reply; 23+ messages in thread
From: Marcel Ziswiler @ 2019-01-06 23:49 UTC (permalink / raw)
  To: u-boot

On Sun, 2019-01-06 at 22:00 +0100, Stefan Agner wrote:
> From: Stefan Agner <stefan.agner@toradex.com>
> 
> Add a default configuration for Colibri iMX7D 1GB (with eMMC
> NAND flash).

Finally (;-p).

> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
> ---
> 
>  configs/colibri_imx7_emmc_defconfig | 65
> +++++++++++++++++++++++++++++
>  1 file changed, 65 insertions(+)
>  create mode 100644 configs/colibri_imx7_emmc_defconfig
> 
> diff --git a/configs/colibri_imx7_emmc_defconfig
> b/configs/colibri_imx7_emmc_defconfig
> new file mode 100644
> index 0000000000..5bd8ac943c
> --- /dev/null
> +++ b/configs/colibri_imx7_emmc_defconfig
> @@ -0,0 +1,65 @@
> +CONFIG_ARM=y
> +CONFIG_SYS_THUMB_BUILD=y
> +CONFIG_ARCH_MX7=y
> +CONFIG_SYS_TEXT_BASE=0x87800000
> +CONFIG_SECURE_BOOT=y
> +CONFIG_TARGET_COLIBRI_IMX7=y
> +CONFIG_TARGET_COLIBRI_IMX7_EMMC=y
> +CONFIG_IMX_RDC=y
> +CONFIG_IMX_BOOTAUX=y
> +# CONFIG_CMD_DEKBLOB is not set
> +CONFIG_ENV_VARS_UBOOT_CONFIG=y
> +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri_imx7/imxi
> mage.cfg,MX7D"
> +CONFIG_BOOTDELAY=1
> +# CONFIG_CONSOLE_MUX is not set
> +CONFIG_SYS_CONSOLE_IS_IN_ENV=y
> +# CONFIG_DISPLAY_BOARDINFO is not set
> +CONFIG_DISPLAY_BOARDINFO_LATE=y
> +CONFIG_HUSH_PARSER=y
> +CONFIG_SYS_PROMPT="Colibri iMX7 # "
> +# CONFIG_CMD_BOOTD is not set
> +CONFIG_CMD_BOOTZ=y
> +# CONFIG_CMD_IMI is not set
> +# CONFIG_CMD_XIMG is not set
> +CONFIG_CMD_ASKENV=y
> +CONFIG_CMD_MEMTEST=y
> +CONFIG_CMD_GPIO=y
> +CONFIG_CMD_I2C=y
> +CONFIG_CMD_MMC=y
> +CONFIG_CMD_USB=y
> +CONFIG_CMD_USB_MASS_STORAGE=y
> +CONFIG_CMD_DHCP=y
> +CONFIG_CMD_MII=y
> +CONFIG_CMD_PING=y
> +CONFIG_CMD_BMP=y
> +CONFIG_CMD_CACHE=y
> +# CONFIG_CMD_HASH is not set
> +CONFIG_CMD_EXT4=y
> +CONFIG_CMD_FAT=y
> +CONFIG_CMD_FS_GENERIC=y
> +CONFIG_OF_CONTROL=y
> +CONFIG_DEFAULT_DEVICE_TREE="imx7-colibri-emmc"
> +CONFIG_ENV_IS_IN_MMC=y
> +CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
> +CONFIG_FSL_CAAM=y
> +CONFIG_DM_GPIO=y
> +CONFIG_DM_I2C=y
> +CONFIG_DM_MMC=y
> +CONFIG_FSL_ESDHC=y
> +CONFIG_PHYLIB=y
> +CONFIG_PHY_MICREL=y
> +CONFIG_MII=y
> +CONFIG_PINCTRL=y
> +CONFIG_PINCTRL_IMX7=y
> +CONFIG_DM_PMIC=y
> +CONFIG_PMIC_RN5T567=y
> +CONFIG_USB=y
> +CONFIG_USB_EHCI_HCD=y
> +CONFIG_USB_GADGET=y
> +CONFIG_USB_GADGET_MANUFACTURER="Toradex"
> +CONFIG_USB_GADGET_VENDOR_NUM=0x1b67
> +CONFIG_USB_GADGET_PRODUCT_NUM=0x4000
> +CONFIG_CI_UDC=y
> +CONFIG_USB_GADGET_DOWNLOAD=y
> +CONFIG_VIDEO=y
> +CONFIG_OF_LIBFDT_OVERLAY=y

Again, I would use CONFIG_DISTRO_DEFAULTS as well. Plus maybe some
other goodies like CONFIG_FIT, CONFIG_CRC32_VERIFY, CONFIG_CMD_DFU,
CONFIG_CMD_GPT, CONFIG_DFU_MMC and the oldé CONFIG_FAT_WRITE.

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

* [U-Boot] [PATCH v1 2/9] arm: dts: imx7: colibri: split dt for raw NAND and eMMC devices
  2019-01-06 23:18   ` Marcel Ziswiler
@ 2019-01-07 16:33     ` Stefan Agner
  2019-01-07 20:21       ` Marcel Ziswiler
  0 siblings, 1 reply; 23+ messages in thread
From: Stefan Agner @ 2019-01-07 16:33 UTC (permalink / raw)
  To: u-boot

On 07.01.2019 00:18, Marcel Ziswiler wrote:
> On Sun, 2019-01-06 at 22:00 +0100, Stefan Agner wrote:
>> From: Stefan Agner <stefan.agner@toradex.com>
>>
>> In preparation of adding CONFIG_DM_MMC support use separate device
>> trees for raw NAND and eMMC devices.
>>
>> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
>> ---
>>
>>  arch/arm/dts/imx7-colibri-emmc.dts            | 16 +++++++
>>  arch/arm/dts/imx7-colibri-rawnand.dts         | 46
>> +++++++++++++++++++
>>  .../{imx7-colibri.dts => imx7-colibri.dtsi}   | 39 +---------------
> 
> I believe renaming that one also needs changes in resp. Makefile
> otherwise leading to the following:
> 
> make[3]: *** No rule to make target 'arch/arm/dts/imx7-colibri.dtb',
> needed by 'dtbs'.  Stop.

Good catch, I definitely need to remove imx7-colibri.dtb there.

> 
> Plus you may want to add the eMMC one as well e.g. as follows:
> 
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index dda4e59491..9596b2a64f 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -458,7 +458,8 @@ dtb-$(CONFIG_MX6UL) += \
>  
>  dtb-$(CONFIG_MX6ULL) += imx6ull-14x14-evk.dtb
>  
> -dtb-$(CONFIG_MX7) += imx7-colibri.dtb \
> +dtb-$(CONFIG_MX7) += imx7-colibri-emmc.dtb \
> +       imx7-colibri-rawnand.dtb \
>         imx7d-sdb.dtb \
>         imx7d-sdb-qspi.dtb

It seems that removing is actually sufficient. dtc/Makefile along with
CONFIG_OF_EMBED actually builds the device tree specified in the config
file automatically. Should we still add board device trees to
arch/arm/dts/Makefile?

@Stefano/ML any preference?


> 
> BTW: Remember, I am not too big of a fan of renaming stuff and
> everywhere else we so far did not call anything -rawnand as of yet.
> However, in general I agree that this would be more clear and if you do
> clean-up the rest of the world(TM) in a similar fashion I am OK with
> it.
> 

I don't _re_name, I just name :-) When we had to name the dt's in the
kernel, we did not knew that there will be an eMMC variant. It's a
different start condition here.

Also mind that device trees are named differently: Since we use the same
boot loader for i.MX 7S and 7D, I dropped a letter there too... IMHO,
renaming the dt in Linux now is too much churn. So I suggest either
leave as is in Kernel and deviate a bit in U-Boot or drop -rawnand in
U-Boot, what do you think?

--
Stefan

>>  board/toradex/colibri_imx7/MAINTAINERS        |  3 ++
>>  configs/colibri_imx7_defconfig                |  2 +-
>>  5 files changed, 67 insertions(+), 39 deletions(-)
>>  create mode 100644 arch/arm/dts/imx7-colibri-emmc.dts
>>  create mode 100644 arch/arm/dts/imx7-colibri-rawnand.dts
>>  rename arch/arm/dts/{imx7-colibri.dts => imx7-colibri.dtsi} (65%)
>>
>> diff --git a/arch/arm/dts/imx7-colibri-emmc.dts b/arch/arm/dts/imx7-
>> colibri-emmc.dts
>> new file mode 100644
>> index 0000000000..295ca05916
>> --- /dev/null
>> +++ b/arch/arm/dts/imx7-colibri-emmc.dts
>> @@ -0,0 +1,16 @@
>> +// SPDX-License-Identifier: GPL-2.0+ OR X11
> 
> Don't we rather want GPL-2.0 OR MIT?
> 
>> +/*
>> + * Copyright 2019 Toradex AG
>> + */
>> +
>> +/dts-v1/;
>> +#include "imx7-colibri.dtsi"
>> +
>> +/ {
>> +	model = "Toradex Colibri iMX7D 1GB (eMMC)";
>> +	compatible = "toradex,imx7d-colibri-emmc", "fsl,imx7d";
>> +
>> +	chosen {
>> +		stdout-path = &uart1;
>> +	};
>> +};
> 
> I guess the meat-on-the-bone will follow (;-p).
> 
>> diff --git a/arch/arm/dts/imx7-colibri-rawnand.dts
>> b/arch/arm/dts/imx7-colibri-rawnand.dts
>> new file mode 100644
>> index 0000000000..4eb86fb011
>> --- /dev/null
>> +++ b/arch/arm/dts/imx7-colibri-rawnand.dts
>> @@ -0,0 +1,46 @@
>> +// SPDX-License-Identifier: GPL-2.0+ OR X11
> 
> Dito.
> 
>> +/*
>> + * Copyright 2019 Toradex AG
>> + */
>> +
>> +/dts-v1/;
>> +#include "imx7-colibri.dtsi"
>> +
>> +/ {
>> +	model = "Toradex Colibri iMX7S/D";
>> +	compatible = "toradex,imx7-colibri", "fsl,imx7";
>> +
>> +	chosen {
>> +		stdout-path = &uart1;
>> +	};
>> +};
>> +
>> +&gpmi {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_gpmi_nand>;
>> +	,use-minimum-ecc;
>> +	nand-on-flash-bbt;
>> +	-ecc-mode = "hw";
>> +	status = "okay";
>> +};
>> +
>> +&iomuxc {
>> +	pinctrl_gpmi_nand: gpmi-nand-grp {
>> +		fsl,pins = <
>> +			MX7D_PAD_SD3_CLK__NAND_CLE		0x71
>> +			MX7D_PAD_SD3_CMD__NAND_ALE		0x71
>> +			MX7D_PAD_SAI1_TX_BCLK__NAND_CE0_B	0x71
>> +			MX7D_PAD_SAI1_TX_DATA__NAND_READY_B	0x74
>> +			MX7D_PAD_SD3_STROBE__NAND_RE_B		0x71
>> +			MX7D_PAD_SD3_RESET_B__NAND_WE_B		0x71
>> +			MX7D_PAD_SD3_DATA0__NAND_DATA00		0x71
>> +			MX7D_PAD_SD3_DATA1__NAND_DATA01		0x71
>> +			MX7D_PAD_SD3_DATA2__NAND_DATA02		0x71
>> +			MX7D_PAD_SD3_DATA3__NAND_DATA03		0x71
>> +			MX7D_PAD_SD3_DATA4__NAND_DATA04		0x71
>> +			MX7D_PAD_SD3_DATA5__NAND_DATA05		0x71
>> +			MX7D_PAD_SD3_DATA6__NAND_DATA06		0x71
>> +			MX7D_PAD_SD3_DATA7__NAND_DATA07		0x71
>> +		>;
>> +	};
>> +};
>> diff --git a/arch/arm/dts/imx7-colibri.dts b/arch/arm/dts/imx7-
>> colibri.dtsi
>> similarity index 65%
>> rename from arch/arm/dts/imx7-colibri.dts
>> rename to arch/arm/dts/imx7-colibri.dtsi
>> index dca501be25..47295117aa 100644
>> --- a/arch/arm/dts/imx7-colibri.dts
>> +++ b/arch/arm/dts/imx7-colibri.dtsi
>> @@ -1,30 +1,12 @@
>>  // SPDX-License-Identifier: GPL-2.0+ OR X11
>>  /*
>> - * Copyright 2016 Toradex AG
>> + * Copyright 2016-2019 Toradex AG
>>   */
>>
>>  /dts-v1/;
>>  #include <dt-bindings/gpio/gpio.h>
>>  #include "imx7d.dtsi"
>>
>> -/ {
>> -	model = "Toradex Colibri iMX7S/D";
>> -	compatible = "toradex,imx7-colibri", "fsl,imx7";
>> -
>> -	chosen {
>> -		stdout-path = &uart1;
>> -	};
>> -};
>> -
>> -&gpmi {
>> -	pinctrl-names = "default";
>> -	pinctrl-0 = <&pinctrl_gpmi_nand>;
>> -	fsl,use-minimum-ecc;
>> -	nand-on-flash-bbt;
>> -	nand-ecc-mode = "hw";
>> -	status = "okay";
>> -};
>> -
>>  &i2c1 {
>>  	pinctrl-names = "default", "gpio";
>>  	pinctrl-0 = <&pinctrl_i2c1>;
>> @@ -57,25 +39,6 @@
>>  };
>>
>>  &iomuxc {
>> -	pinctrl_gpmi_nand: gpmi-nand-grp {
>> -		fsl,pins = <
>> -			MX7D_PAD_SD3_CLK__NAND_CLE		0x71
>> -			MX7D_PAD_SD3_CMD__NAND_ALE		0x71
>> -			MX7D_PAD_SAI1_TX_BCLK__NAND_CE0_B	0x71
>> -			MX7D_PAD_SAI1_TX_DATA__NAND_READY_B	0x74
>> -			MX7D_PAD_SD3_STROBE__NAND_RE_B		0x71
>> -			MX7D_PAD_SD3_RESET_B__NAND_WE_B		0x71
>> -			MX7D_PAD_SD3_DATA0__NAND_DATA00		0x71
>> -			MX7D_PAD_SD3_DATA1__NAND_DATA01		0x71
>> -			MX7D_PAD_SD3_DATA2__NAND_DATA02		0x71
>> -			MX7D_PAD_SD3_DATA3__NAND_DATA03		0x71
>> -			MX7D_PAD_SD3_DATA4__NAND_DATA04		0x71
>> -			MX7D_PAD_SD3_DATA5__NAND_DATA05		0x71
>> -			MX7D_PAD_SD3_DATA6__NAND_DATA06		0x71
>> -			MX7D_PAD_SD3_DATA7__NAND_DATA07		0x71
>> -		>;
>> -	};
>> -
>>  	pinctrl_i2c4: i2c4-grp {
>>  		fsl,pins = <
>>  			MX7D_PAD_ENET1_RGMII_TD3__I2C4_SDA	0x400
>> 0007f
>> diff --git a/board/toradex/colibri_imx7/MAINTAINERS
>> b/board/toradex/colibri_imx7/MAINTAINERS
>> index 9c1d42aa8c..f55f8045f4 100644
>> --- a/board/toradex/colibri_imx7/MAINTAINERS
>> +++ b/board/toradex/colibri_imx7/MAINTAINERS
>> @@ -8,3 +8,6 @@ F:	board/toradex/colibri_imx7/
>>  F:	include/configs/colibri_imx7.h
>>  F:	configs/colibri_imx7_defconfig
>>  F:	configs/colibri_imx7_emmc_defconfig
> 
> I guess that one follows later as well (;-p).
> 
>> +F:	arch/arm/dts/imx7-colibri.dtsi
>> +F:	arch/arm/dts/imx7-colibri-emmc.dts
>> +F:	arch/arm/dts/imx7-colibri-rawnand.dts
>> diff --git a/configs/colibri_imx7_defconfig
>> b/configs/colibri_imx7_defconfig
>> index 7b496bcea9..7441102ed4 100644
>> --- a/configs/colibri_imx7_defconfig
>> +++ b/configs/colibri_imx7_defconfig
>> @@ -43,7 +43,7 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=gpmi-
>> nand:512k(mx7-bcb),1536k(u-boot1)ro,1536k
>>  CONFIG_CMD_UBI=y
>>  CONFIG_OF_CONTROL=y
>>  CONFIG_OF_EMBED=y
>> -CONFIG_DEFAULT_DEVICE_TREE="imx7-colibri"
>> +CONFIG_DEFAULT_DEVICE_TREE="imx7-colibri-rawnand"
>>  CONFIG_ENV_IS_IN_NAND=y
>>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>>  CONFIG_DFU_MMC=y

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

* [U-Boot] [PATCH v1 3/9] configs: colibri_imx7: enable DM for raw NAND devices
  2019-01-06 23:25   ` Marcel Ziswiler
@ 2019-01-07 16:36     ` Stefan Agner
  0 siblings, 0 replies; 23+ messages in thread
From: Stefan Agner @ 2019-01-07 16:36 UTC (permalink / raw)
  To: u-boot

On 07.01.2019 00:25, Marcel Ziswiler wrote:
> On Sun, 2019-01-06 at 22:00 +0100, Stefan Agner wrote:
>> From: Stefan Agner <stefan.agner@toradex.com>
>>
>> Use DM and device trees for raw NAND devices by default. This
>> fixes -74 NAND read errors since it makes sure the ECC settings
>> are the same as used in Linux and our downstream U-Boot.
>>
>> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
>> ---
>>
>>  configs/colibri_imx7_defconfig | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/configs/colibri_imx7_defconfig
>> b/configs/colibri_imx7_defconfig
>> index 7441102ed4..3aaf1a417d 100644
>> --- a/configs/colibri_imx7_defconfig
>> +++ b/configs/colibri_imx7_defconfig
>> @@ -25,6 +25,7 @@ CONFIG_CMD_DFU=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
>> @@ -50,7 +51,9 @@ CONFIG_DFU_MMC=y
>>  CONFIG_DM_GPIO=y
>>  CONFIG_DM_I2C=y
>>  CONFIG_FSL_ESDHC=y
>> +CONFIG_MTD=y
>>  CONFIG_NAND=y
>> +CONFIG_NAND_MXS_DT=y
>>  CONFIG_MTD_UBI_FASTMAP=y
>>  CONFIG_PHYLIB=y
>>  CONFIG_PHY_MICREL=y
> 
> We might want to add the following as well:
> 
> CONFIG_DFU_NAND=y
> 
> Plus I do not understand why we do not use CONFIG_DISTRO_DEFAULTS which would
> include a lot of our now manually picked configuration items.

Hm, good catch. There is CONFIG_DFU_MMC enabled for some reason, seemed
to have slipped in in a Kconfig move. Will fix this.

--
Stefan

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

* [U-Boot] [PATCH v1 9/9] configs: add default configuraiton for Colibri iMX7 with eMMC
  2019-01-06 23:49   ` Marcel Ziswiler
@ 2019-01-07 16:46     ` Stefan Agner
  0 siblings, 0 replies; 23+ messages in thread
From: Stefan Agner @ 2019-01-07 16:46 UTC (permalink / raw)
  To: u-boot

On 07.01.2019 00:49, Marcel Ziswiler wrote:
> On Sun, 2019-01-06 at 22:00 +0100, Stefan Agner wrote:
>> From: Stefan Agner <stefan.agner@toradex.com>
>>
>> Add a default configuration for Colibri iMX7D 1GB (with eMMC
>> NAND flash).
> 
> Finally (;-p).
> 
>> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
>> ---
>>
>>  configs/colibri_imx7_emmc_defconfig | 65
>> +++++++++++++++++++++++++++++
>>  1 file changed, 65 insertions(+)
>>  create mode 100644 configs/colibri_imx7_emmc_defconfig
>>
>> diff --git a/configs/colibri_imx7_emmc_defconfig
>> b/configs/colibri_imx7_emmc_defconfig
>> new file mode 100644
>> index 0000000000..5bd8ac943c
>> --- /dev/null
>> +++ b/configs/colibri_imx7_emmc_defconfig
>> @@ -0,0 +1,65 @@
>> +CONFIG_ARM=y
>> +CONFIG_SYS_THUMB_BUILD=y
>> +CONFIG_ARCH_MX7=y
>> +CONFIG_SYS_TEXT_BASE=0x87800000
>> +CONFIG_SECURE_BOOT=y
>> +CONFIG_TARGET_COLIBRI_IMX7=y
>> +CONFIG_TARGET_COLIBRI_IMX7_EMMC=y
>> +CONFIG_IMX_RDC=y
>> +CONFIG_IMX_BOOTAUX=y
>> +# CONFIG_CMD_DEKBLOB is not set
>> +CONFIG_ENV_VARS_UBOOT_CONFIG=y
>> +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri_imx7/imxi
>> mage.cfg,MX7D"
>> +CONFIG_BOOTDELAY=1
>> +# CONFIG_CONSOLE_MUX is not set
>> +CONFIG_SYS_CONSOLE_IS_IN_ENV=y
>> +# CONFIG_DISPLAY_BOARDINFO is not set
>> +CONFIG_DISPLAY_BOARDINFO_LATE=y
>> +CONFIG_HUSH_PARSER=y
>> +CONFIG_SYS_PROMPT="Colibri iMX7 # "
>> +# CONFIG_CMD_BOOTD is not set
>> +CONFIG_CMD_BOOTZ=y
>> +# CONFIG_CMD_IMI is not set
>> +# CONFIG_CMD_XIMG is not set
>> +CONFIG_CMD_ASKENV=y
>> +CONFIG_CMD_MEMTEST=y
>> +CONFIG_CMD_GPIO=y
>> +CONFIG_CMD_I2C=y
>> +CONFIG_CMD_MMC=y
>> +CONFIG_CMD_USB=y
>> +CONFIG_CMD_USB_MASS_STORAGE=y
>> +CONFIG_CMD_DHCP=y
>> +CONFIG_CMD_MII=y
>> +CONFIG_CMD_PING=y
>> +CONFIG_CMD_BMP=y
>> +CONFIG_CMD_CACHE=y
>> +# CONFIG_CMD_HASH is not set
>> +CONFIG_CMD_EXT4=y
>> +CONFIG_CMD_FAT=y
>> +CONFIG_CMD_FS_GENERIC=y
>> +CONFIG_OF_CONTROL=y
>> +CONFIG_DEFAULT_DEVICE_TREE="imx7-colibri-emmc"
>> +CONFIG_ENV_IS_IN_MMC=y
>> +CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>> +CONFIG_FSL_CAAM=y
>> +CONFIG_DM_GPIO=y
>> +CONFIG_DM_I2C=y
>> +CONFIG_DM_MMC=y
>> +CONFIG_FSL_ESDHC=y
>> +CONFIG_PHYLIB=y
>> +CONFIG_PHY_MICREL=y
>> +CONFIG_MII=y
>> +CONFIG_PINCTRL=y
>> +CONFIG_PINCTRL_IMX7=y
>> +CONFIG_DM_PMIC=y
>> +CONFIG_PMIC_RN5T567=y
>> +CONFIG_USB=y
>> +CONFIG_USB_EHCI_HCD=y
>> +CONFIG_USB_GADGET=y
>> +CONFIG_USB_GADGET_MANUFACTURER="Toradex"
>> +CONFIG_USB_GADGET_VENDOR_NUM=0x1b67
>> +CONFIG_USB_GADGET_PRODUCT_NUM=0x4000
>> +CONFIG_CI_UDC=y
>> +CONFIG_USB_GADGET_DOWNLOAD=y
>> +CONFIG_VIDEO=y
>> +CONFIG_OF_LIBFDT_OVERLAY=y
> 
> Again, I would use CONFIG_DISTRO_DEFAULTS as well. Plus maybe some
> other goodies like CONFIG_FIT, CONFIG_CRC32_VERIFY, CONFIG_CMD_DFU,
> CONFIG_CMD_GPT, CONFIG_DFU_MMC and the oldé CONFIG_FAT_WRITE.

Okay, will add those.

--
Stefan

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

* [U-Boot] [PATCH v1 2/9] arm: dts: imx7: colibri: split dt for raw NAND and eMMC devices
  2019-01-07 16:33     ` Stefan Agner
@ 2019-01-07 20:21       ` Marcel Ziswiler
  0 siblings, 0 replies; 23+ messages in thread
From: Marcel Ziswiler @ 2019-01-07 20:21 UTC (permalink / raw)
  To: u-boot

On Mon, 2019-01-07 at 17:33 +0100, Stefan Agner wrote:
> On 07.01.2019 00:18, Marcel Ziswiler wrote:
> > On Sun, 2019-01-06 at 22:00 +0100, Stefan Agner wrote:
> > > From: Stefan Agner <stefan.agner@toradex.com>
> > > 
> > > In preparation of adding CONFIG_DM_MMC support use separate
> > > device
> > > trees for raw NAND and eMMC devices.
> > > 
> > > Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
> > > ---
> > > 
> > >  arch/arm/dts/imx7-colibri-emmc.dts            | 16 +++++++
> > >  arch/arm/dts/imx7-colibri-rawnand.dts         | 46
> > > +++++++++++++++++++
> > >  .../{imx7-colibri.dts => imx7-colibri.dtsi}   | 39 +----------
> > > -----
> > 
> > I believe renaming that one also needs changes in resp. Makefile
> > otherwise leading to the following:
> > 
> > make[3]: *** No rule to make target 'arch/arm/dts/imx7-
> > colibri.dtb',
> > needed by 'dtbs'.  Stop.
> 
> Good catch, I definitely need to remove imx7-colibri.dtb there.
> 
> > Plus you may want to add the eMMC one as well e.g. as follows:
> > 
> > diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> > index dda4e59491..9596b2a64f 100644
> > --- a/arch/arm/dts/Makefile
> > +++ b/arch/arm/dts/Makefile
> > @@ -458,7 +458,8 @@ dtb-$(CONFIG_MX6UL) += \
> >  
> >  dtb-$(CONFIG_MX6ULL) += imx6ull-14x14-evk.dtb
> >  
> > -dtb-$(CONFIG_MX7) += imx7-colibri.dtb \
> > +dtb-$(CONFIG_MX7) += imx7-colibri-emmc.dtb \
> > +       imx7-colibri-rawnand.dtb \
> >         imx7d-sdb.dtb \
> >         imx7d-sdb-qspi.dtb
> 
> It seems that removing is actually sufficient. dtc/Makefile along
> with
> CONFIG_OF_EMBED actually builds the device tree specified in the
> config
> file automatically. Should we still add board device trees to
> arch/arm/dts/Makefile?

Ah, that's why. I don't see much of an advantage having them all in
there then.

> @Stefano/ML any preference?
> 
> 
> > BTW: Remember, I am not too big of a fan of renaming stuff and
> > everywhere else we so far did not call anything -rawnand as of yet.
> > However, in general I agree that this would be more clear and if
> > you do
> > clean-up the rest of the world(TM) in a similar fashion I am OK
> > with
> > it.
> > 
> 
> I don't _re_name, I just name :-)

Yeah, but I do know how a git rename looks like (;-p). So you are
cheating just a tiny little bit!

> When we had to name the dt's in the
> kernel, we did not knew that there will be an eMMC variant. It's a
> different start condition here.

Sure.

> Also mind that device trees are named differently: Since we use the
> same
> boot loader for i.MX 7S and 7D, I dropped a letter there too...

Yep, fully aware of this and fully agree.

> IMHO,
> renaming the dt in Linux now is too much churn. So I suggest either
> leave as is in Kernel and deviate a bit in U-Boot or drop -rawnand in
> U-Boot, what do you think?

No, I'm fine with it. With the Makefile fixed:

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

> --
> Stefan
> 
> > >  board/toradex/colibri_imx7/MAINTAINERS        |  3 ++
> > >  configs/colibri_imx7_defconfig                |  2 +-
> > >  5 files changed, 67 insertions(+), 39 deletions(-)
> > >  create mode 100644 arch/arm/dts/imx7-colibri-emmc.dts
> > >  create mode 100644 arch/arm/dts/imx7-colibri-rawnand.dts
> > >  rename arch/arm/dts/{imx7-colibri.dts => imx7-colibri.dtsi}
> > > (65%)
> > > 
> > > diff --git a/arch/arm/dts/imx7-colibri-emmc.dts
> > > b/arch/arm/dts/imx7-
> > > colibri-emmc.dts
> > > new file mode 100644
> > > index 0000000000..295ca05916
> > > --- /dev/null
> > > +++ b/arch/arm/dts/imx7-colibri-emmc.dts
> > > @@ -0,0 +1,16 @@
> > > +// SPDX-License-Identifier: GPL-2.0+ OR X11
> > 
> > Don't we rather want GPL-2.0 OR MIT?
> > 
> > > +/*
> > > + * Copyright 2019 Toradex AG
> > > + */
> > > +
> > > +/dts-v1/;
> > > +#include "imx7-colibri.dtsi"
> > > +
> > > +/ {
> > > +	model = "Toradex Colibri iMX7D 1GB (eMMC)";
> > > +	compatible = "toradex,imx7d-colibri-emmc", "fsl,imx7d";
> > > +
> > > +	chosen {
> > > +		stdout-path = &uart1;
> > > +	};
> > > +};
> > 
> > I guess the meat-on-the-bone will follow (;-p).
> > 
> > > diff --git a/arch/arm/dts/imx7-colibri-rawnand.dts
> > > b/arch/arm/dts/imx7-colibri-rawnand.dts
> > > new file mode 100644
> > > index 0000000000..4eb86fb011
> > > --- /dev/null
> > > +++ b/arch/arm/dts/imx7-colibri-rawnand.dts
> > > @@ -0,0 +1,46 @@
> > > +// SPDX-License-Identifier: GPL-2.0+ OR X11
> > 
> > Dito.
> > 
> > > +/*
> > > + * Copyright 2019 Toradex AG
> > > + */
> > > +
> > > +/dts-v1/;
> > > +#include "imx7-colibri.dtsi"
> > > +
> > > +/ {
> > > +	model = "Toradex Colibri iMX7S/D";
> > > +	compatible = "toradex,imx7-colibri", "fsl,imx7";
> > > +
> > > +	chosen {
> > > +		stdout-path = &uart1;
> > > +	};
> > > +};
> > > +
> > > +&gpmi {
> > > +	pinctrl-names = "default";
> > > +	pinctrl-0 = <&pinctrl_gpmi_nand>;
> > > +	,use-minimum-ecc;
> > > +	nand-on-flash-bbt;
> > > +	-ecc-mode = "hw";
> > > +	status = "okay";
> > > +};
> > > +
> > > +&iomuxc {
> > > +	pinctrl_gpmi_nand: gpmi-nand-grp {
> > > +		fsl,pins = <
> > > +			MX7D_PAD_SD3_CLK__NAND_CLE		0x71
> > > +			MX7D_PAD_SD3_CMD__NAND_ALE		0x71
> > > +			MX7D_PAD_SAI1_TX_BCLK__NAND_CE0_B	0x71
> > > +			MX7D_PAD_SAI1_TX_DATA__NAND_READY_B	0x74
> > > +			MX7D_PAD_SD3_STROBE__NAND_RE_B		0
> > > x71
> > > +			MX7D_PAD_SD3_RESET_B__NAND_WE_B		0
> > > x71
> > > +			MX7D_PAD_SD3_DATA0__NAND_DATA00		0
> > > x71
> > > +			MX7D_PAD_SD3_DATA1__NAND_DATA01		0
> > > x71
> > > +			MX7D_PAD_SD3_DATA2__NAND_DATA02		0
> > > x71
> > > +			MX7D_PAD_SD3_DATA3__NAND_DATA03		0
> > > x71
> > > +			MX7D_PAD_SD3_DATA4__NAND_DATA04		0
> > > x71
> > > +			MX7D_PAD_SD3_DATA5__NAND_DATA05		0
> > > x71
> > > +			MX7D_PAD_SD3_DATA6__NAND_DATA06		0
> > > x71
> > > +			MX7D_PAD_SD3_DATA7__NAND_DATA07		0
> > > x71
> > > +		>;
> > > +	};
> > > +};
> > > diff --git a/arch/arm/dts/imx7-colibri.dts b/arch/arm/dts/imx7-
> > > colibri.dtsi
> > > similarity index 65%
> > > rename from arch/arm/dts/imx7-colibri.dts
> > > rename to arch/arm/dts/imx7-colibri.dtsi
> > > index dca501be25..47295117aa 100644
> > > --- a/arch/arm/dts/imx7-colibri.dts
> > > +++ b/arch/arm/dts/imx7-colibri.dtsi
> > > @@ -1,30 +1,12 @@
> > >  // SPDX-License-Identifier: GPL-2.0+ OR X11
> > >  /*
> > > - * Copyright 2016 Toradex AG
> > > + * Copyright 2016-2019 Toradex AG
> > >   */
> > > 
> > >  /dts-v1/;
> > >  #include <dt-bindings/gpio/gpio.h>
> > >  #include "imx7d.dtsi"
> > > 
> > > -/ {
> > > -	model = "Toradex Colibri iMX7S/D";
> > > -	compatible = "toradex,imx7-colibri", "fsl,imx7";
> > > -
> > > -	chosen {
> > > -		stdout-path = &uart1;
> > > -	};
> > > -};
> > > -
> > > -&gpmi {
> > > -	pinctrl-names = "default";
> > > -	pinctrl-0 = <&pinctrl_gpmi_nand>;
> > > -	fsl,use-minimum-ecc;
> > > -	nand-on-flash-bbt;
> > > -	nand-ecc-mode = "hw";
> > > -	status = "okay";
> > > -};
> > > -
> > >  &i2c1 {
> > >  	pinctrl-names = "default", "gpio";
> > >  	pinctrl-0 = <&pinctrl_i2c1>;
> > > @@ -57,25 +39,6 @@
> > >  };
> > > 
> > >  &iomuxc {
> > > -	pinctrl_gpmi_nand: gpmi-nand-grp {
> > > -		fsl,pins = <
> > > -			MX7D_PAD_SD3_CLK__NAND_CLE		0x71
> > > -			MX7D_PAD_SD3_CMD__NAND_ALE		0x71
> > > -			MX7D_PAD_SAI1_TX_BCLK__NAND_CE0_B	0x71
> > > -			MX7D_PAD_SAI1_TX_DATA__NAND_READY_B	0x74
> > > -			MX7D_PAD_SD3_STROBE__NAND_RE_B		0
> > > x71
> > > -			MX7D_PAD_SD3_RESET_B__NAND_WE_B		0
> > > x71
> > > -			MX7D_PAD_SD3_DATA0__NAND_DATA00		0
> > > x71
> > > -			MX7D_PAD_SD3_DATA1__NAND_DATA01		0
> > > x71
> > > -			MX7D_PAD_SD3_DATA2__NAND_DATA02		0
> > > x71
> > > -			MX7D_PAD_SD3_DATA3__NAND_DATA03		0
> > > x71
> > > -			MX7D_PAD_SD3_DATA4__NAND_DATA04		0
> > > x71
> > > -			MX7D_PAD_SD3_DATA5__NAND_DATA05		0
> > > x71
> > > -			MX7D_PAD_SD3_DATA6__NAND_DATA06		0
> > > x71
> > > -			MX7D_PAD_SD3_DATA7__NAND_DATA07		0
> > > x71
> > > -		>;
> > > -	};
> > > -
> > >  	pinctrl_i2c4: i2c4-grp {
> > >  		fsl,pins = <
> > >  			MX7D_PAD_ENET1_RGMII_TD3__I2C4_SDA	0x400
> > > 0007f
> > > diff --git a/board/toradex/colibri_imx7/MAINTAINERS
> > > b/board/toradex/colibri_imx7/MAINTAINERS
> > > index 9c1d42aa8c..f55f8045f4 100644
> > > --- a/board/toradex/colibri_imx7/MAINTAINERS
> > > +++ b/board/toradex/colibri_imx7/MAINTAINERS
> > > @@ -8,3 +8,6 @@ F:	board/toradex/colibri_imx7/
> > >  F:	include/configs/colibri_imx7.h
> > >  F:	configs/colibri_imx7_defconfig
> > >  F:	configs/colibri_imx7_emmc_defconfig
> > 
> > I guess that one follows later as well (;-p).
> > 
> > > +F:	arch/arm/dts/imx7-colibri.dtsi
> > > +F:	arch/arm/dts/imx7-colibri-emmc.dts
> > > +F:	arch/arm/dts/imx7-colibri-rawnand.dts
> > > diff --git a/configs/colibri_imx7_defconfig
> > > b/configs/colibri_imx7_defconfig
> > > index 7b496bcea9..7441102ed4 100644
> > > --- a/configs/colibri_imx7_defconfig
> > > +++ b/configs/colibri_imx7_defconfig
> > > @@ -43,7 +43,7 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=gpmi-
> > > nand:512k(mx7-bcb),1536k(u-boot1)ro,1536k
> > >  CONFIG_CMD_UBI=y
> > >  CONFIG_OF_CONTROL=y
> > >  CONFIG_OF_EMBED=y
> > > -CONFIG_DEFAULT_DEVICE_TREE="imx7-colibri"
> > > +CONFIG_DEFAULT_DEVICE_TREE="imx7-colibri-rawnand"
> > >  CONFIG_ENV_IS_IN_NAND=y
> > >  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
> > >  CONFIG_DFU_MMC=y

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

end of thread, other threads:[~2019-01-07 20:21 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-06 21:00 [U-Boot] [PATCH v1 0/9] arm: Colibri iMX7 fixes and DM_MMC conversion Stefan Agner
2019-01-06 21:00 ` [U-Boot] [PATCH v1 1/9] colibri_imx7: fix boot commands Stefan Agner
2019-01-06 22:56   ` Marcel Ziswiler
2019-01-06 21:00 ` [U-Boot] [PATCH v1 2/9] arm: dts: imx7: colibri: split dt for raw NAND and eMMC devices Stefan Agner
2019-01-06 23:18   ` Marcel Ziswiler
2019-01-07 16:33     ` Stefan Agner
2019-01-07 20:21       ` Marcel Ziswiler
2019-01-06 21:00 ` [U-Boot] [PATCH v1 3/9] configs: colibri_imx7: enable DM for raw NAND devices Stefan Agner
2019-01-06 23:25   ` Marcel Ziswiler
2019-01-07 16:36     ` Stefan Agner
2019-01-06 21:00 ` [U-Boot] [PATCH v1 4/9] configs: colibri_imx7: use separate device tree Stefan Agner
2019-01-06 23:26   ` Marcel Ziswiler
2019-01-06 21:00 ` [U-Boot] [PATCH v1 5/9] arm: dts: imx7: colibri: add usdhci peripherals to " Stefan Agner
2019-01-06 23:39   ` Marcel Ziswiler
2019-01-06 21:00 ` [U-Boot] [PATCH v1 6/9] configs: colibri_imx7: use DM_MMC Stefan Agner
2019-01-06 23:41   ` Marcel Ziswiler
2019-01-06 21:00 ` [U-Boot] [PATCH v1 7/9] colibri_imx7: drop legacy usdhc support Stefan Agner
2019-01-06 23:43   ` Marcel Ziswiler
2019-01-06 21:00 ` [U-Boot] [PATCH v1 8/9] configs: colibri_imx7: enable CAAM driver Stefan Agner
2019-01-06 23:45   ` Marcel Ziswiler
2019-01-06 21:00 ` [U-Boot] [PATCH v1 9/9] configs: add default configuraiton for Colibri iMX7 with eMMC Stefan Agner
2019-01-06 23:49   ` Marcel Ziswiler
2019-01-07 16:46     ` Stefan Agner

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.