Skip to contentSkip to conversation

i.MX6Q: Add SPL_OF_CONTROL support

PATCH Superseded Jagan Teki 2 participants 8 messages Sep 19, 2017 – Oct 2, 2017

Subsystems (3)

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Jagan Teki

author
#0 lore raw

cover i.MX6Q: Add SPL_OF_CONTROL support

From: Jagan Teki <[email protected]>

This series add OF_CONTROL support for SPL on Engicam i.MX6QDL boards, along with proper code optimzation changes.

Jagan Teki (6):
i.MX6: engicam: Fix MAINTAINERS/README
imx6ul: geam6ul/isiot: Fix to MMC devices i.MX6: engicam: Move set_fdt_file to common i.MX6Q: icorem6: Move spl load fit to common/spl i.MX6Q: icore: Add SPL_OF_CONTROL support i.MX6Q: icore: Add imx6q board for icore/icore_rqs

 arch/arm/dts/imx6qdl-icore-rqs.dtsi                |   2 +
 arch/arm/dts/imx6qdl-icore.dtsi                    |   2 +
 arch/arm/dts/imx6qdl.dtsi                          |   5 +
 arch/arm/mach-imx/mx6/Kconfig                      |  24 +--
 board/engicam/common/board.c                       |  24 +++
 board/engicam/common/board.h                       |   1 -
 board/engicam/common/spl.c                         |  16 ++
 board/engicam/geam6ul/MAINTAINERS                  |   2 +-
 board/engicam/geam6ul/geam6ul.c                    |   6 -
 board/engicam/icorem6/README                       |  33 ----
 board/engicam/icorem6_rqs/Kconfig                  |  12 --
 board/engicam/icorem6_rqs/MAINTAINERS              |   9 --
 board/engicam/icorem6_rqs/Makefile                 |   6 -
 board/engicam/icorem6_rqs/icorem6_rqs.c            | 171 ---------------------
 board/engicam/{icorem6 => imx6q}/Kconfig           |   2 +-
 board/engicam/{icorem6 => imx6q}/MAINTAINERS       |  10 +-
 board/engicam/{icorem6 => imx6q}/Makefile          |   2 +-
 board/engicam/{icorem6_rqs => imx6q}/README        |  12 +-
 board/engicam/{icorem6/icorem6.c => imx6q/imx6q.c} | 108 +++----------
 board/engicam/isiotmx6ul/MAINTAINERS               |   2 +-
 board/engicam/isiotmx6ul/isiotmx6ul.c              |  11 --
 configs/imx6qdl_icore_mmc_defconfig                |   1 +
 configs/imx6qdl_icore_rqs_defconfig                |   3 +-
 configs/imx6ul_geam_mmc_defconfig                  |   1 -
 configs/imx6ul_isiot_emmc_defconfig                |   1 -
 configs/imx6ul_isiot_mmc_defconfig                 |   1 -
 include/configs/imx6-engicam.h                     |  22 +--
 27 files changed, 112 insertions(+), 377 deletions(-)
 delete mode 100644 board/engicam/icorem6/README
 delete mode 100644 board/engicam/icorem6_rqs/Kconfig
 delete mode 100644 board/engicam/icorem6_rqs/MAINTAINERS
 delete mode 100644 board/engicam/icorem6_rqs/Makefile
 delete mode 100644 board/engicam/icorem6_rqs/icorem6_rqs.c
 rename board/engicam/{icorem6 => imx6q}/Kconfig (87%)
 rename board/engicam/{icorem6 => imx6q}/MAINTAINERS (51%)
 rename board/engicam/{icorem6 => imx6q}/Makefile (80%)
 rename board/engicam/{icorem6_rqs => imx6q}/README (68%)
 rename board/engicam/{icorem6/icorem6.c => imx6q/imx6q.c} (73%)
Signature · 1 line
2.7.4
author
#1 lore raw

PATCH 1/6 i.MX6: engicam: Fix MAINTAINERS/README

From: Jagan Teki <[email protected]>

- Update newly added include/configs file in MAINTAINERS
- Update newly added defconfig file in README

---
 board/engicam/geam6ul/MAINTAINERS     | 2 +-
 board/engicam/icorem6/MAINTAINERS     | 2 +-
 board/engicam/icorem6/README          | 7 ++-----
 board/engicam/icorem6_rqs/MAINTAINERS | 2 +-
 board/engicam/icorem6_rqs/README      | 7 ++-----
 board/engicam/isiotmx6ul/MAINTAINERS  | 2 +-
 6 files changed, 8 insertions(+), 14 deletions(-)
board/engicam/geam6ul/MAINTAINERS +1 -1
index 1c31375..2b882d2 100644
@@ -2,7 +2,7 @@ GEAM6UL BOARD
 M:	Jagan Teki <[email protected]>
 S:	Maintained
 F:	board/engicam/geam6ul
-F:	include/configs/imx6ul_geam.h
+F:	include/configs/imx6-engicam.h
 F:	configs/imx6ul_geam_mmc_defconfig
 F:	configs/imx6ul_geam_nand_defconfig
 F:	arch/arm/dts/imx6ul-geam-kit.dts
board/engicam/icorem6/MAINTAINERS +1 -1
index 26b4b56..a348bdd 100644
@@ -2,7 +2,7 @@ ICOREM6QDL BOARD
 M:	Jagan Teki <[email protected]>
 S:	Maintained
 F:	board/engicam/icorem6
-F:	include/configs/imx6qdl_icore.h
+F:	include/configs/imx6-engicam.h
 F:	configs/imx6qdl_icore_mmc_defconfig
 F:	configs/imx6qdl_icore_nand_defconfig
 F:	arch/arm/dts/imx6qdl-icore.dtsi
board/engicam/icorem6/README +2 -5
index 6461c0a..3779e96 100644
@@ -3,11 +3,8 @@ How to use U-Boot on Engicam i.CoreM6 Solo/DualLite and Quad/Dual Starter Kit:
 
 $ make mrproper
 
-- Configure U-Boot for Engicam i.CoreM6 Quad/Dual:
-$ make imx6q_icore_mmc_defconfig
-
-- Configure U-Boot for Engicam i.CoreM6 Solo/DualLite:
-$ make imx6dl_icore_mmc_defconfig
+- Configure U-Boot for Engicam i.CoreM6 Quad/Dual/Solo/DualLite:
+$ make imx6qdl_icore_mmc_defconfig
 
 - Build U-Boot
 $ make
board/engicam/icorem6_rqs/MAINTAINERS +1 -1
index 6205acb..9a74265 100644
@@ -2,7 +2,7 @@ ICOREM6QDL_RQS BOARD
 M:	Jagan Teki <[email protected]>
 S:	Maintained
 F:	board/engicam/icorem6_rqs
-F:	include/configs/imx6qdl_icore_rqs.h
+F:	include/configs/imx6-engicam.h
 F:	configs/imx6qdl_icore_rqs_defconfig
 F:	arch/arm/dts/imx6qdl-icore-rqs.dtsi
 F:	arch/arm/dts/imx6q-icore-rqs.dts
board/engicam/icorem6_rqs/README +2 -5
index ccce622..97e978c 100644
@@ -3,11 +3,8 @@ How to use U-Boot on Engicam i.CoreM6 RQS Solo/DualLite and Quad/Dual Starter Ki
 
 $ make mrproper
 
-- Configure U-Boot for Engicam i.CoreM6 RQS Quad/Dual:
-$ make imx6q_icore_rqs_mmc_defconfig
-
-- Configure U-Boot for Engicam i.CoreM6 RQS Solo/DualLite:
-$ make imx6dl_icore_rqs_mmc_defconfig
+- Configure U-Boot for Engicam i.CoreM6 RQS Quad/Dual/Solo/DualLite:
+$ make imx6qdl_icore_rqs_defconfig
 
 - Build U-Boot
 $ make
board/engicam/isiotmx6ul/MAINTAINERS +1 -1
index c30cfe7..9b66c8d 100644
@@ -2,7 +2,7 @@ ISIOTMX6UL BOARD
 M:	Jagan Teki <[email protected]>
 S:	Maintained
 F:	board/engicam/isiotmx6ul
-F:	include/configs/imx6ul_isiot.h
+F:	include/configs/imx6-engicam.h
 F:	configs/imx6ul_isiot_mmc_defconfig
 F:	configs/imx6ul_isiot_emmc_defconfig
 F:	configs/imx6ul_isiot_nand_defconfig
Signature · 1 line
2.7.4
author
#2 lore raw

PATCH 2/6 imx6ul: geam6ul/isiot: Fix to MMC devices

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

U-Boot proper is using DM_MMC so, enable CONFIG_BLK otherwise find_mmc_device failed to detect MMC device.

---
 configs/imx6ul_geam_mmc_defconfig   | 1 -
 configs/imx6ul_isiot_emmc_defconfig | 1 -
 configs/imx6ul_isiot_mmc_defconfig  | 1 -
 3 files changed, 3 deletions(-)
configs/imx6ul_geam_mmc_defconfig +0 -1
index d329127..f663190 100644
@@ -33,7 +33,6 @@ CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_ENV_IS_IN_MMC=y
-# CONFIG_BLK is not set
 CONFIG_SYS_I2C_MXC=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_SMSC=y
configs/imx6ul_isiot_emmc_defconfig +0 -1
index be1f23d..7de9662 100644
@@ -32,7 +32,6 @@ CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_ENV_IS_IN_MMC=y
-# CONFIG_BLK is not set
 CONFIG_PHYLIB=y
 CONFIG_PHY_SMSC=y
 CONFIG_FEC_MXC=y
configs/imx6ul_isiot_mmc_defconfig +0 -1
index 760bb2e..7e48f6a 100644
@@ -33,7 +33,6 @@ CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_ENV_IS_IN_MMC=y
-# CONFIG_BLK is not set
 CONFIG_SYS_I2C_MXC=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_SMSC=y
Signature · 1 line
2.7.4
author
#3 lore raw

PATCH 3/6 i.MX6: engicam: Move set_fdt_file to common

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

setenv_fdt_file to common code and set dtb based on CONFIG_DEFAULT_DEVICE_TREE and cpu_type.

---
 board/engicam/common/board.c            | 24 ++++++++++++++++++++++++
 board/engicam/common/board.h            |  1 -
 board/engicam/geam6ul/geam6ul.c         |  6 ------
 board/engicam/icorem6/icorem6.c         |  8 --------
 board/engicam/icorem6_rqs/icorem6_rqs.c |  8 --------
 board/engicam/isiotmx6ul/isiotmx6ul.c   | 11 -----------
 6 files changed, 24 insertions(+), 34 deletions(-)
board/engicam/common/board.c +24 -0
index c7ec55f..f86fb2b 100644
@@ -32,6 +32,30 @@ static void mmc_late_init(void)
 }
 #endif
 
+static void setenv_fdt_file(void)
+{
+	const char *cmp_dtb = CONFIG_DEFAULT_DEVICE_TREE;
+
+	if (!strcmp(cmp_dtb, "imx6q-icore")) {
+		if (is_mx6dq())
+			env_set("fdt_file", "imx6q-icore.dtb");
+		else if(is_mx6dl() || is_mx6solo())
+			env_set("fdt_file", "imx6dl-icore.dtb");
+	} else if (!strcmp(cmp_dtb, "imx6q-icore-rqs")) {
+		if (is_mx6dq())
+			env_set("fdt_file", "imx6q-icore-rqs.dtb");
+		else if(is_mx6dl() || is_mx6solo())
+			env_set("fdt_file", "imx6dl-icore-rqs.dtb");
+	} else if (!strcmp(cmp_dtb, "imx6ul-geam-kit"))
+		env_set("fdt_file", "imx6ul-geam-kit.dtb");
+	else if (!strcmp(cmp_dtb, "imx6ul-isiot-mmc"))
+		env_set("fdt_file", "imx6ul-isiot-mmc.dtb");
+	else if (!strcmp(cmp_dtb, "imx6ul-isiot-emmc"))
+		env_set("fdt_file", "imx6ul-isiot-emmc.dtb");
+	else if (!strcmp(cmp_dtb, "imx6ul-isiot-nand"))
+		env_set("fdt_file", "imx6ul-isiot-nand.dtb");
+}
+
 int board_late_init(void)
 {
 	switch ((imx6_src_get_boot_mode() & IMX6_BMODE_MASK) >>
board/engicam/common/board.h +0 -1
index f364a23..c720b0b 100644
@@ -6,7 +6,6 @@
 
 #ifndef _BOARD_H_
 #define _BOARD_H_
-void setenv_fdt_file(void);
 void setup_gpmi_nand(void);
 void setup_display(void);
 #endif /* _BOARD_H_ */
board/engicam/geam6ul/geam6ul.c +0 -6
index ffd383a..15bd8b2 100644
@@ -90,12 +90,6 @@ void setup_gpmi_nand(void)
 }
 #endif /* CONFIG_NAND_MXS */
 
-void setenv_fdt_file(void)
-{
-	if (is_mx6ul())
-		env_set("fdt_file", "imx6ul-geam-kit.dtb");
-}
-
 #ifdef CONFIG_SPL_BUILD
 /* MMC board initialization is needed till adding DM support in SPL */
 #if defined(CONFIG_FSL_ESDHC) && !defined(CONFIG_DM_MMC)
board/engicam/icorem6/icorem6.c +0 -8
index 3d4f713..59c085b 100644
@@ -192,14 +192,6 @@ void setup_display(void)
 }
 #endif /* CONFIG_VIDEO_IPUV3 */
 
-void setenv_fdt_file(void)
-{
-	if (is_mx6dq())
-		env_set("fdt_file", "imx6q-icore.dtb");
-	else if(is_mx6dl() || is_mx6solo())
-		env_set("fdt_file", "imx6dl-icore.dtb");
-}
-
 #ifdef CONFIG_SPL_BUILD
 /* MMC board initialization is needed till adding DM support in SPL */
 #if defined(CONFIG_FSL_ESDHC) && !defined(CONFIG_DM_MMC)
board/engicam/icorem6_rqs/icorem6_rqs.c +0 -8
index 2a321dc..edf9d086 100644
@@ -32,14 +32,6 @@ int board_mmc_get_env_dev(int devno)
 }
 #endif
 
-void setenv_fdt_file(void)
-{
-	if (is_mx6dq())
-		env_set("fdt_file", "imx6q-icore-rqs.dtb");
-	else if(is_mx6dl() || is_mx6solo())
-		env_set("fdt_file", "imx6dl-icore-rqs.dtb");
-}
-
 #ifdef CONFIG_SPL_BUILD
 #include <spl.h>
 
board/engicam/isiotmx6ul/isiotmx6ul.c +0 -11
index fbf1724..9afa8e4 100644
@@ -98,17 +98,6 @@ int board_mmc_get_env_dev(int devno)
 }
 #endif
 
-void setenv_fdt_file(void)
-{
-	if (is_mx6ul()) {
-#ifdef CONFIG_ENV_IS_IN_MMC
-		env_set("fdt_file", "imx6ul-isiot-emmc.dtb");
-#else
-		env_set("fdt_file", "imx6ul-isiot-nand.dtb");
-#endif
-	}
-}
-
 #ifdef CONFIG_SPL_BUILD
 #include <spl.h>
 
Signature · 1 line
2.7.4
author
#4 lore raw

PATCH 4/6 i.MX6Q: icorem6: Move spl load fit to common/spl

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

Move spl load fit code into common/spl

---
 board/engicam/common/spl.c              | 16 ++++++++++++++++
 board/engicam/icorem6/icorem6.c         | 12 ------------
 board/engicam/icorem6_rqs/icorem6_rqs.c | 12 ------------
 3 files changed, 16 insertions(+), 24 deletions(-)
board/engicam/common/spl.c +16 -0
index 6964c13..0a79ffd 100644
@@ -39,6 +39,22 @@ static iomux_v3_cfg_t const uart_pads[] = {
 #endif
 };
 
+#ifdef CONFIG_SPL_LOAD_FIT
+int board_fit_config_name_match(const char *name)
+{
+        if (is_mx6dq() && !strcmp(name, "imx6q-icore"))
+                return 0;
+        else if (is_mx6dq() && !strcmp(name, "imx6q-icore-rqs"))
+                return 0;
+        else if ((is_mx6dl() || is_mx6solo()) && !strcmp(name, "imx6dl-icore"))
+                return 0;
+        else if ((is_mx6dl() || is_mx6solo()) && !strcmp(name, "imx6dl-icore-rqs"))
+                return 0;
+        else
+                return -1;
+}
+#endif
+
 #ifdef CONFIG_SPL_OS_BOOT
 int spl_start_uboot(void)
 {
board/engicam/icorem6/icorem6.c +0 -12
index 59c085b..e173124 100644
@@ -264,16 +264,4 @@ int board_mmc_init(bd_t *bis)
 	return 0;
 }
 #endif
-
-#ifdef CONFIG_SPL_LOAD_FIT
-int board_fit_config_name_match(const char *name)
-{
-	if (is_mx6dq() && !strcmp(name, "imx6q-icore"))
-		return 0;
-	else if ((is_mx6dl() || is_mx6solo()) && !strcmp(name, "imx6dl-icore"))
-		return 0;
-	else
-		return -1;
-}
-#endif
 #endif /* CONFIG_SPL_BUILD */
board/engicam/icorem6_rqs/icorem6_rqs.c +0 -12
index edf9d086..599cea3 100644
@@ -148,16 +148,4 @@ void board_boot_order(u32 *spl_boot_list)
 }
 #endif
 #endif
-
-#ifdef CONFIG_SPL_LOAD_FIT
-int board_fit_config_name_match(const char *name)
-{
-	if (is_mx6dq() && !strcmp(name, "imx6q-icore-rqs"))
-		return 0;
-	else if ((is_mx6dl() || is_mx6solo()) && !strcmp(name, "imx6dl-icore-rqs"))
-		return 0;
-	else
-		return -1;
-}
-#endif
 #endif /* CONFIG_SPL_BUILD */
Signature · 1 line
2.7.4
author
#5 lore raw

PATCH 5/6 i.MX6Q: icore: Add SPL_OF_CONTROL support

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

Add OF_CONTROL support for SPL code.

---
 arch/arm/dts/imx6qdl-icore-rqs.dtsi     |   2 +
 arch/arm/dts/imx6qdl-icore.dtsi         |   2 +
 arch/arm/dts/imx6qdl.dtsi               |   5 ++
 arch/arm/mach-imx/mx6/Kconfig           |   8 +++
 board/engicam/icorem6/icorem6.c         |  75 -----------------------
 board/engicam/icorem6_rqs/icorem6_rqs.c | 102 --------------------------------
 configs/imx6qdl_icore_mmc_defconfig     |   1 +
 configs/imx6qdl_icore_rqs_defconfig     |   1 +
 include/configs/imx6-engicam.h          |  22 +++----
 9 files changed, 31 insertions(+), 187 deletions(-)
arch/arm/dts/imx6qdl-icore-rqs.dtsi +2 -0
index 8b9d5b4..65cbf5a 100644
@@ -100,6 +100,7 @@
 };
 
 &usdhc3 {
+	u-boot,dm-spl;
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_usdhc3>;
 	cd-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
@@ -165,6 +166,7 @@
 	};
 
 	pinctrl_usdhc3: usdhc3grp {
+		u-boot,dm-spl;
 		fsl,pins = <
 			MX6QDL_PAD_SD3_CMD__SD3_CMD    0x17070
 			MX6QDL_PAD_SD3_CLK__SD3_CLK    0x10070
arch/arm/dts/imx6qdl-icore.dtsi +2 -0
index a485c3e..06d9bc3 100644
@@ -118,6 +118,7 @@
 };
 
 &usdhc1 {
+	u-boot,dm-spl;
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_usdhc1>;
 	cd-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
@@ -208,6 +209,7 @@
 	};
 
 	pinctrl_usdhc1: usdhc1grp {
+		u-boot,dm-spl;
 		fsl,pins = <
 			MX6QDL_PAD_SD1_CMD__SD1_CMD    0x17070
 			MX6QDL_PAD_SD1_CLK__SD1_CLK    0x10070
arch/arm/dts/imx6qdl.dtsi +5 -0
index b13b0b2..e04b570 100644
@@ -77,6 +77,7 @@
 		compatible = "simple-bus";
 		interrupt-parent = <&gpc>;
 		ranges;
+		u-boot,dm-spl;
 
 		dma_apbh: dma-apbh at 00110000 {
 			compatible = "fsl,imx6q-dma-apbh", "fsl,imx28-dma-apbh";
@@ -225,6 +226,7 @@
 			#size-cells = <1>;
 			reg = <0x02000000 0x100000>;
 			ranges;
+			u-boot,dm-spl;
 
 			spba-bus at 02000000 {
 				compatible = "fsl,spba-bus", "simple-bus";
@@ -516,6 +518,7 @@
 				#gpio-cells = <2>;
 				interrupt-controller;
 				#interrupt-cells = <2>;
+				u-boot,dm-spl;
 			};
 
 			gpio2: gpio at 020a0000 {
@@ -805,6 +808,7 @@
 			iomuxc: iomuxc at 020e0000 {
 				compatible = "fsl,imx6dl-iomuxc", "fsl,imx6q-iomuxc";
 				reg = <0x020e0000 0x4000>;
+				u-boot,dm-spl;
 			};
 
 			ldb: ldb at 020e0008 {
@@ -889,6 +893,7 @@
 			#size-cells = <1>;
 			reg = <0x02100000 0x100000>;
 			ranges;
+			u-boot,dm-spl;
 
 			crypto: caam at 2100000 {
 				compatible = "fsl,sec-v4.0";
arch/arm/mach-imx/mx6/Kconfig +8 -0
index 540f2b2..9f2b30c 100644
@@ -198,6 +198,10 @@ config TARGET_MX6Q_ICORE
 	select DM_THERMAL
 	select SUPPORT_SPL
 	select SPL_LOAD_FIT
+	select SPL_DM if SPL
+	select SPL_OF_CONTROL if SPL
+	select SPL_SEPARATE_BSS if SPL
+	select SPL_PINCTRL if SPL
 
 config TARGET_MX6Q_ICORE_RQS
 	bool "Support Engicam i.Core RQS"
@@ -213,6 +217,10 @@ config TARGET_MX6Q_ICORE_RQS
 	select DM_THERMAL
 	select SUPPORT_SPL
 	select SPL_LOAD_FIT
+	select SPL_DM if SPL
+	select SPL_OF_CONTROL if SPL
+	select SPL_SEPARATE_BSS if SPL
+	select SPL_PINCTRL if SPL
 
 config TARGET_MX6SABREAUTO
 	bool "mx6sabreauto"
board/engicam/icorem6/icorem6.c +0 -75

84 lines not on this page · raw message

board/engicam/icorem6_rqs/icorem6_rqs.c +0 -102

119 lines not on this page · raw message

configs/imx6qdl_icore_mmc_defconfig +1 -0
index 1b001df..221866a 100644
@@ -49,3 +49,4 @@ CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_MXC_UART=y
 CONFIG_IMX_THERMAL=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SYS_MALLOC_F_LEN=0x2000
configs/imx6qdl_icore_rqs_defconfig +1 -0
index a57a992..e6b4dff 100644
@@ -41,3 +41,4 @@ CONFIG_FEC_MXC=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
 CONFIG_MXC_UART=y
+CONFIG_SYS_MALLOC_F_LEN=0x2000
include/configs/imx6-engicam.h +12 -10
index c34dc30..ddbd6dd 100644
@@ -219,16 +219,18 @@
 
 # include "imx6_spl.h"
 # ifdef CONFIG_SPL_BUILD
-#  if defined(CONFIG_TARGET_MX6Q_ICORE_RQS) || defined(CONFIG_TARGET_MX6UL_ISIOT)
-#   define CONFIG_SYS_FSL_USDHC_NUM	2
-#  else
-#   define CONFIG_SYS_FSL_USDHC_NUM	1
-#  endif
-
-#  define CONFIG_SYS_FSL_ESDHC_ADDR	0
-#  undef CONFIG_DM_GPIO
-#  undef CONFIG_DM_MMC
-# endif
+#  if defined(CONFIG_IMX6UL)
+#   if defined(CONFIG_TARGET_MX6UL_ISIOT)
+#    define CONFIG_SYS_FSL_USDHC_NUM	2
+#   else
+#    define CONFIG_SYS_FSL_USDHC_NUM	1
+#   endif
+
+#   define CONFIG_SYS_FSL_ESDHC_ADDR	0
+#   undef CONFIG_DM_GPIO
+#   undef CONFIG_DM_MMC
+#  endif /* CONFIG_IMX6UL */
+# endif /* CONFIG_SPL_BUILD */
 #endif
 
 #endif /* __IMX6_ENGICAM_CONFIG_H */
Signature · 1 line
2.7.4
author
#6 lore raw

PATCH 6/6 i.MX6Q: icore: Add imx6q board for icore/icore_rqs

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

icore and icore_rqs boards are i.MX6QDL SOC type, so create them as imx6q board and place the code as optimum as possible.

---
 arch/arm/mach-imx/mx6/Kconfig                      | 24 +----------
 board/engicam/icorem6_rqs/Kconfig                  | 12 ------
 board/engicam/icorem6_rqs/MAINTAINERS              |  9 ----
 board/engicam/icorem6_rqs/Makefile                 |  6 ---
 board/engicam/icorem6_rqs/README                   | 30 -------------
 board/engicam/icorem6_rqs/icorem6_rqs.c            | 49 ----------------------
 board/engicam/{icorem6 => imx6q}/Kconfig           |  2 +-
 board/engicam/{icorem6 => imx6q}/MAINTAINERS       |  8 +++-
 board/engicam/{icorem6 => imx6q}/Makefile          |  2 +-
 board/engicam/{icorem6 => imx6q}/README            |  9 ++--
 board/engicam/{icorem6/icorem6.c => imx6q/imx6q.c} | 41 +++++++++++++++++-
 configs/imx6qdl_icore_rqs_defconfig                |  2 +-
 12 files changed, 56 insertions(+), 138 deletions(-)
 delete mode 100644 board/engicam/icorem6_rqs/Kconfig
 delete mode 100644 board/engicam/icorem6_rqs/MAINTAINERS
 delete mode 100644 board/engicam/icorem6_rqs/Makefile
 delete mode 100644 board/engicam/icorem6_rqs/README
 delete mode 100644 board/engicam/icorem6_rqs/icorem6_rqs.c
 rename board/engicam/{icorem6 => imx6q}/Kconfig (87%)
 rename board/engicam/{icorem6 => imx6q}/MAINTAINERS (58%)
 rename board/engicam/{icorem6 => imx6q}/Makefile (80%)
 rename board/engicam/{icorem6 => imx6q}/README (71%)
 rename board/engicam/{icorem6/icorem6.c => imx6q/imx6q.c} (88%)
arch/arm/mach-imx/mx6/Kconfig +2 -22
index 9f2b30c..412bac7 100644
@@ -185,26 +185,7 @@ config TARGET_MX6QARM2
 	bool "mx6qarm2"
 
 config TARGET_MX6Q_ICORE
-	bool "Support Engicam i.Core"
-	select BOARD_LATE_INIT
-	select MX6QDL
-	select OF_CONTROL
-	select SPL_OF_LIBFDT
-	select DM
-	select DM_ETH
-	select DM_GPIO
-	select DM_I2C
-	select DM_MMC
-	select DM_THERMAL
-	select SUPPORT_SPL
-	select SPL_LOAD_FIT
-	select SPL_DM if SPL
-	select SPL_OF_CONTROL if SPL
-	select SPL_SEPARATE_BSS if SPL
-	select SPL_PINCTRL if SPL
-
-config TARGET_MX6Q_ICORE_RQS
-	bool "Support Engicam i.Core RQS"
+	bool "Support Engicam i.Core(RQS)"
 	select BOARD_LATE_INIT
 	select MX6QDL
 	select OF_CONTROL
@@ -439,8 +420,7 @@ source "board/congatec/cgtqmx6eval/Kconfig"
 source "board/el/el6x/Kconfig"
 source "board/embest/mx6boards/Kconfig"
 source "board/engicam/geam6ul/Kconfig"
-source "board/engicam/icorem6/Kconfig"
-source "board/engicam/icorem6_rqs/Kconfig"
+source "board/engicam/imx6q/Kconfig"
 source "board/engicam/isiotmx6ul/Kconfig"
 source "board/freescale/mx6qarm2/Kconfig"
 source "board/freescale/mx6sabreauto/Kconfig"
board/engicam/icorem6_rqs/Kconfig deleted +0 -12
deleted file mode 100644
index 6dc3a07..0000000
@@ -1,12 +0,0 @@
-if TARGET_MX6Q_ICORE_RQS
-
-config SYS_BOARD
-	default "icorem6_rqs"
-
-config SYS_VENDOR
-	default "engicam"
-
-config SYS_CONFIG_NAME
-	default "imx6-engicam"
-
-endif
board/engicam/icorem6_rqs/MAINTAINERS deleted +0 -9
deleted file mode 100644
index 9a74265..0000000
@@ -1,9 +0,0 @@
-ICOREM6QDL_RQS BOARD
-M:	Jagan Teki <[email protected]>
-S:	Maintained
-F:	board/engicam/icorem6_rqs
-F:	include/configs/imx6-engicam.h
-F:	configs/imx6qdl_icore_rqs_defconfig
-F:	arch/arm/dts/imx6qdl-icore-rqs.dtsi
-F:	arch/arm/dts/imx6q-icore-rqs.dts
-F:	arch/arm/dts/imx6dl-icore-rqs.dts
board/engicam/icorem6_rqs/Makefile deleted +0 -6
deleted file mode 100644
index 2e3933c..0000000
@@ -1,6 +0,0 @@
-# Copyright (C) 2016 Amarula Solutions B.V.
-#
-# SPDX-License-Identifier:	GPL-2.0+
-#
-
-obj-y  := icorem6_rqs.o
board/engicam/icorem6_rqs/README deleted +0 -30
deleted file mode 100644
index 97e978c..0000000
@@ -1,30 +0,0 @@
-How to use U-Boot on Engicam i.CoreM6 RQS Solo/DualLite and Quad/Dual Starter Kit:
-----------------------------------------------------------------------------------
-
-$ make mrproper
-
-- Configure U-Boot for Engicam i.CoreM6 RQS Quad/Dual/Solo/DualLite:
-$ make imx6qdl_icore_rqs_defconfig
-
-- Build U-Boot
-$ make
-
-This will generate the SPL image called SPL and the u-boot-dtb.img.
-
-- Flash the SPL image into the micro SD card:
-
-sudo dd if=SPL of=/dev/mmcblk0 bs=1k seek=1; sync
-
-- Flash the u-boot-dtb.img image into the micro SD card:
-
-sudo dd if=u-boot-dtb.img of=/dev/mmcblk0 bs=1k seek=69; sync
-
-- Jumper settings:
-
-MMC Boot: JM3 Closed
-
-- Connect the Serial cable between the Starter Kit and the PC for the console.
-(J28 is the Linux Serial console connector)
-
-- Insert the micro SD card in the board, power it up and U-Boot messages should
-come up.
board/engicam/icorem6_rqs/icorem6_rqs.c deleted +0 -49

49 lines not on this page · raw message

board/engicam/imx6q/Kconfig renamed from board/engicam/icorem6/Kconfig +1 -1
similarity index 87%
rename from board/engicam/icorem6/Kconfig
rename to board/engicam/imx6q/Kconfig
index 4a1c9ac..bb36425 100644
@@ -1,7 +1,7 @@
 if TARGET_MX6Q_ICORE
 
 config SYS_BOARD
-	default "icorem6"
+	default "imx6q"
 
 config SYS_VENDOR
 	default "engicam"
board/engicam/imx6q/MAINTAINERS renamed from board/engicam/icorem6/MAINTAINERS +6 -2
similarity index 58%
rename from board/engicam/icorem6/MAINTAINERS
rename to board/engicam/imx6q/MAINTAINERS
index a348bdd..18aeb47 100644
@@ -1,10 +1,14 @@
-ICOREM6QDL BOARD
+IMX6Q ICORE BOARD
 M:	Jagan Teki <[email protected]>
 S:	Maintained
-F:	board/engicam/icorem6
+F:	board/engicam/imx6q
 F:	include/configs/imx6-engicam.h
 F:	configs/imx6qdl_icore_mmc_defconfig
 F:	configs/imx6qdl_icore_nand_defconfig
+F:	configs/imx6qdl_icore_rqs_defconfig
 F:	arch/arm/dts/imx6qdl-icore.dtsi
 F:	arch/arm/dts/imx6q-icore.dts
 F:	arch/arm/dts/imx6dl-icore.dts
+F:	arch/arm/dts/imx6qdl-icore-rqs.dtsi
+F:	arch/arm/dts/imx6q-icore-rqs.dts
+F:	arch/arm/dts/imx6dl-icore-rqs.dts
board/engicam/imx6q/Makefile renamed from board/engicam/icorem6/Makefile +1 -1
similarity index 80%
rename from board/engicam/icorem6/Makefile
rename to board/engicam/imx6q/Makefile
index 9ec9ecd..ef2fb6a 100644
@@ -3,4 +3,4 @@
 # SPDX-License-Identifier:	GPL-2.0+
 #
 
-obj-y  := icorem6.o
+obj-y  := imx6q.o
board/engicam/imx6q/README renamed from board/engicam/icorem6/README +6 -3
similarity index 71%
rename from board/engicam/icorem6/README
rename to board/engicam/imx6q/README
index 3779e96..3f3478c 100644
@@ -1,11 +1,14 @@
-How to use U-Boot on Engicam i.CoreM6 Solo/DualLite and Quad/Dual Starter Kit:
------------------------------------------------------------------------------
+Hsow to use U-Boot on Engicam i.CoreM6 (RQS) Solo/DualLite/Quad/Dual Starter Kit:
+--------------------------------------------------------------------------------
 
 $ make mrproper
 
-- Configure U-Boot for Engicam i.CoreM6 Quad/Dual/Solo/DualLite:
+- Configure U-Boot for Engicam i.CoreM6 Quad/Duali/Solo/DualLite:
 $ make imx6qdl_icore_mmc_defconfig
 
+- Configure U-Boot for Engicam i.CoreM6 RQS Quad/Duali/Solo/DualLite:
+$ make imx6qdl_icore_rqs_defconfig
+
 - Build U-Boot
 $ make
 
board/engicam/imx6q/imx6q.c renamed from board/engicam/icorem6/icorem6.c +39 -2

55 lines not on this page · raw message

configs/imx6qdl_icore_rqs_defconfig +1 -1
index e6b4dff..813201f 100644
@@ -3,7 +3,7 @@ CONFIG_ARCH_MX6=y
 CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
-CONFIG_TARGET_MX6Q_ICORE_RQS=y
+CONFIG_TARGET_MX6Q_ICORE=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_LIBDISK_SUPPORT=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
Signature · 1 line
2.7.4
#7 lore raw

cover i.MX6Q: Add SPL_OF_CONTROL support

In reply to Jagan Teki

Hi Jagan,

Quoted 44 lines · Jagan Teki

From: Jagan Teki <[email protected]>

This series add OF_CONTROL support for SPL on Engicam i.MX6QDL boards, along with proper code optimzation changes.

Jagan Teki (6):
i.MX6: engicam: Fix MAINTAINERS/README
imx6ul: geam6ul/isiot: Fix to MMC devices i.MX6: engicam: Move set_fdt_file to common i.MX6Q: icorem6: Move spl load fit to common/spl i.MX6Q: icore: Add SPL_OF_CONTROL support i.MX6Q: icore: Add imx6q board for icore/icore_rqs

 arch/arm/dts/imx6qdl-icore-rqs.dtsi                |   2 +
 arch/arm/dts/imx6qdl-icore.dtsi                    |   2 +
 arch/arm/dts/imx6qdl.dtsi                          |   5 +
 arch/arm/mach-imx/mx6/Kconfig                      |  24 +--
 board/engicam/common/board.c                       |  24 +++
 board/engicam/common/board.h                       |   1 -
 board/engicam/common/spl.c                         |  16 ++
 board/engicam/geam6ul/MAINTAINERS                  |   2 +-
 board/engicam/geam6ul/geam6ul.c                    |   6 -
 board/engicam/icorem6/README                       |  33 ----
 board/engicam/icorem6_rqs/Kconfig                  |  12 --
 board/engicam/icorem6_rqs/MAINTAINERS              |   9 --
 board/engicam/icorem6_rqs/Makefile                 |   6 -
 board/engicam/icorem6_rqs/icorem6_rqs.c            | 171 ---------------------
 board/engicam/{icorem6 => imx6q}/Kconfig           |   2 +-
 board/engicam/{icorem6 => imx6q}/MAINTAINERS       |  10 +-
 board/engicam/{icorem6 => imx6q}/Makefile          |   2 +-
 board/engicam/{icorem6_rqs => imx6q}/README        |  12 +-
 board/engicam/{icorem6/icorem6.c => imx6q/imx6q.c} | 108 +++----------
 board/engicam/isiotmx6ul/MAINTAINERS               |   2 +-
 board/engicam/isiotmx6ul/isiotmx6ul.c              |  11 --
 configs/imx6qdl_icore_mmc_defconfig                |   1 +
 configs/imx6qdl_icore_rqs_defconfig                |   3 +-
 configs/imx6ul_geam_mmc_defconfig                  |   1 -
 configs/imx6ul_isiot_emmc_defconfig                |   1 -
 configs/imx6ul_isiot_mmc_defconfig                 |   1 -
 include/configs/imx6-engicam.h                     |  22 +--
 27 files changed, 112 insertions(+), 377 deletions(-)
 delete mode 100644 board/engicam/icorem6/README
 delete mode 100644 board/engicam/icorem6_rqs/Kconfig
Quoted 9 lines
 delete mode 100644 board/engicam/icorem6_rqs/MAINTAINERS
 delete mode 100644 board/engicam/icorem6_rqs/Makefile
 delete mode 100644 board/engicam/icorem6_rqs/icorem6_rqs.c
 rename board/engicam/{icorem6 => imx6q}/Kconfig (87%)
 rename board/engicam/{icorem6 => imx6q}/MAINTAINERS (51%)
 rename board/engicam/{icorem6 => imx6q}/Makefile (80%)
 rename board/engicam/{icorem6_rqs => imx6q}/README (68%)
 rename board/engicam/{icorem6/icorem6.c => imx6q/imx6q.c} (73%)

I cannot build your boards when I apply the patchset (CONFIG_SYS_FSL_ESDHC_ADDR is away now):

Building current source for 8 boards (8 threads, 1 job per thread)
arm: + imx6ul_isiot_emmc
+drivers/mmc/fsl_esdhc.c: In function 'fsl_esdhc_mmc_init':
+drivers/mmc/fsl_esdhc.c:934:20: error: 'CONFIG_SYS_FSL_ESDHC_ADDR' undeclared (first use in this function)
+ cfg->esdhc_base = CONFIG_SYS_FSL_ESDHC_ADDR;
+ ^
+drivers/mmc/fsl_esdhc.c:934:20: note: each undeclared identifier is reported only once for each function it appears in +make[4]: *** [spl/drivers/mmc/fsl_esdhc.o] Error 1 +make[3]: *** [spl/drivers/mmc] Error 2
+make[2]: *** [spl/drivers] Error 2
+make[1]: *** [spl/u-boot-spl] Error 2
+make: *** [sub-make] Error 2
arm: + imx6ul_geam_mmc
+drivers/mmc/fsl_esdhc.c: In function 'fsl_esdhc_mmc_init':
+drivers/mmc/fsl_esdhc.c:934:20: error: 'CONFIG_SYS_FSL_ESDHC_ADDR' undeclared (first use in this function)
+ cfg->esdhc_base = CONFIG_SYS_FSL_ESDHC_ADDR;
+ ^
+drivers/mmc/fsl_esdhc.c:934:20: note: each undeclared identifier is reported only once for each function it appears in +make[4]: *** [spl/drivers/mmc/fsl_esdhc.o] Error 1 +make[3]: *** [spl/drivers/mmc] Error 2
+make[2]: *** [spl/drivers] Error 2
+make[1]: *** [spl/u-boot-spl] Error 2
+make: *** [sub-make] Error 2
arm: + imx6ul_isiot_mmc
+drivers/mmc/fsl_esdhc.c: In function 'fsl_esdhc_mmc_init':
+drivers/mmc/fsl_esdhc.c:934:20: error: 'CONFIG_SYS_FSL_ESDHC_ADDR' undeclared (first use in this function)
+ cfg->esdhc_base = CONFIG_SYS_FSL_ESDHC_ADDR;

Could you take a look, please ?

Thanks,
Stefano

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================