i.MX6: engicam: Add SPL_OF_CONTROL support
Subsystems (6)
v3 cover i.MX6: engicam: Add SPL_OF_CONTROL support
This series has fix for data abort[1] which is observed for pinctrl data before reloaction, thanks Lokesh for the suggestions.
Changes for v3:
- Add pinctrl data fix for 'data abort' issue
- Add proper mmc get env device support for imx6q boards
- Enabled falcon for icorem6_rqs
Changes for v2:
- Fixed imx6ul build issue
- Add FDT support for mx6ul_14x14_evk
[1] https://www.mail-archive.com/u-boot at lists.denx.de/msg267220.html
Jagan Teki (9):
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
pinctrl: imx6ul: Fix pinctrl data overlapped with DT area i.MX6UL: icore: Add SPL_OF_CONTROL support
board: icore-rqs: Fix mmc get env device
i.MX6: engicam: Add imx6q/imx6ul boards for existing boards
engicam: imx6q: Return mmc dev 0 for icore
configs: icore-rqs: Enable falcon mode
arch/arm/dts/imx6qdl-icore-rqs.dtsi | 7 +
arch/arm/dts/imx6qdl-icore.dtsi | 2 +
arch/arm/dts/imx6qdl.dtsi | 5 +
arch/arm/dts/imx6ul-geam-kit.dts | 4 +
arch/arm/dts/imx6ul-isiot-emmc.dts | 2 +
arch/arm/dts/imx6ul-isiot.dtsi | 2 +
arch/arm/dts/imx6ul.dtsi | 6 +
arch/arm/mach-imx/mx6/Kconfig | 49 ++---
board/engicam/common/board.c | 24 ++
board/engicam/common/board.h | 1 -
board/engicam/common/spl.c | 42 ++++
board/engicam/geam6ul/MAINTAINERS | 8 -
board/engicam/geam6ul/README | 28 ---
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 | 124 +----------
board/engicam/{geam6ul => imx6q}/Kconfig | 4 +-
board/engicam/{icorem6 => imx6q}/MAINTAINERS | 8 +-
board/engicam/{geam6ul => imx6q}/Makefile | 2 +-
board/engicam/{icorem6_rqs => imx6q}/README | 9 +-
board/engicam/{icorem6/icorem6.c => imx6q/imx6q.c} | 98 +--------
board/engicam/{icorem6 => imx6ul}/Kconfig | 4 +-
board/engicam/{isiotmx6ul => imx6ul}/MAINTAINERS | 9 +-
board/engicam/{icorem6 => imx6ul}/Makefile | 2 +-
board/engicam/{icorem6 => imx6ul}/README | 11 +-
.../engicam/{geam6ul/geam6ul.c => imx6ul/imx6ul.c} | 88 +-------
board/engicam/isiotmx6ul/Kconfig | 12 -
board/engicam/isiotmx6ul/Makefile | 6 -
board/engicam/isiotmx6ul/README | 28 ---
board/engicam/isiotmx6ul/isiotmx6ul.c | 241 ---------------------
configs/imx6qdl_icore_mmc_defconfig | 3 +-
configs/imx6qdl_icore_nand_defconfig | 2 +-
configs/imx6qdl_icore_rqs_defconfig | 4 +-
configs/imx6ul_geam_mmc_defconfig | 3 +-
configs/imx6ul_geam_nand_defconfig | 2 +-
configs/imx6ul_isiot_emmc_defconfig | 3 +-
configs/imx6ul_isiot_mmc_defconfig | 3 +-
configs/imx6ul_isiot_nand_defconfig | 2 +-
drivers/pinctrl/nxp/pinctrl-imx6.c | 7 +-
include/configs/imx6-engicam.h | 11 -
41 files changed, 170 insertions(+), 723 deletions(-)
delete mode 100644 board/engicam/geam6ul/MAINTAINERS
delete mode 100644 board/engicam/geam6ul/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
rename board/engicam/{geam6ul => imx6q}/Kconfig (73%)
rename board/engicam/{icorem6 => imx6q}/MAINTAINERS (58%)
rename board/engicam/{geam6ul => imx6q}/Makefile (80%)
rename board/engicam/{icorem6_rqs => imx6q}/README (71%)
rename board/engicam/{icorem6/icorem6.c => imx6q/imx6q.c} (72%)
rename board/engicam/{icorem6 => imx6ul}/Kconfig (72%)
rename board/engicam/{isiotmx6ul => imx6ul}/MAINTAINERS (69%)
rename board/engicam/{icorem6 => imx6ul}/Makefile (80%)
rename board/engicam/{icorem6 => imx6ul}/README (74%)
rename board/engicam/{geam6ul/geam6ul.c => imx6ul/imx6ul.c} (59%)
delete mode 100644 board/engicam/isiotmx6ul/Kconfig
delete mode 100644 board/engicam/isiotmx6ul/Makefile
delete mode 100644 board/engicam/isiotmx6ul/README
delete mode 100644 board/engicam/isiotmx6ul/isiotmx6ul.cSignature · 1 line
2.7.4
PATCH v3 1/9 i.MX6: engicam: Move set_fdt_file to common
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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -31,14 +31,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
@@ -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
PATCH v3 2/9 i.MX6Q: icorem6: Move spl load fit to common/spl
In reply to Jagan TekiMove 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
@@ -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
@@ -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
@@ -147,16 +147,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
PATCH v3 3/9 i.MX6Q: icore: Add SPL_OF_CONTROL support
In reply to Jagan TekiAdd 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
@@ -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
@@ -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
@@ -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
@@ -213,6 +213,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"
@@ -228,6 +232,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
@@ -48,3 +48,4 @@ CONFIG_MXC_UART=y CONFIG_IMX_THERMAL=y CONFIG_VIDEO=y CONFIG_VIDEO_IPUV3=y +CONFIG_SYS_MALLOC_F_LEN=0x2000
configs/imx6qdl_icore_rqs_defconfig +1 -0
@@ -40,3 +40,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
@@ -216,16 +216,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
PATCH v3 4/9 pinctrl: imx6ul: Fix pinctrl data overlapped with DT area
In reply to Jagan Tekibefore relocation pinctrl data BSS is overlapping DT area, when .data is using uninitialized global variable, imx6_pinctrl_soc_info. So assign them flags ZERO_OFFSET_VALID to prevent BSS overlap
--- drivers/pinctrl/nxp/pinctrl-imx6.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
drivers/pinctrl/nxp/pinctrl-imx6.c +6 -1
@@ -13,6 +13,11 @@static struct imx_pinctrl_soc_info imx6_pinctrl_soc_info; +/* FIXME Before reloaction, BSS is overlapped with DT area */ +static struct imx_pinctrl_soc_info imx6ul_pinctrl_soc_info = { + .flags =ZERO_OFFSET_VALID , +}; +static struct imx_pinctrl_soc_info imx6_snvs_pinctrl_soc_info = { .flags =ZERO_OFFSET_VALID , };
@@ -32,7 +37,7 @@ static const struct udevice_id imx6_pinctrl_match[] = { { .compatible = "fsl,imx6sll-iomuxc-snvs", .data = (ulong)&imx6_snvs_pinctrl_soc_info }, { .compatible = "fsl,imx6sll-iomuxc", .data = (ulong)&imx6_pinctrl_soc_info }, { .compatible = "fsl,imx6sx-iomuxc", .data = (ulong)&imx6_pinctrl_soc_info }, - { .compatible = "fsl,imx6ul-iomuxc", .data = (ulong)&imx6_pinctrl_soc_info }, + { .compatible = "fsl,imx6ul-iomuxc", .data = (ulong)&imx6ul_pinctrl_soc_info }, { .compatible = "fsl,imx6ull-iomuxc-snvs", .data = (ulong)&imx6_snvs_pinctrl_soc_info }, {/* sentinel */ } };
Signature · 1 line
2.7.4
PATCH v3 5/9 i.MX6UL: icore: Add SPL_OF_CONTROL support
In reply to Jagan TekiAdd OF_CONTROL support for SPL code.
--- arch/arm/dts/imx6ul-geam-kit.dts | 4 ++ arch/arm/dts/imx6ul-isiot-emmc.dts | 2 + arch/arm/dts/imx6ul-isiot.dtsi | 2 + arch/arm/dts/imx6ul.dtsi | 6 ++ arch/arm/mach-imx/mx6/Kconfig | 9 +++ board/engicam/geam6ul/geam6ul.c | 81 --------------------------- board/engicam/isiotmx6ul/isiotmx6ul.c | 101 ---------------------------------- configs/imx6ul_geam_mmc_defconfig | 1 + configs/imx6ul_isiot_emmc_defconfig | 1 + configs/imx6ul_isiot_mmc_defconfig | 1 + include/configs/imx6-engicam.h | 13 ----- 11 files changed, 26 insertions(+), 195 deletions(-)
arch/arm/dts/imx6ul-geam-kit.dts +4 -0
@@ -87,6 +87,7 @@ }; &usdhc1 { + u-boot,dm-spl; pinctrl-names = "default", "state_100mhz", "state_200mhz"; pinctrl-0 = <&pinctrl_usdhc1>; pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
@@ -134,6 +135,7 @@ }; pinctrl_usdhc1: usdhc1grp { + u-boot,dm-spl; fsl,pins = < MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x17059 MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x10059
@@ -145,6 +147,7 @@ }; pinctrl_usdhc1_100mhz: usdhc1grp100mhz { + u-boot,dm-spl; fsl,pins = < MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x170b9 MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x100b9
@@ -156,6 +159,7 @@ }; pinctrl_usdhc1_200mhz: usdhc1grp200mhz { + u-boot,dm-spl; fsl,pins = < MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x170f9 MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x100f9
arch/arm/dts/imx6ul-isiot-emmc.dts +2 -0
@@ -50,6 +50,7 @@ }; &usdhc2 { + u-boot,dm-spl; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usdhc2>; cd-gpios = <&gpio4 5 GPIO_ACTIVE_LOW>;
@@ -60,6 +61,7 @@ &iomuxc { pinctrl_usdhc2: usdhc2grp { + u-boot,dm-spl; fsl,pins = < MX6UL_PAD_NAND_RE_B__USDHC2_CLK 0x17070 MX6UL_PAD_NAND_WE_B__USDHC2_CMD 0x10070
arch/arm/dts/imx6ul-isiot.dtsi +2 -0
@@ -82,6 +82,7 @@ }; &usdhc1 { + u-boot,dm-spl; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usdhc1>; cd-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
@@ -128,6 +129,7 @@ }; pinctrl_usdhc1: usdhc1grp { + u-boot,dm-spl; fsl,pins = < MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x17059 MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x10059
arch/arm/dts/imx6ul.dtsi +6 -0
@@ -134,6 +134,7 @@ compatible = "simple-bus"; interrupt-parent = <&gpc>; ranges; + u-boot,dm-spl; pmu { compatible = "arm,cortex-a7-pmu";
@@ -185,6 +186,7 @@ #size-cells = <1>; reg = <0x02000000 0x100000>; ranges; + u-boot,dm-spl; spba-bus at 02000000 { compatible = "fsl,spba-bus", "simple-bus";
@@ -415,6 +417,7 @@ #interrupt-cells = <2>; gpio-ranges = <&iomuxc 0 23 10>, <&iomuxc 10 17 6>, <&iomuxc 16 33 16>; + u-boot,dm-spl; }; gpio2: gpio at 020a0000 {
@@ -451,6 +454,7 @@ interrupt-controller; #interrupt-cells = <2>; gpio-ranges = <&iomuxc 0 94 17>, <&iomuxc 17 117 12>; + u-boot,dm-spl; }; gpio5: gpio at 020ac000 {
@@ -649,6 +653,7 @@ iomuxc: iomuxc at 020e0000 { compatible = "fsl,imx6ul-iomuxc"; reg = <0x020e0000 0x4000>; + u-boot,dm-spl; }; gpr: iomuxc-gpr at 020e4000 {
@@ -729,6 +734,7 @@ #size-cells = <1>; reg = <0x02100000 0x100000>; ranges; + u-boot,dm-spl; usbotg1: usb at 02184000 { compatible = "fsl,imx6ul-usb", "fsl,imx27-usb";
arch/arm/mach-imx/mx6/Kconfig +9 -0
@@ -308,6 +308,11 @@ config TARGET_MX6UL_GEAM select DM_MMC select DM_THERMAL select SUPPORT_SPL + select SPL_DM if SPL + select SPL_OF_CONTROL if SPL + select SPL_SEPARATE_BSS if SPL + select SPL_PINCTRL if SPL + config TARGET_MX6UL_ISIOT bool "Support Engicam Is.IoT MX6UL" select BOARD_LATE_INIT
@@ -320,6 +325,10 @@ config TARGET_MX6UL_ISIOT select DM_MMC select DM_THERMAL select SUPPORT_SPL + select SPL_DM if SPL + select SPL_OF_CONTROL if SPL + select SPL_SEPARATE_BSS if SPL + select SPL_PINCTRL if SPL config TARGET_MX6ULL_14X14_EVK bool "Support mx6ull_14x14_evk"
board/engicam/geam6ul/geam6ul.c +0 -81
90 lines not on this page · raw message
board/engicam/isiotmx6ul/isiotmx6ul.c +0 -101
111 lines not on this page · raw message
configs/imx6ul_geam_mmc_defconfig +1 -0
@@ -40,3 +40,4 @@ CONFIG_PINCTRL=y CONFIG_PINCTRL_IMX6=y CONFIG_MXC_UART=y CONFIG_IMX_THERMAL=y +CONFIG_SYS_MALLOC_F_LEN=0x2000
configs/imx6ul_isiot_emmc_defconfig +1 -0
@@ -38,3 +38,4 @@ CONFIG_PINCTRL=y CONFIG_PINCTRL_IMX6=y CONFIG_MXC_UART=y CONFIG_IMX_THERMAL=y +CONFIG_SYS_MALLOC_F_LEN=0x2000
configs/imx6ul_isiot_mmc_defconfig +1 -0
@@ -40,3 +40,4 @@ CONFIG_PINCTRL=y CONFIG_PINCTRL_IMX6=y CONFIG_MXC_UART=y CONFIG_IMX_THERMAL=y +CONFIG_SYS_MALLOC_F_LEN=0x2000
include/configs/imx6-engicam.h +0 -13
@@ -215,19 +215,6 @@# endif # include "imx6_spl.h" -# ifdef CONFIG_SPL_BUILD -# 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
PATCH v3 6/9 board: icore-rqs: Fix mmc get env device
In reply to Jagan TekiAs per USDHC boot eFUSE descriptions:
USDHC3 => devno 2
USDHC4 => devno 3
Linux will detect mmc0, mmc1, mmc2 based on the status "okay" on usdhc so imx6qdl-icore-rqs.dtsi has enabled usdhc1, usdhc3 and usdhc4.But U-Boot can detect based on the aliases so add mmc1, mmc2 for usdhc3 and usdhc4 respectively and return the board_mmc_get_env_dev by subtracting -1
--- arch/arm/dts/imx6qdl-icore-rqs.dtsi | 5 +++++ board/engicam/icorem6_rqs/icorem6_rqs.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-)
arch/arm/dts/imx6qdl-icore-rqs.dtsi +5 -0
@@ -43,6 +43,11 @@ #include <dt-bindings/clock/imx6qdl-clock.h> / { + aliases { + mmc1 = &usdhc3; + mmc2 = &usdhc4; + }; + memory { reg = <0x10000000 0x80000000>; };
board/engicam/icorem6_rqs/icorem6_rqs.c +1 -1
@@ -13,7 +13,7 @@ DECLARE_GLOBAL_DATA_PTR;#ifdef CONFIG_ENV_IS_IN_MMC int board_mmc_get_env_dev (int devno) { -return devno; +return devno -1 ; }#endif
Signature · 1 line
2.7.4
PATCH v3 7/9 i.MX6: engicam: Add imx6q/imx6ul boards for existing boards
In reply to Jagan TekiAdd new board names for existing board support
imx6q - icore and icore_rqs boards
imx6ul - geam6ul and isiot boards
---
arch/arm/mach-imx/mx6/Kconfig | 50 +-------
board/engicam/common/board.c | 2 +-
board/engicam/common/spl.c | 26 +++++
board/engicam/geam6ul/MAINTAINERS | 8 --
board/engicam/geam6ul/README | 28 -----
board/engicam/icorem6_rqs/Kconfig | 12 --
board/engicam/icorem6_rqs/MAINTAINERS | 9 --
board/engicam/icorem6_rqs/Makefile | 6 -
board/engicam/{geam6ul => imx6q}/Kconfig | 4 +-
board/engicam/{icorem6 => imx6q}/MAINTAINERS | 8 +-
board/engicam/{geam6ul => imx6q}/Makefile | 2 +-
board/engicam/{icorem6_rqs => imx6q}/README | 9 +-
board/engicam/{icorem6/icorem6.c => imx6q/imx6q.c} | 10 +-
board/engicam/{icorem6 => imx6ul}/Kconfig | 4 +-
board/engicam/{isiotmx6ul => imx6ul}/MAINTAINERS | 9 +-
board/engicam/{icorem6 => imx6ul}/Makefile | 2 +-
board/engicam/{icorem6 => imx6ul}/README | 11 +-
.../engicam/{geam6ul/geam6ul.c => imx6ul/imx6ul.c} | 9 ++
board/engicam/isiotmx6ul/Kconfig | 12 --
board/engicam/isiotmx6ul/Makefile | 6 -
board/engicam/isiotmx6ul/README | 28 -----
board/engicam/isiotmx6ul/isiotmx6ul.c | 129 ---------------------
configs/imx6qdl_icore_mmc_defconfig | 2 +-
configs/imx6qdl_icore_nand_defconfig | 2 +-
configs/imx6qdl_icore_rqs_defconfig | 2 +-
configs/imx6ul_geam_mmc_defconfig | 2 +-
configs/imx6ul_geam_nand_defconfig | 2 +-
configs/imx6ul_isiot_emmc_defconfig | 2 +-
configs/imx6ul_isiot_mmc_defconfig | 2 +-
configs/imx6ul_isiot_nand_defconfig | 2 +-
30 files changed, 89 insertions(+), 311 deletions(-)
delete mode 100644 board/engicam/geam6ul/MAINTAINERS
delete mode 100644 board/engicam/geam6ul/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
rename board/engicam/{geam6ul => imx6q}/Kconfig (73%)
rename board/engicam/{icorem6 => imx6q}/MAINTAINERS (58%)
rename board/engicam/{geam6ul => imx6q}/Makefile (80%)
rename board/engicam/{icorem6_rqs => imx6q}/README (71%)
rename board/engicam/{icorem6/icorem6.c => imx6q/imx6q.c} (97%)
rename board/engicam/{icorem6 => imx6ul}/Kconfig (72%)
rename board/engicam/{isiotmx6ul => imx6ul}/MAINTAINERS (69%)
rename board/engicam/{icorem6 => imx6ul}/Makefile (80%)
rename board/engicam/{icorem6 => imx6ul}/README (74%)
rename board/engicam/{geam6ul/geam6ul.c => imx6ul/imx6ul.c} (95%)
delete mode 100644 board/engicam/isiotmx6ul/Kconfig
delete mode 100644 board/engicam/isiotmx6ul/Makefile
delete mode 100644 board/engicam/isiotmx6ul/README
delete mode 100644 board/engicam/isiotmx6ul/isiotmx6ul.carch/arm/mach-imx/mx6/Kconfig +6 -44
@@ -199,27 +199,8 @@ config TARGET_MX6LOGICPD 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" +config TARGET_MX6Q_ENGICAM + bool "Support Engicam i.Core(RQS)" select BOARD_LATE_INIT select MX6QDL select OF_CONTROL
@@ -296,25 +277,8 @@ config TARGET_MX6UL_14X14_EVK select DM_THERMAL select SUPPORT_SPL -config TARGET_MX6UL_GEAM - bool "Support Engicam GEAM6UL" - select BOARD_LATE_INIT - select MX6UL - select OF_CONTROL - select DM - select DM_ETH - select DM_GPIO - select DM_I2C - select DM_MMC - select DM_THERMAL - select SUPPORT_SPL - select SPL_DM if SPL - select SPL_OF_CONTROL if SPL - select SPL_SEPARATE_BSS if SPL - select SPL_PINCTRL if SPL - -config TARGET_MX6UL_ISIOT - bool "Support Engicam Is.IoT MX6UL" +config TARGET_MX6UL_ENGICAM + bool "Support Engicam GEAM6UL/Is.IoT" select BOARD_LATE_INIT select MX6UL select OF_CONTROL
@@ -463,10 +427,8 @@ source "board/congatec/cgtqmx6eval/Kconfig" source "board/dhelectronics/dh_imx6/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/isiotmx6ul/Kconfig" +source "board/engicam/imx6q/Kconfig" +source "board/engicam/imx6ul/Kconfig" source "board/freescale/mx6qarm2/Kconfig" source "board/freescale/mx6sabreauto/Kconfig" source "board/freescale/mx6sabresd/Kconfig"
board/engicam/common/board.c +1 -1
@@ -49,7 +49,7 @@ static void setenv_fdt_file(void) }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" ); +env_set ("fdt_file" ,"imx6ul-isiot-emmc.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" ))
board/engicam/common/spl.c +26 -0
@@ -55,6 +55,32 @@ int board_fit_config_name_match(const char *name) }#endif +#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 +#ifdef CONFIG_SPL_OS_BOOT int spl_start_uboot (void ) {
board/engicam/geam6ul/MAINTAINERS deleted +0 -8
@@ -1,8 +0,0 @@ -GEAM6UL BOARD -M: Jagan Teki <[email protected]> -S: Maintained -F: board/engicam/geam6ul -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/geam6ul/README deleted +0 -28
@@ -1,28 +0,0 @@ -How to use U-Boot on Engicam GEAM6UL Starter Kit: -------------------------------------------------- - -- Configure U-Boot for Engicam GEAM6UL: - -$ make mrproper -$ make imx6ul_geam_mmc_defconfig -$ 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/Kconfig deleted +0 -12
@@ -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
@@ -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
@@ -1,6 +0,0 @@ -# Copyright (C) 2016 Amarula Solutions B.V. -# -# SPDX-License-Identifier: GPL-2.0+ -# - -obj-y := icorem6_rqs.o
board/engicam/imx6q/Kconfig renamed from board/engicam/geam6ul/Kconfig +2 -2
@@ -1,7 +1,7 @@ -if TARGET_MX6UL_GEAM +if TARGET_MX6Q_ENGICAM config SYS_BOARD - default "geam6ul" + default "imx6q" config SYS_VENDOR default "engicam"
board/engicam/imx6q/MAINTAINERS renamed from board/engicam/icorem6/MAINTAINERS +6 -2
@@ -1,10 +1,14 @@ -ICOREM6QDL BOARD +MX6Q_ENGICAM 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/geam6ul/Makefile +1 -1
@@ -3,4 +3,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -obj-y := geam6ul.o +obj-y := imx6q.o
board/engicam/imx6q/README renamed from board/engicam/icorem6_rqs/README +6 -3
@@ -1,9 +1,12 @@ -How to use U-Boot on Engicam i.CoreM6 RQS 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 RQS 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
board/engicam/imx6q/imx6q.c renamed from board/engicam/icorem6/icorem6.c +8 -2
@@ -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,10 @@ 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) +{ +return devno -1 ; +} +#endif
board/engicam/imx6ul/Kconfig renamed from board/engicam/icorem6/Kconfig +2 -2
@@ -1,7 +1,7 @@ -if TARGET_MX6Q_ICORE +if TARGET_MX6UL_ENGICAM config SYS_BOARD - default "icorem6" + default "imx6ul" config SYS_VENDOR default "engicam"
board/engicam/imx6ul/MAINTAINERS renamed from board/engicam/isiotmx6ul/MAINTAINERS +6 -3
@@ -1,11 +1,14 @@ -ISIOTMX6UL BOARD +MX6UL_ENGICAM BOARD M: Jagan Teki <[email protected]> S: Maintained -F: board/engicam/isiotmx6ul +F: board/engicam/imx6ul F: include/configs/imx6-engicam.h -F: configs/imx6ul_isiot_mmc_defconfig +F: configs/imx6ul_geam_mmc_defconfig +F: configs/imx6ul_geam_nand_defconfig F: configs/imx6ul_isiot_emmc_defconfig +F: configs/imx6ul_isiot_mmc_defconfig F: configs/imx6ul_isiot_nand_defconfig +F: arch/arm/dts/imx6ul-geam-kit.dts F: arch/arm/dts/imx6ul-isiot.dtsi F: arch/arm/dts/imx6ul-isiot-mmc.dts F: arch/arm/dts/imx6ul-isiot-emmc.dts
board/engicam/imx6ul/Makefile renamed from board/engicam/icorem6/Makefile +1 -1
@@ -3,4 +3,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -obj-y := icorem6.o +obj-y := imx6ul.o
board/engicam/imx6ul/README renamed from board/engicam/icorem6/README +7 -4
@@ -1,10 +1,13 @@ -How to use U-Boot on Engicam i.CoreM6 Solo/DualLite and Quad/Dual Starter Kit: ------------------------------------------------------------------------------ +Hsow to use U-Boot on Engicam GEAM6UL and Is.IoT MX6UL Starter Kit: +------------------------------------------------------------------- $ make mrproper -- Configure U-Boot for Engicam i.CoreM6 Quad/Dual/Solo/DualLite: -$ make imx6qdl_icore_mmc_defconfig +- Configure U-Boot for Engicam GEAM6UL: +$ make imx6ul_geam_mmc_defconfig + +- Configure U-Boot for Engicam Is.IoT MX6UL: +$ make imx6ul_isiot_mmc_defconfig - Build U-Boot $ make
board/engicam/imx6ul/imx6ul.c renamed from board/engicam/geam6ul/geam6ul.c +9 -0
@@ -7,6 +7,7 @@*/ #include <common.h> +#include <mmc.h> #include <asm/io.h> #include <asm/gpio.h>
@@ -88,3 +89,11 @@ void setup_gpmi_nand(void) setbits_le32(&mxc_ccm->CCGR0, MXC_CCM_CCGR0_APBHDMA_MASK); }#endif /* CONFIG_NAND_MXS */ + +#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 ==0 ) ?0 :1 ; +} +#endif
board/engicam/isiotmx6ul/Kconfig deleted +0 -12
@@ -1,12 +0,0 @@ -if TARGET_MX6UL_ISIOT - -config SYS_BOARD - default "isiotmx6ul" - -config SYS_VENDOR - default "engicam" - -config SYS_CONFIG_NAME - default "imx6-engicam" - -endif
board/engicam/isiotmx6ul/Makefile deleted +0 -6
@@ -1,6 +0,0 @@ -# Copyright (C) 2016 Amarula Solutions B.V. -# -# SPDX-License-Identifier: GPL-2.0+ -# - -obj-y := isiotmx6ul.o
board/engicam/isiotmx6ul/README deleted +0 -28
@@ -1,28 +0,0 @@ -How to use U-Boot on Engicam Is.IoT MX6UL Starter Kit: ------------------------------------------------------ - -- Configure U-Boot for Engicam Is.IoT MX6UL - -$ make mrproper -$ make imx6ul_isiot_mmc_defconfig -$ 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/isiotmx6ul/isiotmx6ul.c deleted +0 -129
129 lines not on this page · raw message
configs/imx6qdl_icore_mmc_defconfig +1 -1
@@ -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=y +CONFIG_TARGET_MX6Q_ENGICAM=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y
configs/imx6qdl_icore_nand_defconfig +1 -1
@@ -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=y +CONFIG_TARGET_MX6Q_ENGICAM=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y # CONFIG_CMD_BMODE is not set
configs/imx6qdl_icore_rqs_defconfig +1 -1
@@ -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_ENGICAM=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y
configs/imx6ul_geam_mmc_defconfig +1 -1
@@ -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_MX6UL_GEAM=y +CONFIG_TARGET_MX6UL_ENGICAM=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y
configs/imx6ul_geam_nand_defconfig +1 -1
@@ -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_MX6UL_GEAM=y +CONFIG_TARGET_MX6UL_ENGICAM=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y # CONFIG_CMD_BMODE is not set
configs/imx6ul_isiot_emmc_defconfig +1 -1
@@ -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_MX6UL_ISIOT=y +CONFIG_TARGET_MX6UL_ENGICAM=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y
configs/imx6ul_isiot_mmc_defconfig +1 -1
@@ -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_MX6UL_ISIOT=y +CONFIG_TARGET_MX6UL_ENGICAM=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_LIBDISK_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y
configs/imx6ul_isiot_nand_defconfig +1 -1
@@ -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_MX6UL_ISIOT=y +CONFIG_TARGET_MX6UL_ENGICAM=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_WATCHDOG_SUPPORT=y # CONFIG_CMD_BMODE is not set
Signature · 1 line
2.7.4
PATCH v3 8/9 engicam: imx6q: Return mmc dev 0 for icore
In reply to Jagan Tekiicorem6 has sd on usdhci1 which is devno 0 so return proper devno from board_mmc_get_env_dev for icorem6 and icorem_6rqs
--- board/engicam/imx6q/imx6q.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
board/engicam/imx6q/imx6q.c +2 -1
@@ -193,6 +193,7 @@ void setup_display(void)#ifdef CONFIG_ENV_IS_IN_MMC int board_mmc_get_env_dev (int devno) { -return devno -1 ; +/* i.CoreM6 RQS has USDHC3 for SD and USDHC4 for eMMC */ +return (devno ==0 ) ?0 : (devno -1 ); }#endif
Signature · 1 line
2.7.4
PATCH v3 9/9 configs: icore-rqs: Enable falcon mode
In reply to Jagan Teki--- configs/imx6qdl_icore_rqs_defconfig | 1 + 1 file changed, 1 insertion(+)
configs/imx6qdl_icore_rqs_defconfig +1 -0
@@ -16,6 +16,7 @@ CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg" CONFIG_BOOTDELAY=3 CONFIG_SPL=y CONFIG_SPL_EXT_SUPPORT=y +CONFIG_SPL_OS_BOOT=y CONFIG_HUSH_PARSER=y CONFIG_SYS_PROMPT="icorem6qdl-rqs> " CONFIG_CRC32_VERIFY=y
Signature · 1 line
2.7.4
v3 cover i.MX6: engicam: Add SPL_OF_CONTROL support
In reply to Jagan TekiQuoted 7 lines · Jagan Teki
This series has fix for data abort[1] which is observed for pinctrl data before reloaction, thanks Lokesh for the suggestions.
Changes for v3:
- Add pinctrl data fix for 'data abort' issue
- Add proper mmc get env device support for imx6q boards
- Enabled falcon foricorem6_rqs
Applied (whole series) to u-boot-imx, thanks !
Best regards,
Stefano Babic
Quoted 80 lines
Changes for v2:
- Fixed imx6ul build issue
- Add FDT support formx6ul_14x14_evk[1] https://www.mail-archive.com/u-boot at lists.denx.de/msg267220.html
Jagan Teki (9):
i.MX6: engicam: Moveset_fdt_fileto common i.MX6Q: icorem6: Move spl load fit to common/spl i.MX6Q: icore: AddSPL_OF_CONTROLsupport
pinctrl: imx6ul: Fix pinctrl data overlapped with DT area i.MX6UL: icore: AddSPL_OF_CONTROLsupport
board: icore-rqs: Fix mmc get env device
i.MX6: engicam: Add imx6q/imx6ul boards for existing boards
engicam: imx6q: Return mmc dev 0 for icore
configs: icore-rqs: Enable falcon modearch/arm/dts/imx6qdl-icore-rqs.dtsi | 7 + arch/arm/dts/imx6qdl-icore.dtsi | 2 + arch/arm/dts/imx6qdl.dtsi | 5 + arch/arm/dts/imx6ul-geam-kit.dts | 4 + arch/arm/dts/imx6ul-isiot-emmc.dts | 2 + arch/arm/dts/imx6ul-isiot.dtsi | 2 + arch/arm/dts/imx6ul.dtsi | 6 + arch/arm/mach-imx/mx6/Kconfig | 49 ++--- board/engicam/common/board.c | 24 ++ board/engicam/common/board.h | 1 - board/engicam/common/spl.c | 42 ++++ board/engicam/geam6ul/MAINTAINERS | 8 - board/engicam/geam6ul/README | 28 --- 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 | 124 +---------- board/engicam/{geam6ul => imx6q}/Kconfig | 4 +- board/engicam/{icorem6 => imx6q}/MAINTAINERS | 8 +- board/engicam/{geam6ul => imx6q}/Makefile | 2 +- board/engicam/{icorem6_rqs => imx6q}/README | 9 +- board/engicam/{icorem6/icorem6.c => imx6q/imx6q.c} | 98 +-------- board/engicam/{icorem6 => imx6ul}/Kconfig | 4 +- board/engicam/{isiotmx6ul => imx6ul}/MAINTAINERS | 9 +- board/engicam/{icorem6 => imx6ul}/Makefile | 2 +- board/engicam/{icorem6 => imx6ul}/README | 11 +- .../engicam/{geam6ul/geam6ul.c => imx6ul/imx6ul.c} | 88 +------- board/engicam/isiotmx6ul/Kconfig | 12 - board/engicam/isiotmx6ul/Makefile | 6 - board/engicam/isiotmx6ul/README | 28 --- board/engicam/isiotmx6ul/isiotmx6ul.c | 241 --------------------- configs/imx6qdl_icore_mmc_defconfig | 3 +- configs/imx6qdl_icore_nand_defconfig | 2 +- configs/imx6qdl_icore_rqs_defconfig | 4 +- configs/imx6ul_geam_mmc_defconfig | 3 +- configs/imx6ul_geam_nand_defconfig | 2 +- configs/imx6ul_isiot_emmc_defconfig | 3 +- configs/imx6ul_isiot_mmc_defconfig | 3 +- configs/imx6ul_isiot_nand_defconfig | 2 +- drivers/pinctrl/nxp/pinctrl-imx6.c | 7 +- include/configs/imx6-engicam.h | 11 - 41 files changed, 170 insertions(+), 723 deletions(-) delete mode 100644 board/engicam/geam6ul/MAINTAINERS delete mode 100644 board/engicam/geam6ul/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 rename board/engicam/{geam6ul => imx6q}/Kconfig (73%) rename board/engicam/{icorem6 => imx6q}/MAINTAINERS (58%) rename board/engicam/{geam6ul => imx6q}/Makefile (80%) rename board/engicam/{icorem6_rqs => imx6q}/README (71%) rename board/engicam/{icorem6/icorem6.c => imx6q/imx6q.c} (72%) rename board/engicam/{icorem6 => imx6ul}/Kconfig (72%) rename board/engicam/{isiotmx6ul => imx6ul}/MAINTAINERS (69%) rename board/engicam/{icorem6 => imx6ul}/Makefile (80%) rename board/engicam/{icorem6 => imx6ul}/README (74%) rename board/engicam/{geam6ul/geam6ul.c => imx6ul/imx6ul.c} (59%) delete mode 100644 board/engicam/isiotmx6ul/Kconfig delete mode 100644 board/engicam/isiotmx6ul/Makefile delete mode 100644 board/engicam/isiotmx6ul/README delete mode 100644 board/engicam/isiotmx6ul/isiotmx6ul.c
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 =====================================================================