[U-Boot] [PATCH v1 0/9] arm: Colibri iMX7 fixes and DM_MMC conversion

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

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" \

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" \

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

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

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

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

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

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.

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

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

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

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 */ + >; + }; };

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 */
>;
- };
};

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

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

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) {

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) {

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

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

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

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.

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
participants (2)
-
Marcel Ziswiler
-
Stefan Agner