[U-Boot] [PATCH v5 00/21] imx6: Add Engicam i.CoreM6 QDL support

From: Jagan Teki jagan@amarulasolutions.com
This series supports Engicam i.CoreM6 QDL modules on top of u-boot-imx.git/next and test on the respective starter kits as well.
Tested both MMC and NAND boot.
Changes for v5: - Add NAND support
Changes for v4: - Add 'net: Kconfig: Add FEC_MXC entry' patch - Updated ENV configs along with comments - Restructured configs for more readability - Add CONFIG_ENV_OVERWRITE - Rename icorem6qdl_defconfig with icorem6qdl_mmc_defconfig
Changes for v3: - Remove "v2 01/17 imx: iomux-v3: Fix build error with snvs base" patch - Remove 'default n' on Kconfig DEFAULT_FDT_FILE patch - Add minimal devicetree support for Engicam i.CoreM6 QDL - Add is_mx6dl() - Add is_mx6solo() - Use is_mx6dq() - Add last commit sha1 and header in pull devicetree files from Linux
Changes for v2: - Make static to local iomux structure in board file - Corrected rowaddr in mx6_ddr3_cfg - Used imx_ddr_size - Add FEC support and tested the same - Add DM_GPIO, DM_MMC support - Add pinctrl support - Add devicetree support
Jagan Teki (21): serial: Kconfig: Add MXC_UART entry thermal: Kconfig: Add IMX_THERMAL entry Kconfig: Add DEFAULT_FDT_FILE entry arm: imx: Add Engicam i.CoreM6 QDL Starter Kit initial support net: Kconfig: Add FEC_MXC entry imx6: icorem6: Add ENET support imx: s/docs/README.imximage/doc/README.imximage/g arm: dts: Add devicetree for i.MX6DL arm: dts: Add devicetree for i.MX6DQL arm: dts: imx6dl: Add pinctrl defines dt-bindings: clock: imx6qdl: Add clock defines arm: imx6q: Add devicetree support for Engicam i.CoreM6 DualLite/Solo imx6q: icorem6: Enable pinctrl driver engicam: icorem6: Add DM_GPIO, DM_MMC support arm: dts: Add devicetree for i.MX6Q arm: dts: imx6q: Add pinctrl defines arm: imx6q: Add devicetree support for Engicam i.CoreM6 Quad/Dual mtd: nand: Kconfig: Add NAND_MXS entry imx6: icorem6: Add NAND support imx6: icorem6: Enable MTD device support imx6: icorem6: Add default mtd nand partition table
arch/arm/cpu/armv7/mx6/Kconfig | 11 + arch/arm/dts/Makefile | 4 +- arch/arm/dts/imx6dl-icore.dts | 59 ++ arch/arm/dts/imx6dl-pinfunc.h | 1091 +++++++++++++++++++++++ arch/arm/dts/imx6dl.dtsi | 133 +++ arch/arm/dts/imx6q-icore.dts | 59 ++ arch/arm/dts/imx6q-pinfunc.h | 1047 ++++++++++++++++++++++ arch/arm/dts/imx6q.dtsi | 300 +++++++ arch/arm/dts/imx6qdl-icore.dtsi | 196 ++++ arch/arm/dts/imx6qdl.dtsi | 1281 +++++++++++++++++++++++++++ arch/arm/include/asm/imx-common/sys_proto.h | 2 + board/barco/titanium/imximage.cfg | 2 +- board/ccv/xpress/imximage.cfg | 2 +- board/denx/m53evk/imximage.cfg | 2 +- board/engicam/icorem6/Kconfig | 12 + board/engicam/icorem6/MAINTAINERS | 6 + board/engicam/icorem6/Makefile | 6 + board/engicam/icorem6/README | 38 + board/engicam/icorem6/icorem6.c | 537 +++++++++++ board/freescale/mx6sabresd/mx6dlsabresd.cfg | 2 +- board/freescale/mx6slevk/imximage.cfg | 2 +- board/freescale/mx6ullevk/imximage.cfg | 2 +- board/freescale/mx7dsabresd/imximage.cfg | 2 +- board/freescale/s32v234evb/s32v234evb.cfg | 2 +- board/freescale/vf610twr/imximage.cfg | 2 +- board/phytec/pcm052/imximage.cfg | 2 +- board/technexion/pico-imx6ul/imximage.cfg | 2 +- board/toradex/colibri_imx7/imximage.cfg | 2 +- board/toradex/colibri_vf/imximage.cfg | 2 +- board/warp/imximage.cfg | 2 +- board/warp7/imximage.cfg | 2 +- common/Kconfig | 5 + configs/imx6qdl_icore_mmc_defconfig | 34 + configs/imx6qdl_icore_nand_defconfig | 30 + drivers/mtd/nand/Kconfig | 7 + drivers/net/Kconfig | 7 + drivers/serial/Kconfig | 7 + drivers/thermal/Kconfig | 13 + include/configs/imx6qdl_icore.h | 168 ++++ include/dt-bindings/clock/imx6qdl-clock.h | 274 ++++++ 40 files changed, 5341 insertions(+), 16 deletions(-) create mode 100644 arch/arm/dts/imx6dl-icore.dts create mode 100644 arch/arm/dts/imx6dl-pinfunc.h create mode 100644 arch/arm/dts/imx6dl.dtsi create mode 100644 arch/arm/dts/imx6q-icore.dts create mode 100644 arch/arm/dts/imx6q-pinfunc.h create mode 100644 arch/arm/dts/imx6q.dtsi create mode 100644 arch/arm/dts/imx6qdl-icore.dtsi create mode 100644 arch/arm/dts/imx6qdl.dtsi create mode 100644 board/engicam/icorem6/Kconfig create mode 100644 board/engicam/icorem6/MAINTAINERS create mode 100644 board/engicam/icorem6/Makefile create mode 100644 board/engicam/icorem6/README create mode 100644 board/engicam/icorem6/icorem6.c create mode 100644 configs/imx6qdl_icore_mmc_defconfig create mode 100644 configs/imx6qdl_icore_nand_defconfig create mode 100644 include/configs/imx6qdl_icore.h create mode 100644 include/dt-bindings/clock/imx6qdl-clock.h

Hi Stefano,
On Wed, Sep 28, 2016 at 11:57 PM, Jagan Teki jteki@openedev.com wrote:
From: Jagan Teki jagan@amarulasolutions.com
This series supports Engicam i.CoreM6 QDL modules on top of u-boot-imx.git/next and test on the respective starter kits as well.
Tested both MMC and NAND boot.
Changes for v5: - Add NAND support
Changes for v4: - Add 'net: Kconfig: Add FEC_MXC entry' patch - Updated ENV configs along with comments - Restructured configs for more readability - Add CONFIG_ENV_OVERWRITE - Rename icorem6qdl_defconfig with icorem6qdl_mmc_defconfig
Changes for v3: - Remove "v2 01/17 imx: iomux-v3: Fix build error with snvs base" patch - Remove 'default n' on Kconfig DEFAULT_FDT_FILE patch - Add minimal devicetree support for Engicam i.CoreM6 QDL - Add is_mx6dl() - Add is_mx6solo() - Use is_mx6dq() - Add last commit sha1 and header in pull devicetree files from Linux
Changes for v2: - Make static to local iomux structure in board file - Corrected rowaddr in mx6_ddr3_cfg - Used imx_ddr_size - Add FEC support and tested the same - Add DM_GPIO, DM_MMC support - Add pinctrl support - Add devicetree support
Jagan Teki (21): serial: Kconfig: Add MXC_UART entry thermal: Kconfig: Add IMX_THERMAL entry Kconfig: Add DEFAULT_FDT_FILE entry arm: imx: Add Engicam i.CoreM6 QDL Starter Kit initial support net: Kconfig: Add FEC_MXC entry imx6: icorem6: Add ENET support imx: s/docs/README.imximage/doc/README.imximage/g arm: dts: Add devicetree for i.MX6DL arm: dts: Add devicetree for i.MX6DQL arm: dts: imx6dl: Add pinctrl defines dt-bindings: clock: imx6qdl: Add clock defines arm: imx6q: Add devicetree support for Engicam i.CoreM6 DualLite/Solo imx6q: icorem6: Enable pinctrl driver engicam: icorem6: Add DM_GPIO, DM_MMC support arm: dts: Add devicetree for i.MX6Q arm: dts: imx6q: Add pinctrl defines arm: imx6q: Add devicetree support for Engicam i.CoreM6 Quad/Dual mtd: nand: Kconfig: Add NAND_MXS entry imx6: icorem6: Add NAND support imx6: icorem6: Enable MTD device support imx6: icorem6: Add default mtd nand partition table
Can you pick this series.
thanks!

Hi Jagan,
On 30/09/2016 08:44, Jagan Teki wrote:
Can you pick this series.
Series cannot be applied: I see several issue. The series breaks for different reason a lot of boards. I get 3 boards broken and 15 with warnings. Here the resons:
CONFIG_DEFAULT_FDT_FILE was moved to Kconfig, but without updating the boards that have already defined. This generated a duplication, for example :
w+include/configs/mx53ard.h:84:0: warning: "CONFIG_DEFAULT_FDT_FILE" redefined [enabled by default] w+include/generated/autoconf.h:13:0: note: this is the location of the previous definition arm: + dms-ba16-1g +In file included from include/config.h:5:0,
You have to move at the same time all CONFIG_DEFAULT_FDT_FILE from the board's config file to defconfig.
I add at the same time build errors by compiling the new boards, for example:
arm: + imx6qdl_icore_mmc +arch/arm/imx-common/cpu.c: At top level: +arch/arm/cpu/armv7/built-in.o: In function `lldiv': +include/div64.h:45: undefined reference to `__div64_32' +arch/arm/cpu/armv7/built-in.o: In function `lpddr2_rl': +arch/arm/cpu/armv7/mx6/ddr.c:943: undefined reference to `hang' +arch/arm/cpu/armv7/built-in.o: In function `mx6_lpddr2_cfg': +arch/arm/cpu/armv7/mx6/ddr.c:1175: undefined reference to `mdelay' +arch/arm/cpu/armv7/built-in.o: In function `mx6_ddr3_cfg': +arch/arm/cpu/armv7/mx6/ddr.c:1281: undefined reference to `hang' +arch/arm/cpu/armv7/mx6/ddr.c:1480: undefined reference to `mdelay' +arch/arm/cpu/armv7/built-in.o: In function `mx6_dram_cfg': +arch/arm/cpu/armv7/mx6/ddr.c:1493: undefined reference to `hang'
It looks strange, it is maybe due to the fact that I am rearranging the order how I apply the patches because I see issues in other patchset. But can you check it, please ?
Best regards, Stefano Babic

On Tue, Oct 4, 2016 at 6:58 PM, Stefano Babic sbabic@denx.de wrote:
Hi Jagan,
On 30/09/2016 08:44, Jagan Teki wrote:
Can you pick this series.
Series cannot be applied: I see several issue. The series breaks for different reason a lot of boards. I get 3 boards broken and 15 with warnings. Here the resons:
CONFIG_DEFAULT_FDT_FILE was moved to Kconfig, but without updating the boards that have already defined. This generated a duplication, for example :
w+include/configs/mx53ard.h:84:0: warning: "CONFIG_DEFAULT_FDT_FILE" redefined [enabled by default] w+include/generated/autoconf.h:13:0: note: this is the location of the previous definition arm: + dms-ba16-1g +In file included from include/config.h:5:0,
You have to move at the same time all CONFIG_DEFAULT_FDT_FILE from the board's config file to defconfig.
I add at the same time build errors by compiling the new boards, for example:
arm: + imx6qdl_icore_mmc
+arch/arm/imx-common/cpu.c: At top level: +arch/arm/cpu/armv7/built-in.o: In function `lldiv': +include/div64.h:45: undefined reference to `__div64_32' +arch/arm/cpu/armv7/built-in.o: In function `lpddr2_rl': +arch/arm/cpu/armv7/mx6/ddr.c:943: undefined reference to `hang' +arch/arm/cpu/armv7/built-in.o: In function `mx6_lpddr2_cfg': +arch/arm/cpu/armv7/mx6/ddr.c:1175: undefined reference to `mdelay' +arch/arm/cpu/armv7/built-in.o: In function `mx6_ddr3_cfg': +arch/arm/cpu/armv7/mx6/ddr.c:1281: undefined reference to `hang' +arch/arm/cpu/armv7/mx6/ddr.c:1480: undefined reference to `mdelay' +arch/arm/cpu/armv7/built-in.o: In function `mx6_dram_cfg': +arch/arm/cpu/armv7/mx6/ddr.c:1493: undefined reference to `hang'
It looks strange, it is maybe due to the fact that I am rearranging the order how I apply the patches because I see issues in other patchset. But can you check it, please ?
May be because of u-boot-imx/master is head, shall I try it on master instead of next?
thanks!

Hi Jagan,
On 04/10/2016 15:43, Jagan Teki wrote:
On Tue, Oct 4, 2016 at 6:58 PM, Stefano Babic sbabic@denx.de wrote:
Hi Jagan,
On 30/09/2016 08:44, Jagan Teki wrote:
Can you pick this series.
Series cannot be applied: I see several issue. The series breaks for different reason a lot of boards. I get 3 boards broken and 15 with warnings. Here the resons:
CONFIG_DEFAULT_FDT_FILE was moved to Kconfig, but without updating the boards that have already defined. This generated a duplication, for example :
w+include/configs/mx53ard.h:84:0: warning: "CONFIG_DEFAULT_FDT_FILE" redefined [enabled by default] w+include/generated/autoconf.h:13:0: note: this is the location of the previous definition arm: + dms-ba16-1g +In file included from include/config.h:5:0,
You have to move at the same time all CONFIG_DEFAULT_FDT_FILE from the board's config file to defconfig.
I add at the same time build errors by compiling the new boards, for example:
arm: + imx6qdl_icore_mmc
+arch/arm/imx-common/cpu.c: At top level: +arch/arm/cpu/armv7/built-in.o: In function `lldiv': +include/div64.h:45: undefined reference to `__div64_32' +arch/arm/cpu/armv7/built-in.o: In function `lpddr2_rl': +arch/arm/cpu/armv7/mx6/ddr.c:943: undefined reference to `hang' +arch/arm/cpu/armv7/built-in.o: In function `mx6_lpddr2_cfg': +arch/arm/cpu/armv7/mx6/ddr.c:1175: undefined reference to `mdelay' +arch/arm/cpu/armv7/built-in.o: In function `mx6_ddr3_cfg': +arch/arm/cpu/armv7/mx6/ddr.c:1281: undefined reference to `hang' +arch/arm/cpu/armv7/mx6/ddr.c:1480: undefined reference to `mdelay' +arch/arm/cpu/armv7/built-in.o: In function `mx6_dram_cfg': +arch/arm/cpu/armv7/mx6/ddr.c:1493: undefined reference to `hang'
It looks strange, it is maybe due to the fact that I am rearranging the order how I apply the patches because I see issues in other patchset. But can you check it, please ?
May be because of u-boot-imx/master is head, shall I try it on master instead of next?
Please try with -master. Anyway, I have pushed my rearranged -next (just the order was changed due to issues in other patchset), and I see the same problems.
Regards, Stefano

Hi Stefano,
On Tue, Oct 4, 2016 at 10:51 PM, Stefano Babic sbabic@denx.de wrote:
Hi Jagan,
On 04/10/2016 15:43, Jagan Teki wrote:
On Tue, Oct 4, 2016 at 6:58 PM, Stefano Babic sbabic@denx.de wrote:
Hi Jagan,
On 30/09/2016 08:44, Jagan Teki wrote:
Can you pick this series.
Series cannot be applied: I see several issue. The series breaks for different reason a lot of boards. I get 3 boards broken and 15 with warnings. Here the resons:
CONFIG_DEFAULT_FDT_FILE was moved to Kconfig, but without updating the boards that have already defined. This generated a duplication, for example :
w+include/configs/mx53ard.h:84:0: warning: "CONFIG_DEFAULT_FDT_FILE" redefined [enabled by default] w+include/generated/autoconf.h:13:0: note: this is the location of the previous definition arm: + dms-ba16-1g +In file included from include/config.h:5:0,
You have to move at the same time all CONFIG_DEFAULT_FDT_FILE from the board's config file to defconfig.
I add at the same time build errors by compiling the new boards, for example:
arm: + imx6qdl_icore_mmc
+arch/arm/imx-common/cpu.c: At top level: +arch/arm/cpu/armv7/built-in.o: In function `lldiv': +include/div64.h:45: undefined reference to `__div64_32' +arch/arm/cpu/armv7/built-in.o: In function `lpddr2_rl': +arch/arm/cpu/armv7/mx6/ddr.c:943: undefined reference to `hang' +arch/arm/cpu/armv7/built-in.o: In function `mx6_lpddr2_cfg': +arch/arm/cpu/armv7/mx6/ddr.c:1175: undefined reference to `mdelay' +arch/arm/cpu/armv7/built-in.o: In function `mx6_ddr3_cfg': +arch/arm/cpu/armv7/mx6/ddr.c:1281: undefined reference to `hang' +arch/arm/cpu/armv7/mx6/ddr.c:1480: undefined reference to `mdelay' +arch/arm/cpu/armv7/built-in.o: In function `mx6_dram_cfg': +arch/arm/cpu/armv7/mx6/ddr.c:1493: undefined reference to `hang'
It looks strange, it is maybe due to the fact that I am rearranging the order how I apply the patches because I see issues in other patchset. But can you check it, please ?
May be because of u-boot-imx/master is head, shall I try it on master instead of next?
Please try with -master. Anyway, I have pushed my rearranged -next (just the order was changed due to issues in other patchset), and I see the same problems.
Fixed the issue, where few of the configs from mx6_spl.h has removed and tend to use it on defconfig (Simon patches did that) So I re-synced and rebased all.
Please find the v6 [PATCH v6 00/21] imx6: Add Engicam i.CoreM6 QDL support and try to apply fec_mxc dm conversion patches as well [PATCH v4 0/3] net: fec_mxc: Convert to DM
thanks!
participants (3)
-
Jagan Teki
-
Jagan Teki
-
Stefano Babic