* [U-Boot] [PATCH 1/6] i.MX6: engicam: Fix MAINTAINERS/README
2017-09-19 18:37 [U-Boot] [PATCH 0/6] i.MX6Q: Add SPL_OF_CONTROL support Jagan Teki
@ 2017-09-19 18:37 ` Jagan Teki
2017-09-19 18:37 ` [U-Boot] [PATCH 2/6] imx6ul: geam6ul/isiot: Fix to MMC devices Jagan Teki
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Jagan Teki @ 2017-09-19 18:37 UTC (permalink / raw)
To: u-boot
From: Jagan Teki <jagan@amarulasolutions.com>
- Update newly added include/configs file in MAINTAINERS
- Update newly added defconfig file in README
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
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(-)
diff --git a/board/engicam/geam6ul/MAINTAINERS b/board/engicam/geam6ul/MAINTAINERS
index 1c31375..2b882d2 100644
--- a/board/engicam/geam6ul/MAINTAINERS
+++ b/board/engicam/geam6ul/MAINTAINERS
@@ -2,7 +2,7 @@ GEAM6UL BOARD
M: Jagan Teki <jagan@amarulasolutions.com>
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
diff --git a/board/engicam/icorem6/MAINTAINERS b/board/engicam/icorem6/MAINTAINERS
index 26b4b56..a348bdd 100644
--- a/board/engicam/icorem6/MAINTAINERS
+++ b/board/engicam/icorem6/MAINTAINERS
@@ -2,7 +2,7 @@ ICOREM6QDL BOARD
M: Jagan Teki <jagan@amarulasolutions.com>
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
diff --git a/board/engicam/icorem6/README b/board/engicam/icorem6/README
index 6461c0a..3779e96 100644
--- a/board/engicam/icorem6/README
+++ b/board/engicam/icorem6/README
@@ -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
diff --git a/board/engicam/icorem6_rqs/MAINTAINERS b/board/engicam/icorem6_rqs/MAINTAINERS
index 6205acb..9a74265 100644
--- a/board/engicam/icorem6_rqs/MAINTAINERS
+++ b/board/engicam/icorem6_rqs/MAINTAINERS
@@ -2,7 +2,7 @@ ICOREM6QDL_RQS BOARD
M: Jagan Teki <jagan@amarulasolutions.com>
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
diff --git a/board/engicam/icorem6_rqs/README b/board/engicam/icorem6_rqs/README
index ccce622..97e978c 100644
--- a/board/engicam/icorem6_rqs/README
+++ b/board/engicam/icorem6_rqs/README
@@ -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
diff --git a/board/engicam/isiotmx6ul/MAINTAINERS b/board/engicam/isiotmx6ul/MAINTAINERS
index c30cfe7..9b66c8d 100644
--- a/board/engicam/isiotmx6ul/MAINTAINERS
+++ b/board/engicam/isiotmx6ul/MAINTAINERS
@@ -2,7 +2,7 @@ ISIOTMX6UL BOARD
M: Jagan Teki <jagan@amarulasolutions.com>
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
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread* [U-Boot] [PATCH 2/6] imx6ul: geam6ul/isiot: Fix to MMC devices
2017-09-19 18:37 [U-Boot] [PATCH 0/6] i.MX6Q: Add SPL_OF_CONTROL support Jagan Teki
2017-09-19 18:37 ` [U-Boot] [PATCH 1/6] i.MX6: engicam: Fix MAINTAINERS/README Jagan Teki
@ 2017-09-19 18:37 ` Jagan Teki
2017-09-19 18:37 ` [U-Boot] [PATCH 3/6] i.MX6: engicam: Move set_fdt_file to common Jagan Teki
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Jagan Teki @ 2017-09-19 18:37 UTC (permalink / raw)
To: u-boot
From: Jagan Teki <jagan@amarulasolutions.com>
U-Boot proper is using DM_MMC so, enable CONFIG_BLK otherwise
find_mmc_device failed to detect MMC device.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
configs/imx6ul_geam_mmc_defconfig | 1 -
configs/imx6ul_isiot_emmc_defconfig | 1 -
configs/imx6ul_isiot_mmc_defconfig | 1 -
3 files changed, 3 deletions(-)
diff --git a/configs/imx6ul_geam_mmc_defconfig b/configs/imx6ul_geam_mmc_defconfig
index d329127..f663190 100644
--- a/configs/imx6ul_geam_mmc_defconfig
+++ b/configs/imx6ul_geam_mmc_defconfig
@@ -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
diff --git a/configs/imx6ul_isiot_emmc_defconfig b/configs/imx6ul_isiot_emmc_defconfig
index be1f23d..7de9662 100644
--- a/configs/imx6ul_isiot_emmc_defconfig
+++ b/configs/imx6ul_isiot_emmc_defconfig
@@ -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
diff --git a/configs/imx6ul_isiot_mmc_defconfig b/configs/imx6ul_isiot_mmc_defconfig
index 760bb2e..7e48f6a 100644
--- a/configs/imx6ul_isiot_mmc_defconfig
+++ b/configs/imx6ul_isiot_mmc_defconfig
@@ -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
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread* [U-Boot] [PATCH 3/6] i.MX6: engicam: Move set_fdt_file to common
2017-09-19 18:37 [U-Boot] [PATCH 0/6] i.MX6Q: Add SPL_OF_CONTROL support Jagan Teki
2017-09-19 18:37 ` [U-Boot] [PATCH 1/6] i.MX6: engicam: Fix MAINTAINERS/README Jagan Teki
2017-09-19 18:37 ` [U-Boot] [PATCH 2/6] imx6ul: geam6ul/isiot: Fix to MMC devices Jagan Teki
@ 2017-09-19 18:37 ` Jagan Teki
2017-09-19 18:37 ` [U-Boot] [PATCH 4/6] i.MX6Q: icorem6: Move spl load fit to common/spl Jagan Teki
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Jagan Teki @ 2017-09-19 18:37 UTC (permalink / raw)
To: u-boot
From: Jagan Teki <jagan@amarulasolutions.com>
setenv_fdt_file to common code and set dtb based on
CONFIG_DEFAULT_DEVICE_TREE and cpu_type.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
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(-)
diff --git a/board/engicam/common/board.c b/board/engicam/common/board.c
index c7ec55f..f86fb2b 100644
--- a/board/engicam/common/board.c
+++ b/board/engicam/common/board.c
@@ -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) >>
diff --git a/board/engicam/common/board.h b/board/engicam/common/board.h
index f364a23..c720b0b 100644
--- a/board/engicam/common/board.h
+++ b/board/engicam/common/board.h
@@ -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_ */
diff --git a/board/engicam/geam6ul/geam6ul.c b/board/engicam/geam6ul/geam6ul.c
index ffd383a..15bd8b2 100644
--- a/board/engicam/geam6ul/geam6ul.c
+++ b/board/engicam/geam6ul/geam6ul.c
@@ -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)
diff --git a/board/engicam/icorem6/icorem6.c b/board/engicam/icorem6/icorem6.c
index 3d4f713..59c085b 100644
--- a/board/engicam/icorem6/icorem6.c
+++ b/board/engicam/icorem6/icorem6.c
@@ -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)
diff --git a/board/engicam/icorem6_rqs/icorem6_rqs.c b/board/engicam/icorem6_rqs/icorem6_rqs.c
index 2a321dc..edf9d086 100644
--- a/board/engicam/icorem6_rqs/icorem6_rqs.c
+++ b/board/engicam/icorem6_rqs/icorem6_rqs.c
@@ -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>
diff --git a/board/engicam/isiotmx6ul/isiotmx6ul.c b/board/engicam/isiotmx6ul/isiotmx6ul.c
index fbf1724..9afa8e4 100644
--- a/board/engicam/isiotmx6ul/isiotmx6ul.c
+++ b/board/engicam/isiotmx6ul/isiotmx6ul.c
@@ -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>
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread* [U-Boot] [PATCH 4/6] i.MX6Q: icorem6: Move spl load fit to common/spl
2017-09-19 18:37 [U-Boot] [PATCH 0/6] i.MX6Q: Add SPL_OF_CONTROL support Jagan Teki
` (2 preceding siblings ...)
2017-09-19 18:37 ` [U-Boot] [PATCH 3/6] i.MX6: engicam: Move set_fdt_file to common Jagan Teki
@ 2017-09-19 18:37 ` Jagan Teki
2017-09-19 18:38 ` [U-Boot] [PATCH 5/6] i.MX6Q: icore: Add SPL_OF_CONTROL support Jagan Teki
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Jagan Teki @ 2017-09-19 18:37 UTC (permalink / raw)
To: u-boot
From: Jagan Teki <jagan@amarulasolutions.com>
Move spl load fit code into common/spl
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
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(-)
diff --git a/board/engicam/common/spl.c b/board/engicam/common/spl.c
index 6964c13..0a79ffd 100644
--- a/board/engicam/common/spl.c
+++ b/board/engicam/common/spl.c
@@ -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)
{
diff --git a/board/engicam/icorem6/icorem6.c b/board/engicam/icorem6/icorem6.c
index 59c085b..e173124 100644
--- a/board/engicam/icorem6/icorem6.c
+++ b/board/engicam/icorem6/icorem6.c
@@ -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 */
diff --git a/board/engicam/icorem6_rqs/icorem6_rqs.c b/board/engicam/icorem6_rqs/icorem6_rqs.c
index edf9d086..599cea3 100644
--- a/board/engicam/icorem6_rqs/icorem6_rqs.c
+++ b/board/engicam/icorem6_rqs/icorem6_rqs.c
@@ -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 */
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread* [U-Boot] [PATCH 5/6] i.MX6Q: icore: Add SPL_OF_CONTROL support
2017-09-19 18:37 [U-Boot] [PATCH 0/6] i.MX6Q: Add SPL_OF_CONTROL support Jagan Teki
` (3 preceding siblings ...)
2017-09-19 18:37 ` [U-Boot] [PATCH 4/6] i.MX6Q: icorem6: Move spl load fit to common/spl Jagan Teki
@ 2017-09-19 18:38 ` Jagan Teki
2017-09-19 18:38 ` [U-Boot] [PATCH 6/6] i.MX6Q: icore: Add imx6q board for icore/icore_rqs Jagan Teki
2017-10-02 13:29 ` [U-Boot] [PATCH 0/6] i.MX6Q: Add SPL_OF_CONTROL support Stefano Babic
6 siblings, 0 replies; 8+ messages in thread
From: Jagan Teki @ 2017-09-19 18:38 UTC (permalink / raw)
To: u-boot
From: Jagan Teki <jagan@amarulasolutions.com>
Add OF_CONTROL support for SPL code.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
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(-)
diff --git a/arch/arm/dts/imx6qdl-icore-rqs.dtsi b/arch/arm/dts/imx6qdl-icore-rqs.dtsi
index 8b9d5b4..65cbf5a 100644
--- a/arch/arm/dts/imx6qdl-icore-rqs.dtsi
+++ b/arch/arm/dts/imx6qdl-icore-rqs.dtsi
@@ -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
diff --git a/arch/arm/dts/imx6qdl-icore.dtsi b/arch/arm/dts/imx6qdl-icore.dtsi
index a485c3e..06d9bc3 100644
--- a/arch/arm/dts/imx6qdl-icore.dtsi
+++ b/arch/arm/dts/imx6qdl-icore.dtsi
@@ -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
diff --git a/arch/arm/dts/imx6qdl.dtsi b/arch/arm/dts/imx6qdl.dtsi
index b13b0b2..e04b570 100644
--- a/arch/arm/dts/imx6qdl.dtsi
+++ b/arch/arm/dts/imx6qdl.dtsi
@@ -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";
diff --git a/arch/arm/mach-imx/mx6/Kconfig b/arch/arm/mach-imx/mx6/Kconfig
index 540f2b2..9f2b30c 100644
--- a/arch/arm/mach-imx/mx6/Kconfig
+++ b/arch/arm/mach-imx/mx6/Kconfig
@@ -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"
diff --git a/board/engicam/icorem6/icorem6.c b/board/engicam/icorem6/icorem6.c
index e173124..a967ccd 100644
--- a/board/engicam/icorem6/icorem6.c
+++ b/board/engicam/icorem6/icorem6.c
@@ -7,7 +7,6 @@
*/
#include <common.h>
-#include <mmc.h>
#include <asm/io.h>
#include <asm/gpio.h>
@@ -191,77 +190,3 @@ void setup_display(void)
writel(reg, &iomux->gpr[3]);
}
#endif /* CONFIG_VIDEO_IPUV3 */
-
-#ifdef CONFIG_SPL_BUILD
-/* MMC board initialization is needed till adding DM support in SPL */
-#if defined(CONFIG_FSL_ESDHC) && !defined(CONFIG_DM_MMC)
-#include <mmc.h>
-#include <fsl_esdhc.h>
-
-#define USDHC_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE | \
- PAD_CTL_PUS_22K_UP | PAD_CTL_SPEED_LOW | \
- PAD_CTL_DSE_80ohm | PAD_CTL_SRE_FAST | PAD_CTL_HYS)
-
-static iomux_v3_cfg_t const usdhc1_pads[] = {
- IOMUX_PADS(PAD_SD1_CLK__SD1_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_SD1_CMD__SD1_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_SD1_DAT0__SD1_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_SD1_DAT1__SD1_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_SD1_DAT2__SD1_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_SD1_DAT3__SD1_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_GPIO_1__GPIO1_IO01 | MUX_PAD_CTRL(NO_PAD_CTRL)),/* CD */
-};
-
-#define USDHC1_CD_GPIO IMX_GPIO_NR(1, 1)
-
-struct fsl_esdhc_cfg usdhc_cfg[1] = {
- {USDHC1_BASE_ADDR, 0, 4},
-};
-
-int board_mmc_getcd(struct mmc *mmc)
-{
- struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv;
- int ret = 0;
-
- switch (cfg->esdhc_base) {
- case USDHC1_BASE_ADDR:
- ret = !gpio_get_value(USDHC1_CD_GPIO);
- break;
- }
-
- return ret;
-}
-
-int board_mmc_init(bd_t *bis)
-{
- int i, ret;
-
- /*
- * According to the board_mmc_init() the following map is done:
- * (U-boot device node) (Physical Port)
- * mmc0 USDHC1
- */
- for (i = 0; i < CONFIG_SYS_FSL_USDHC_NUM; i++) {
- switch (i) {
- case 0:
- SETUP_IOMUX_PADS(usdhc1_pads);
- gpio_direction_input(USDHC1_CD_GPIO);
- usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK);
- break;
- default:
- printf("Warning - USDHC%d controller not supporting\n",
- i + 1);
- return 0;
- }
-
- ret = fsl_esdhc_initialize(bis, &usdhc_cfg[i]);
- if (ret) {
- printf("Warning: failed to initialize mmc dev %d\n", i);
- return ret;
- }
- }
-
- return 0;
-}
-#endif
-#endif /* CONFIG_SPL_BUILD */
diff --git a/board/engicam/icorem6_rqs/icorem6_rqs.c b/board/engicam/icorem6_rqs/icorem6_rqs.c
index 599cea3..c0a6d4f 100644
--- a/board/engicam/icorem6_rqs/icorem6_rqs.c
+++ b/board/engicam/icorem6_rqs/icorem6_rqs.c
@@ -6,21 +6,7 @@
* SPDX-License-Identifier: GPL-2.0+
*/
-#include <common.h>
-#include <mmc.h>
-
-#include <asm/io.h>
-#include <asm/gpio.h>
-#include <linux/sizes.h>
-
-#include <asm/arch/clock.h>
-#include <asm/arch/crm_regs.h>
-#include <asm/arch/iomux.h>
-#include <asm/arch/mx6-pins.h>
#include <asm/arch/sys_proto.h>
-#include <asm/mach-imx/iomux-v3.h>
-
-#include "../common/board.h"
DECLARE_GLOBAL_DATA_PTR;
@@ -35,93 +21,6 @@ int board_mmc_get_env_dev(int devno)
#ifdef CONFIG_SPL_BUILD
#include <spl.h>
-/* MMC board initialization is needed till adding DM support in SPL */
-#if defined(CONFIG_FSL_ESDHC) && !defined(CONFIG_DM_MMC)
-#include <mmc.h>
-#include <fsl_esdhc.h>
-
-#define USDHC_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE | \
- PAD_CTL_PUS_47K_UP | PAD_CTL_SPEED_HIGH | \
- PAD_CTL_DSE_40ohm | PAD_CTL_SRE_FAST | PAD_CTL_HYS)
-
-static iomux_v3_cfg_t const usdhc3_pads[] = {
- IOMUX_PADS(PAD_SD3_CLK__SD3_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_SD3_CMD__SD3_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_SD3_DAT0__SD3_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_SD3_DAT1__SD3_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_SD3_DAT2__SD3_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_SD3_DAT3__SD3_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
-};
-
-static iomux_v3_cfg_t const usdhc4_pads[] = {
- IOMUX_PADS(PAD_SD4_CLK__SD4_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_SD4_CMD__SD4_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_SD4_DAT0__SD4_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_SD4_DAT1__SD4_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_SD4_DAT2__SD4_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_SD4_DAT3__SD4_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_SD4_DAT4__SD4_DATA4 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_SD4_DAT5__SD4_DATA5 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_SD4_DAT6__SD4_DATA6 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
- IOMUX_PADS(PAD_SD4_DAT7__SD4_DATA7 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
-};
-
-struct fsl_esdhc_cfg usdhc_cfg[2] = {
- {USDHC3_BASE_ADDR, 1, 4},
- {USDHC4_BASE_ADDR, 1, 8},
-};
-
-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 USDHC3_BASE_ADDR:
- case USDHC4_BASE_ADDR:
- ret = 1;
- break;
- }
-
- return ret;
-}
-
-int board_mmc_init(bd_t *bis)
-{
- int i, ret;
-
- /*
- * According to the board_mmc_init() the following map is done:
- * (U-boot device node) (Physical Port)
- * mmc0 USDHC3
- * mmc1 USDHC4
- */
- for (i = 0; i < CONFIG_SYS_FSL_USDHC_NUM; i++) {
- switch (i) {
- case 0:
- SETUP_IOMUX_PADS(usdhc3_pads);
- usdhc_cfg[i].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
- break;
- case 1:
- SETUP_IOMUX_PADS(usdhc4_pads);
- usdhc_cfg[i].sdhc_clk = mxc_get_clock(MXC_ESDHC4_CLK);
- break;
- default:
- printf("Warning - USDHC%d controller not supporting\n",
- i + 1);
- return 0;
- }
-
- ret = fsl_esdhc_initialize(bis, &usdhc_cfg[i]);
- if (ret) {
- printf("Warning: failed to initialize mmc dev %d\n", i);
- return ret;
- }
- }
-
- return 0;
-}
-
#ifdef CONFIG_ENV_IS_IN_MMC
void board_boot_order(u32 *spl_boot_list)
{
@@ -147,5 +46,4 @@ void board_boot_order(u32 *spl_boot_list)
spl_boot_list[0] = boot_dev;
}
#endif
-#endif
#endif /* CONFIG_SPL_BUILD */
diff --git a/configs/imx6qdl_icore_mmc_defconfig b/configs/imx6qdl_icore_mmc_defconfig
index 1b001df..221866a 100644
--- a/configs/imx6qdl_icore_mmc_defconfig
+++ b/configs/imx6qdl_icore_mmc_defconfig
@@ -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
diff --git a/configs/imx6qdl_icore_rqs_defconfig b/configs/imx6qdl_icore_rqs_defconfig
index a57a992..e6b4dff 100644
--- a/configs/imx6qdl_icore_rqs_defconfig
+++ b/configs/imx6qdl_icore_rqs_defconfig
@@ -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
diff --git a/include/configs/imx6-engicam.h b/include/configs/imx6-engicam.h
index c34dc30..ddbd6dd 100644
--- a/include/configs/imx6-engicam.h
+++ b/include/configs/imx6-engicam.h
@@ -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 */
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread* [U-Boot] [PATCH 6/6] i.MX6Q: icore: Add imx6q board for icore/icore_rqs
2017-09-19 18:37 [U-Boot] [PATCH 0/6] i.MX6Q: Add SPL_OF_CONTROL support Jagan Teki
` (4 preceding siblings ...)
2017-09-19 18:38 ` [U-Boot] [PATCH 5/6] i.MX6Q: icore: Add SPL_OF_CONTROL support Jagan Teki
@ 2017-09-19 18:38 ` Jagan Teki
2017-10-02 13:29 ` [U-Boot] [PATCH 0/6] i.MX6Q: Add SPL_OF_CONTROL support Stefano Babic
6 siblings, 0 replies; 8+ messages in thread
From: Jagan Teki @ 2017-09-19 18:38 UTC (permalink / raw)
To: u-boot
From: Jagan Teki <jagan@amarulasolutions.com>
icore and icore_rqs boards are i.MX6QDL SOC type, so
create them as imx6q board and place the code as optimum
as possible.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
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%)
diff --git a/arch/arm/mach-imx/mx6/Kconfig b/arch/arm/mach-imx/mx6/Kconfig
index 9f2b30c..412bac7 100644
--- a/arch/arm/mach-imx/mx6/Kconfig
+++ b/arch/arm/mach-imx/mx6/Kconfig
@@ -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"
diff --git a/board/engicam/icorem6_rqs/Kconfig b/board/engicam/icorem6_rqs/Kconfig
deleted file mode 100644
index 6dc3a07..0000000
--- a/board/engicam/icorem6_rqs/Kconfig
+++ /dev/null
@@ -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
diff --git a/board/engicam/icorem6_rqs/MAINTAINERS b/board/engicam/icorem6_rqs/MAINTAINERS
deleted file mode 100644
index 9a74265..0000000
--- a/board/engicam/icorem6_rqs/MAINTAINERS
+++ /dev/null
@@ -1,9 +0,0 @@
-ICOREM6QDL_RQS BOARD
-M: Jagan Teki <jagan@amarulasolutions.com>
-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
diff --git a/board/engicam/icorem6_rqs/Makefile b/board/engicam/icorem6_rqs/Makefile
deleted file mode 100644
index 2e3933c..0000000
--- a/board/engicam/icorem6_rqs/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright (C) 2016 Amarula Solutions B.V.
-#
-# SPDX-License-Identifier: GPL-2.0+
-#
-
-obj-y := icorem6_rqs.o
diff --git a/board/engicam/icorem6_rqs/README b/board/engicam/icorem6_rqs/README
deleted file mode 100644
index 97e978c..0000000
--- a/board/engicam/icorem6_rqs/README
+++ /dev/null
@@ -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.
diff --git a/board/engicam/icorem6_rqs/icorem6_rqs.c b/board/engicam/icorem6_rqs/icorem6_rqs.c
deleted file mode 100644
index c0a6d4f..0000000
--- a/board/engicam/icorem6_rqs/icorem6_rqs.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2016 Amarula Solutions B.V.
- * Copyright (C) 2016 Engicam S.r.l.
- * Author: Jagan Teki <jagan@amarulasolutions.com>
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-
-#include <asm/arch/sys_proto.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-#ifdef CONFIG_ENV_IS_IN_MMC
-int board_mmc_get_env_dev(int devno)
-{
- /* dev 0 for SD/eSD, dev 1 for MMC/eMMC */
- return (devno == 3) ? 1 : 0;
-}
-#endif
-
-#ifdef CONFIG_SPL_BUILD
-#include <spl.h>
-
-#ifdef CONFIG_ENV_IS_IN_MMC
-void board_boot_order(u32 *spl_boot_list)
-{
- u32 bmode = imx6_src_get_boot_mode();
- u8 boot_dev = BOOT_DEVICE_MMC1;
-
- switch ((bmode & IMX6_BMODE_MASK) >> IMX6_BMODE_SHIFT) {
- case IMX6_BMODE_SD:
- case IMX6_BMODE_ESD:
- /* SD/eSD - BOOT_DEVICE_MMC1 */
- break;
- case IMX6_BMODE_MMC:
- case IMX6_BMODE_EMMC:
- /* MMC/eMMC */
- boot_dev = BOOT_DEVICE_MMC2;
- break;
- default:
- /* Default - BOOT_DEVICE_MMC1 */
- printf("Wrong board boot order\n");
- break;
- }
-
- spl_boot_list[0] = boot_dev;
-}
-#endif
-#endif /* CONFIG_SPL_BUILD */
diff --git a/board/engicam/icorem6/Kconfig b/board/engicam/imx6q/Kconfig
similarity index 87%
rename from board/engicam/icorem6/Kconfig
rename to board/engicam/imx6q/Kconfig
index 4a1c9ac..bb36425 100644
--- a/board/engicam/icorem6/Kconfig
+++ b/board/engicam/imx6q/Kconfig
@@ -1,7 +1,7 @@
if TARGET_MX6Q_ICORE
config SYS_BOARD
- default "icorem6"
+ default "imx6q"
config SYS_VENDOR
default "engicam"
diff --git a/board/engicam/icorem6/MAINTAINERS b/board/engicam/imx6q/MAINTAINERS
similarity index 58%
rename from board/engicam/icorem6/MAINTAINERS
rename to board/engicam/imx6q/MAINTAINERS
index a348bdd..18aeb47 100644
--- a/board/engicam/icorem6/MAINTAINERS
+++ b/board/engicam/imx6q/MAINTAINERS
@@ -1,10 +1,14 @@
-ICOREM6QDL BOARD
+IMX6Q ICORE BOARD
M: Jagan Teki <jagan@amarulasolutions.com>
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
diff --git a/board/engicam/icorem6/Makefile b/board/engicam/imx6q/Makefile
similarity index 80%
rename from board/engicam/icorem6/Makefile
rename to board/engicam/imx6q/Makefile
index 9ec9ecd..ef2fb6a 100644
--- a/board/engicam/icorem6/Makefile
+++ b/board/engicam/imx6q/Makefile
@@ -3,4 +3,4 @@
# SPDX-License-Identifier: GPL-2.0+
#
-obj-y := icorem6.o
+obj-y := imx6q.o
diff --git a/board/engicam/icorem6/README b/board/engicam/imx6q/README
similarity index 71%
rename from board/engicam/icorem6/README
rename to board/engicam/imx6q/README
index 3779e96..3f3478c 100644
--- a/board/engicam/icorem6/README
+++ b/board/engicam/imx6q/README
@@ -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
diff --git a/board/engicam/icorem6/icorem6.c b/board/engicam/imx6q/imx6q.c
similarity index 88%
rename from board/engicam/icorem6/icorem6.c
rename to board/engicam/imx6q/imx6q.c
index a967ccd..0600547 100644
--- a/board/engicam/icorem6/icorem6.c
+++ b/board/engicam/imx6q/imx6q.c
@@ -25,13 +25,12 @@
DECLARE_GLOBAL_DATA_PTR;
#ifdef CONFIG_NAND_MXS
-
#define GPMI_PAD_CTRL0 (PAD_CTL_PKE | PAD_CTL_PUE | PAD_CTL_PUS_100K_UP)
#define GPMI_PAD_CTRL1 (PAD_CTL_DSE_40ohm | PAD_CTL_SPEED_MED | \
PAD_CTL_SRE_FAST)
#define GPMI_PAD_CTRL2 (GPMI_PAD_CTRL0 | GPMI_PAD_CTRL1)
-iomux_v3_cfg_t gpmi_pads[] = {
+static iomux_v3_cfg_t gpmi_pads[] = {
IOMUX_PADS(PAD_NANDF_CLE__NAND_CLE | MUX_PAD_CTRL(GPMI_PAD_CTRL2)),
IOMUX_PADS(PAD_NANDF_ALE__NAND_ALE | MUX_PAD_CTRL(GPMI_PAD_CTRL2)),
IOMUX_PADS(PAD_NANDF_WP_B__NAND_WP_B | MUX_PAD_CTRL(GPMI_PAD_CTRL2)),
@@ -190,3 +189,41 @@ void setup_display(void)
writel(reg, &iomux->gpr[3]);
}
#endif /* CONFIG_VIDEO_IPUV3 */
+
+#ifdef CONFIG_ENV_IS_IN_MMC
+int board_mmc_get_env_dev(int devno)
+{
+ /* dev 0 for SD/eSD, dev 1 for MMC/eMMC */
+ return (devno == 3) ? 1 : 0;
+}
+#endif
+
+#ifdef CONFIG_SPL_BUILD
+#include <spl.h>
+
+#ifdef CONFIG_ENV_IS_IN_MMC
+void board_boot_order(u32 *spl_boot_list)
+{
+ u32 bmode = imx6_src_get_boot_mode();
+ u8 boot_dev = BOOT_DEVICE_MMC1;
+
+ switch ((bmode & IMX6_BMODE_MASK) >> IMX6_BMODE_SHIFT) {
+ case IMX6_BMODE_SD:
+ case IMX6_BMODE_ESD:
+ /* SD/eSD - BOOT_DEVICE_MMC1 */
+ break;
+ case IMX6_BMODE_MMC:
+ case IMX6_BMODE_EMMC:
+ /* MMC/eMMC */
+ boot_dev = BOOT_DEVICE_MMC2;
+ break;
+ default:
+ /* Default - BOOT_DEVICE_MMC1 */
+ printf("Wrong board boot order\n");
+ break;
+ }
+
+ spl_boot_list[0] = boot_dev;
+}
+#endif
+#endif /* CONFIG_SPL_BUILD */
diff --git a/configs/imx6qdl_icore_rqs_defconfig b/configs/imx6qdl_icore_rqs_defconfig
index e6b4dff..813201f 100644
--- a/configs/imx6qdl_icore_rqs_defconfig
+++ b/configs/imx6qdl_icore_rqs_defconfig
@@ -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
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread* [U-Boot] [PATCH 0/6] i.MX6Q: Add SPL_OF_CONTROL support
2017-09-19 18:37 [U-Boot] [PATCH 0/6] i.MX6Q: Add SPL_OF_CONTROL support Jagan Teki
` (5 preceding siblings ...)
2017-09-19 18:38 ` [U-Boot] [PATCH 6/6] i.MX6Q: icore: Add imx6q board for icore/icore_rqs Jagan Teki
@ 2017-10-02 13:29 ` Stefano Babic
6 siblings, 0 replies; 8+ messages in thread
From: Stefano Babic @ 2017-10-02 13:29 UTC (permalink / raw)
To: u-boot
Hi Jagan,
On 19/09/2017 20:37, Jagan Teki wrote:
> From: Jagan Teki <jagan@amarulasolutions.com>
>
> 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%)
>
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
--
=====================================================================
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
=====================================================================
^ permalink raw reply [flat|nested] 8+ messages in thread