Skip to contentSkip to conversation

imx6: Add Engicam GEAM6UL/i.CoreM6 RQS board support

PATCH Superseded Jagan Teki 2 participants 24 messages Dec 13, 2016 – Dec 16, 2016

Subsystems (5)
lore
Share & tools
lore

Jagan Teki

author
#0 lore raw

v4 cover imx6: Add Engicam GEAM6UL/i.CoreM6 RQS board support

From: Jagan Teki <[email protected]>

This is v4 for previous v3, v2 series[1] [2] on top of [3] series

Changes for v4:
- Add FEC patches.

Changes for v3:
- Add I2C support

Changes for v2:
- Add 'Acked-by' from Joe
- Add new i.CoreM6 RQS patches

[1] https://www.mail-archive.com/u-boot at lists.denx.de/msg230990.html
[2] https://www.mail-archive.com/u-boot at lists.denx.de/msg230283.html
[3] [PATCH v3 00/13] imx6: icorem6: Add dm-eth, framebuffer and I2C support

Jagan Teki (16):
arm: dts: Add devicetree for i.MX6UL
arm: imx6ul: Add Engicam GEAM6UL Starter Kit initial support
arm: dts: imx6ul-geam: Add I2C nodes
imx6: geam6ul: Add I2C support
imx6: geam6ul: Add NAND support
imx6: geam6ul: Enable MTD device support
imx6: geam6ul: Add default mtd nand partition table
arm: imx6q: Add Engicam i.CoreM6 Quad/Dual RQS Starter Kit initial
support
arm: imx6q: Add Engicam i.CoreM6 Solo/Duallite RQS Starter Kit initial
support
imx6: icorem6: Rename engicam icorem6 defconfig files
arm: dts: imx6qdl-icore-rqs: Add I2C node's
imx6: icorem6_rqs: Add I2C support
arm: dts: imx6ul-geam: Add FEC node
imx6: geam6ul: Add FEC support
arm: dts: imx6qdl-icore-rqs: Add FEC node
imx6: icorem6_rqs: Add FEC support

 arch/arm/cpu/armv7/mx6/Kconfig                     |  26 +
 arch/arm/dts/Makefile                              |   5 +-
 arch/arm/dts/imx6dl-icore-rqs.dts                  |  50 ++
 arch/arm/dts/imx6q-icore-rqs.dts                   |  50 ++
 arch/arm/dts/imx6qdl-icore-rqs.dtsi                | 170 ++++
 arch/arm/dts/imx6ul-geam-kit.dts                   | 168 ++++
 arch/arm/dts/imx6ul.dtsi                           | 942 +++++++++++++++++++++
 board/engicam/geam6ul/Kconfig                      |  12 +
 board/engicam/geam6ul/MAINTAINERS                  |   6 +
 board/engicam/geam6ul/Makefile                     |   6 +
 board/engicam/geam6ul/README                       |  28 +
 board/engicam/geam6ul/geam6ul.c                    | 317 +++++++
 board/engicam/icorem6/MAINTAINERS                  |   6 +-
 board/engicam/icorem6/README                       |  19 +-
 board/engicam/icorem6_rqs/Kconfig                  |  12 +
 board/engicam/icorem6_rqs/MAINTAINERS              |   7 +
 board/engicam/icorem6_rqs/Makefile                 |   6 +
 board/engicam/icorem6_rqs/README                   |  33 +
 board/engicam/icorem6_rqs/icorem6_rqs.c            | 399 +++++++++
 ...re_mmc_defconfig => imx6dl_icore_mmc_defconfig} |   0
 ..._nand_defconfig => imx6dl_icore_nand_defconfig} |   0
 configs/imx6dl_icore_rqs_mmc_defconfig             |  43 +
 configs/imx6q_icore_mmc_defconfig                  |  46 +
 configs/imx6q_icore_nand_defconfig                 |  41 +
 configs/imx6q_icore_rqs_mmc_defconfig              |  43 +
 configs/imx6ul_geam_mmc_defconfig                  |  44 +
 configs/imx6ul_geam_nand_defconfig                 |  37 +
 include/configs/imx6qdl_icore_rqs.h                | 135 +++
 include/configs/imx6ul_geam.h                      | 165 ++++
 include/dt-bindings/clock/imx6ul-clock.h           |   1 +
 30 files changed, 2802 insertions(+), 15 deletions(-)
 create mode 100644 arch/arm/dts/imx6dl-icore-rqs.dts
 create mode 100644 arch/arm/dts/imx6q-icore-rqs.dts
 create mode 100644 arch/arm/dts/imx6qdl-icore-rqs.dtsi
 create mode 100644 arch/arm/dts/imx6ul-geam-kit.dts
 create mode 100644 arch/arm/dts/imx6ul.dtsi
 create mode 100644 board/engicam/geam6ul/Kconfig
 create mode 100644 board/engicam/geam6ul/MAINTAINERS
 create mode 100644 board/engicam/geam6ul/Makefile
 create mode 100644 board/engicam/geam6ul/README
 create mode 100644 board/engicam/geam6ul/geam6ul.c
 create mode 100644 board/engicam/icorem6_rqs/Kconfig
 create mode 100644 board/engicam/icorem6_rqs/MAINTAINERS
 create mode 100644 board/engicam/icorem6_rqs/Makefile
 create mode 100644 board/engicam/icorem6_rqs/README
 create mode 100644 board/engicam/icorem6_rqs/icorem6_rqs.c
 rename configs/{imx6qdl_icore_mmc_defconfig => imx6dl_icore_mmc_defconfig} (100%)
 rename configs/{imx6qdl_icore_nand_defconfig => imx6dl_icore_nand_defconfig} (100%)
 create mode 100644 configs/imx6dl_icore_rqs_mmc_defconfig
 create mode 100644 configs/imx6q_icore_mmc_defconfig
 create mode 100644 configs/imx6q_icore_nand_defconfig
 create mode 100644 configs/imx6q_icore_rqs_mmc_defconfig
 create mode 100644 configs/imx6ul_geam_mmc_defconfig
 create mode 100644 configs/imx6ul_geam_nand_defconfig
 create mode 100644 include/configs/imx6qdl_icore_rqs.h
 create mode 100644 include/configs/imx6ul_geam.h
Signature · 1 line
1.9.1
author
#1 lore raw

PATCH v4 1/16 arm: dts: Add devicetree for i.MX6UL

From: Jagan Teki <[email protected]>

Add i.MX6UL dtsi support from Linux.

Here is the last commit:
"ARM: dts: add gpio-ranges property to iMX GPIO controllers" (sha1: bb728d662bed0fe91b152550e640cb3f6caa972c)

Cc Stefano Babic <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 arch/arm/dts/imx6ul.dtsi                 | 942 +++++++++++++++++++++++++++++++
 include/dt-bindings/clock/imx6ul-clock.h |   1 +
 2 files changed, 943 insertions(+)
 create mode 100644 arch/arm/dts/imx6ul.dtsi
arch/arm/dts/imx6ul.dtsi new file +942 -0
new file mode 100644
index 0000000..c5c05fd
@@ -0,0 +1,942 @@
+/*
+ * Copyright 2015 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include <dt-bindings/clock/imx6ul-clock.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include "imx6ul-pinfunc.h"
+#include "skeleton.dtsi"
+
+/ {
+	aliases {
+		ethernet0 = &fec1;
+		ethernet1 = &fec2;
+		gpio0 = &gpio1;
+		gpio1 = &gpio2;
+		gpio2 = &gpio3;
+		gpio3 = &gpio4;
+		gpio4 = &gpio5;
+		i2c0 = &i2c1;
+		i2c1 = &i2c2;
+		i2c2 = &i2c3;
+		i2c3 = &i2c4;
+		mmc0 = &usdhc1;
+		mmc1 = &usdhc2;
+		serial0 = &uart1;
+		serial1 = &uart2;
+		serial2 = &uart3;
+		serial3 = &uart4;
+		serial4 = &uart5;
+		serial5 = &uart6;
+		serial6 = &uart7;
+		serial7 = &uart8;
+		sai1 = &sai1;
+		sai2 = &sai2;
+		sai3 = &sai3;
+		spi0 = &ecspi1;
+		spi1 = &ecspi2;
+		spi2 = &ecspi3;
+		spi3 = &ecspi4;
+		usbphy0 = &usbphy1;
+		usbphy1 = &usbphy2;
+	};
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu0: cpu at 0 {
+			compatible = "arm,cortex-a7";
+			device_type = "cpu";
+			reg = <0>;
+			clock-latency = <61036>; /* two CLK32 periods */
+			operating-points = <
+				/* kHz	uV */
+				528000	1175000
+				396000	1025000
+				198000	950000
+			>;
+			fsl,soc-operating-points = <
+				/* KHz	uV */
+				528000	1175000
+				396000	1175000
+				198000	1175000
+			>;
+			clocks = <&clks IMX6UL_CLK_ARM>,
+				 <&clks IMX6UL_CLK_PLL2_BUS>,
+				 <&clks IMX6UL_CLK_PLL2_PFD2>,
+				 <&clks IMX6UL_CA7_SECONDARY_SEL>,
+				 <&clks IMX6UL_CLK_STEP>,
+				 <&clks IMX6UL_CLK_PLL1_SW>,
+				 <&clks IMX6UL_CLK_PLL1_SYS>,
+				 <&clks IMX6UL_PLL1_BYPASS>,
+				 <&clks IMX6UL_CLK_PLL1>,
+				 <&clks IMX6UL_PLL1_BYPASS_SRC>,
+				 <&clks IMX6UL_CLK_OSC>;
+			clock-names = "arm", "pll2_bus",  "pll2_pfd2_396m",
+				      "secondary_sel", "step", "pll1_sw",
+				      "pll1_sys", "pll1_bypass", "pll1",
+				      "pll1_bypass_src", "osc";
+			arm-supply = <&reg_arm>;
+			soc-supply = <&reg_soc>;
+		};
+	};
+
+	intc: interrupt-controller at 00a01000 {
+		compatible = "arm,cortex-a7-gic";
+		#interrupt-cells = <3>;
+		interrupt-controller;
+		reg = <0x00a01000 0x1000>,
+		      <0x00a02000 0x1000>,
+		      <0x00a04000 0x2000>,
+		      <0x00a06000 0x2000>;
+	};
+
+	ckil: clock-cli {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <32768>;
+		clock-output-names = "ckil";
+	};
+
+	osc: clock-osc {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <24000000>;
+		clock-output-names = "osc";
+	};
+
+	ipp_di0: clock-di0 {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <0>;
+		clock-output-names = "ipp_di0";
+	};
+
+	ipp_di1: clock-di1 {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <0>;
+		clock-output-names = "ipp_di1";
+	};
+
+	soc {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "simple-bus";
+		interrupt-parent = <&gpc>;
+		ranges;
+
+		pmu {
+			compatible = "arm,cortex-a7-pmu";
+			interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
+			status = "disabled";
+		};
+
+		ocram: sram at 00900000 {
+			compatible = "mmio-sram";
+			reg = <0x00900000 0x20000>;
+		};
+
+		dma_apbh: dma-apbh at 01804000 {
+			compatible = "fsl,imx6q-dma-apbh", "fsl,imx28-dma-apbh";
+			reg = <0x01804000 0x2000>;
+			interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>,
+				     <0 13 IRQ_TYPE_LEVEL_HIGH>,
+				     <0 13 IRQ_TYPE_LEVEL_HIGH>,
+				     <0 13 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3";
+			#dma-cells = <1>;
+			dma-channels = <4>;
+			clocks = <&clks IMX6UL_CLK_APBHDMA>;
+		};
+
+		gpmi: gpmi-nand at 01806000         {
+			compatible = "fsl,imx6q-gpmi-nand";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			reg = <0x01806000 0x2000>, <0x01808000 0x2000>;
+			reg-names = "gpmi-nand", "bch";
+			interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "bch";
+			clocks = <&clks IMX6UL_CLK_GPMI_IO>,
+				 <&clks IMX6UL_CLK_GPMI_APB>,
+				 <&clks IMX6UL_CLK_GPMI_BCH>,
+				 <&clks IMX6UL_CLK_GPMI_BCH_APB>,
+				 <&clks IMX6UL_CLK_PER_BCH>;
+			clock-names = "gpmi_io", "gpmi_apb", "gpmi_bch",
+				      "gpmi_bch_apb", "per1_bch";
+			dmas = <&dma_apbh 0>;
+			dma-names = "rx-tx";
+			status = "disabled";
+		};
+
+		aips1: aips-bus at 02000000 {
+			compatible = "fsl,aips-bus", "simple-bus";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			reg = <0x02000000 0x100000>;
+			ranges;
+
+			spba-bus at 02000000 {
+				compatible = "fsl,spba-bus", "simple-bus";
+				#address-cells = <1>;
+				#size-cells = <1>;
+				reg = <0x02000000 0x40000>;
+				ranges;
+
+				ecspi1: ecspi at 02008000 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
+					reg = <0x02008000 0x4000>;
+					interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&clks IMX6UL_CLK_ECSPI1>,
+						 <&clks IMX6UL_CLK_ECSPI1>;
+					clock-names = "ipg", "per";
+					status = "disabled";
+				};
+
+				ecspi2: ecspi at 0200c000 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
+					reg = <0x0200c000 0x4000>;
+					interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&clks IMX6UL_CLK_ECSPI2>,
+						 <&clks IMX6UL_CLK_ECSPI2>;
+					clock-names = "ipg", "per";
+					status = "disabled";
+				};
+
+				ecspi3: ecspi at 02010000 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
+					reg = <0x02010000 0x4000>;
+					interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&clks IMX6UL_CLK_ECSPI3>,
+						 <&clks IMX6UL_CLK_ECSPI3>;
+					clock-names = "ipg", "per";
+					status = "disabled";
+				};
+
+				ecspi4: ecspi at 02014000 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
+					reg = <0x02014000 0x4000>;
+					interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&clks IMX6UL_CLK_ECSPI4>,
+						 <&clks IMX6UL_CLK_ECSPI4>;
+					clock-names = "ipg", "per";
+					status = "disabled";
+				};
+
+				uart7: serial at 02018000 {
+					compatible = "fsl,imx6ul-uart",
+						     "fsl,imx6q-uart";
+					reg = <0x02018000 0x4000>;
+					interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&clks IMX6UL_CLK_UART7_IPG>,
+						 <&clks IMX6UL_CLK_UART7_SERIAL>;
+					clock-names = "ipg", "per";
+					status = "disabled";
+				};
+
+				uart1: serial at 02020000 {
+					compatible = "fsl,imx6ul-uart",
+						     "fsl,imx6q-uart";
+					reg = <0x02020000 0x4000>;
+					interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&clks IMX6UL_CLK_UART1_IPG>,
+						 <&clks IMX6UL_CLK_UART1_SERIAL>;
+					clock-names = "ipg", "per";
+					status = "disabled";
+				};
+
+				uart8: serial at 02024000 {
+					compatible = "fsl,imx6ul-uart",
+						     "fsl,imx6q-uart";
+					reg = <0x02024000 0x4000>;
+					interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&clks IMX6UL_CLK_UART8_IPG>,
+						 <&clks IMX6UL_CLK_UART8_SERIAL>;
+					clock-names = "ipg", "per";
+					status = "disabled";
+				};
+
+				sai1: sai at 02028000 {
+					#sound-dai-cells = <0>;
+					compatible = "fsl,imx6ul-sai", "fsl,imx6sx-sai";
+					reg = <0x02028000 0x4000>;
+					interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&clks IMX6UL_CLK_SAI1_IPG>,
+						 <&clks IMX6UL_CLK_SAI1>,
+						 <&clks IMX6UL_CLK_DUMMY>, <&clks IMX6UL_CLK_DUMMY>;
+					clock-names = "bus", "mclk1", "mclk2", "mclk3";
+					dmas = <&sdma 35 24 0>,
+					       <&sdma 36 24 0>;
+					dma-names = "rx", "tx";
+					status = "disabled";
+				};
+
+				sai2: sai at 0202c000 {
+					#sound-dai-cells = <0>;
+					compatible = "fsl,imx6ul-sai", "fsl,imx6sx-sai";
+					reg = <0x0202c000 0x4000>;
+					interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&clks IMX6UL_CLK_SAI2_IPG>,
+						 <&clks IMX6UL_CLK_SAI2>,
+						 <&clks IMX6UL_CLK_DUMMY>, <&clks IMX6UL_CLK_DUMMY>;
+					clock-names = "bus", "mclk1", "mclk2", "mclk3";
+					dmas = <&sdma 37 24 0>,
+					       <&sdma 38 24 0>;
+					dma-names = "rx", "tx";
+					status = "disabled";
+				};
+
+				sai3: sai at 02030000 {
+					#sound-dai-cells = <0>;
+					compatible = "fsl,imx6ul-sai", "fsl,imx6sx-sai";
+					reg = <0x02030000 0x4000>;
+					interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
+					clocks = <&clks IMX6UL_CLK_SAI3_IPG>,
+						 <&clks IMX6UL_CLK_SAI3>,
+						 <&clks IMX6UL_CLK_DUMMY>, <&clks IMX6UL_CLK_DUMMY>;
+					clock-names = "bus", "mclk1", "mclk2", "mclk3";
+					dmas = <&sdma 39 24 0>,
+					       <&sdma 40 24 0>;
+					dma-names = "rx", "tx";
+					status = "disabled";
+				};
+			};
+
+			tsc: tsc at 02040000 {
+				compatible = "fsl,imx6ul-tsc";
+				reg = <0x02040000 0x4000>, <0x0219c000 0x4000>;
+				interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
+					     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_IPG>,
+					 <&clks IMX6UL_CLK_ADC2>;
+				clock-names = "tsc", "adc";
+				status = "disabled";
+			};
+
+			pwm1: pwm at 02080000 {
+				compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
+				reg = <0x02080000 0x4000>;
+				interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_PWM1>,
+					 <&clks IMX6UL_CLK_PWM1>;
+				clock-names = "ipg", "per";
+				#pwm-cells = <2>;
+				status = "disabled";
+			};
+
+			pwm2: pwm at 02084000 {
+				compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
+				reg = <0x02084000 0x4000>;
+				interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_PWM2>,
+					 <&clks IMX6UL_CLK_PWM2>;
+				clock-names = "ipg", "per";
+				#pwm-cells = <2>;
+				status = "disabled";
+			};
+
+			pwm3: pwm at 02088000 {
+				compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
+				reg = <0x02088000 0x4000>;
+				interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_PWM3>,
+					 <&clks IMX6UL_CLK_PWM3>;
+				clock-names = "ipg", "per";
+				#pwm-cells = <2>;
+				status = "disabled";
+			};
+
+			pwm4: pwm at 0208c000 {
+				compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
+				reg = <0x0208c000 0x4000>;
+				interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_PWM4>,
+					 <&clks IMX6UL_CLK_PWM4>;
+				clock-names = "ipg", "per";
+				#pwm-cells = <2>;
+				status = "disabled";
+			};
+
+			can1: flexcan at 02090000 {
+				compatible = "fsl,imx6ul-flexcan", "fsl,imx6q-flexcan";
+				reg = <0x02090000 0x4000>;
+				interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_CAN1_IPG>,
+					 <&clks IMX6UL_CLK_CAN1_SERIAL>;
+				clock-names = "ipg", "per";
+				status = "disabled";
+			};
+
+			can2: flexcan at 02094000 {
+				compatible = "fsl,imx6ul-flexcan", "fsl,imx6q-flexcan";
+				reg = <0x02094000 0x4000>;
+				interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_CAN2_IPG>,
+					 <&clks IMX6UL_CLK_CAN2_SERIAL>;
+				clock-names = "ipg", "per";
+				status = "disabled";
+			};
+
+			gpt1: gpt at 02098000 {
+				compatible = "fsl,imx6ul-gpt", "fsl,imx6sx-gpt";
+				reg = <0x02098000 0x4000>;
+				interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_GPT1_BUS>,
+					 <&clks IMX6UL_CLK_GPT1_SERIAL>;
+				clock-names = "ipg", "per";
+			};
+
+			gpio1: gpio at 0209c000 {
+				compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
+				reg = <0x0209c000 0x4000>;
+				interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
+					     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
+				gpio-controller;
+				#gpio-cells = <2>;
+				interrupt-controller;
+				#interrupt-cells = <2>;
+				gpio-ranges = <&iomuxc  0 23 10>, <&iomuxc 10 17 6>,
+					      <&iomuxc 16 33 16>;
+			};
+
+			gpio2: gpio at 020a0000 {
+				compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
+				reg = <0x020a0000 0x4000>;
+				interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
+					     <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
+				gpio-controller;
+				#gpio-cells = <2>;
+				interrupt-controller;
+				#interrupt-cells = <2>;
+				gpio-ranges = <&iomuxc 0 49 16>, <&iomuxc 16 111 6>;
+			};
+
+			gpio3: gpio at 020a4000 {
+				compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
+				reg = <0x020a4000 0x4000>;
+				interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
+					     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
+				gpio-controller;
+				#gpio-cells = <2>;
+				interrupt-controller;
+				#interrupt-cells = <2>;
+				gpio-ranges = <&iomuxc 0 65 29>;
+			};
+
+			gpio4: gpio at 020a8000 {
+				compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
+				reg = <0x020a8000 0x4000>;
+				interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
+					     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
+				gpio-controller;
+				#gpio-cells = <2>;
+				interrupt-controller;
+				#interrupt-cells = <2>;
+				gpio-ranges = <&iomuxc 0 94 17>, <&iomuxc 17 117 12>;
+			};
+
+			gpio5: gpio at 020ac000 {
+				compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
+				reg = <0x020ac000 0x4000>;
+				interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
+					     <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
+				gpio-controller;
+				#gpio-cells = <2>;
+				interrupt-controller;
+				#interrupt-cells = <2>;
+				gpio-ranges = <&iomuxc 0 7 10>, <&iomuxc 10 5 2>;
+			};
+
+			fec2: ethernet at 020b4000 {
+				compatible = "fsl,imx6ul-fec", "fsl,imx6q-fec";
+				reg = <0x020b4000 0x4000>;
+				interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
+					     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_ENET>,
+					 <&clks IMX6UL_CLK_ENET_AHB>,
+					 <&clks IMX6UL_CLK_ENET_PTP>,
+					 <&clks IMX6UL_CLK_ENET2_REF_125M>,
+					 <&clks IMX6UL_CLK_ENET2_REF_125M>;
+				clock-names = "ipg", "ahb", "ptp",
+					      "enet_clk_ref", "enet_out";
+				fsl,num-tx-queues=<1>;
+				fsl,num-rx-queues=<1>;
+				status = "disabled";
+			};
+
+			kpp: kpp at 020b8000 {
+				compatible = "fsl,imx6ul-kpp", "fsl,imx6q-kpp", "fsl,imx21-kpp";
+				reg = <0x020b8000 0x4000>;
+				interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_KPP>;
+				status = "disabled";
+			};
+
+			wdog1: wdog at 020bc000 {
+				compatible = "fsl,imx6ul-wdt", "fsl,imx21-wdt";
+				reg = <0x020bc000 0x4000>;
+				interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_WDOG1>;
+			};
+
+			wdog2: wdog at 020c0000 {
+				compatible = "fsl,imx6ul-wdt", "fsl,imx21-wdt";
+				reg = <0x020c0000 0x4000>;
+				interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_WDOG2>;
+				status = "disabled";
+			};
+
+			clks: ccm at 020c4000 {
+				compatible = "fsl,imx6ul-ccm";
+				reg = <0x020c4000 0x4000>;
+				interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
+					     <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
+				#clock-cells = <1>;
+				clocks = <&ckil>, <&osc>, <&ipp_di0>, <&ipp_di1>;
+				clock-names = "ckil", "osc", "ipp_di0", "ipp_di1";
+			};
+
+			anatop: anatop at 020c8000 {
+				compatible = "fsl,imx6ul-anatop", "fsl,imx6q-anatop",
+					     "syscon", "simple-bus";
+				reg = <0x020c8000 0x1000>;
+				interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
+					     <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
+					     <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
+
+				reg_3p0: regulator-3p0 {
+					compatible = "fsl,anatop-regulator";
+					regulator-name = "vdd3p0";
+					regulator-min-microvolt = <2625000>;
+					regulator-max-microvolt = <3400000>;
+					anatop-reg-offset = <0x120>;
+					anatop-vol-bit-shift = <8>;
+					anatop-vol-bit-width = <5>;
+					anatop-min-bit-val = <0>;
+					anatop-min-voltage = <2625000>;
+					anatop-max-voltage = <3400000>;
+					anatop-enable-bit = <0>;
+				};
+
+				reg_arm: regulator-vddcore {
+					compatible = "fsl,anatop-regulator";
+					regulator-name = "cpu";
+					regulator-min-microvolt = <725000>;
+					regulator-max-microvolt = <1450000>;
+					regulator-always-on;
+					anatop-reg-offset = <0x140>;
+					anatop-vol-bit-shift = <0>;
+					anatop-vol-bit-width = <5>;
+					anatop-delay-reg-offset = <0x170>;
+					anatop-delay-bit-shift = <24>;
+					anatop-delay-bit-width = <2>;
+					anatop-min-bit-val = <1>;
+					anatop-min-voltage = <725000>;
+					anatop-max-voltage = <1450000>;
+				};
+
+				reg_soc: regulator-vddsoc {
+					compatible = "fsl,anatop-regulator";
+					regulator-name = "vddsoc";
+					regulator-min-microvolt = <725000>;
+					regulator-max-microvolt = <1450000>;
+					regulator-always-on;
+					anatop-reg-offset = <0x140>;
+					anatop-vol-bit-shift = <18>;
+					anatop-vol-bit-width = <5>;
+					anatop-delay-reg-offset = <0x170>;
+					anatop-delay-bit-shift = <28>;
+					anatop-delay-bit-width = <2>;
+					anatop-min-bit-val = <1>;
+					anatop-min-voltage = <725000>;
+					anatop-max-voltage = <1450000>;
+				};
+			};
+
+			usbphy1: usbphy at 020c9000 {
+				compatible = "fsl,imx6ul-usbphy", "fsl,imx23-usbphy";
+				reg = <0x020c9000 0x1000>;
+				interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_USBPHY1>;
+				phy-3p0-supply = <&reg_3p0>;
+				fsl,anatop = <&anatop>;
+			};
+
+			usbphy2: usbphy at 020ca000 {
+				compatible = "fsl,imx6ul-usbphy", "fsl,imx23-usbphy";
+				reg = <0x020ca000 0x1000>;
+				interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_USBPHY2>;
+				phy-3p0-supply = <&reg_3p0>;
+				fsl,anatop = <&anatop>;
+			};
+
+			snvs: snvs at 020cc000 {
+				compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
+				reg = <0x020cc000 0x4000>;
+
+				snvs_rtc: snvs-rtc-lp {
+					compatible = "fsl,sec-v4.0-mon-rtc-lp";
+					regmap = <&snvs>;
+					offset = <0x34>;
+					interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
+						     <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
+				};
+
+				snvs_poweroff: snvs-poweroff {
+					compatible = "syscon-poweroff";
+					regmap = <&snvs>;
+					offset = <0x38>;
+					mask = <0x60>;
+					status = "disabled";
+				};
+
+				snvs_pwrkey: snvs-powerkey {
+					compatible = "fsl,sec-v4.0-pwrkey";
+					regmap = <&snvs>;
+					interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
+					linux,keycode = <KEY_POWER>;
+					wakeup-source;
+				};
+			};
+
+			epit1: epit at 020d0000 {
+				reg = <0x020d0000 0x4000>;
+				interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
+			};
+
+			epit2: epit at 020d4000 {
+				reg = <0x020d4000 0x4000>;
+				interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
+			};
+
+			src: src at 020d8000 {
+				compatible = "fsl,imx6ul-src", "fsl,imx51-src";
+				reg = <0x020d8000 0x4000>;
+				interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
+					     <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
+				#reset-cells = <1>;
+			};
+
+			gpc: gpc at 020dc000 {
+				compatible = "fsl,imx6ul-gpc", "fsl,imx6q-gpc";
+				reg = <0x020dc000 0x4000>;
+				interrupt-controller;
+				#interrupt-cells = <3>;
+				interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
+				interrupt-parent = <&intc>;
+			};
+
+			iomuxc: iomuxc at 020e0000 {
+				compatible = "fsl,imx6ul-iomuxc";
+				reg = <0x020e0000 0x4000>;
+			};
+
+			gpr: iomuxc-gpr at 020e4000 {
+				compatible = "fsl,imx6ul-iomuxc-gpr",
+					     "fsl,imx6q-iomuxc-gpr", "syscon";
+				reg = <0x020e4000 0x4000>;
+			};
+
+			gpt2: gpt at 020e8000 {
+				compatible = "fsl,imx6ul-gpt", "fsl,imx6sx-gpt";
+				reg = <0x020e8000 0x4000>;
+				interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_GPT2_BUS>,
+					 <&clks IMX6UL_CLK_GPT2_SERIAL>;
+				clock-names = "ipg", "per";
+			};
+
+			sdma: sdma at 020ec000 {
+				compatible = "fsl,imx6ul-sdma", "fsl,imx6q-sdma",
+					     "fsl,imx35-sdma";
+				reg = <0x020ec000 0x4000>;
+				interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_SDMA>,
+					 <&clks IMX6UL_CLK_SDMA>;
+				clock-names = "ipg", "ahb";
+				#dma-cells = <3>;
+				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin";
+			};
+
+			pwm5: pwm at 020f0000 {
+				compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
+				reg = <0x020f0000 0x4000>;
+				interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_PWM5>,
+					 <&clks IMX6UL_CLK_PWM5>;
+				clock-names = "ipg", "per";
+				#pwm-cells = <2>;
+				status = "disabled";
+			};
+
+			pwm6: pwm at 020f4000 {
+				compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
+				reg = <0x020f4000 0x4000>;
+				interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_PWM6>,
+					 <&clks IMX6UL_CLK_PWM6>;
+				clock-names = "ipg", "per";
+				#pwm-cells = <2>;
+				status = "disabled";
+			};
+
+			pwm7: pwm at 020f8000 {
+				compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
+				reg = <0x020f8000 0x4000>;
+				interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_PWM7>,
+					 <&clks IMX6UL_CLK_PWM7>;
+				clock-names = "ipg", "per";
+				#pwm-cells = <2>;
+				status = "disabled";
+			};
+
+			pwm8: pwm at 020fc000 {
+				compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
+				reg = <0x020fc000 0x4000>;
+				interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_PWM8>,
+					 <&clks IMX6UL_CLK_PWM8>;
+				clock-names = "ipg", "per";
+				#pwm-cells = <2>;
+				status = "disabled";
+			};
+		};
+
+		aips2: aips-bus at 02100000 {
+			compatible = "fsl,aips-bus", "simple-bus";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			reg = <0x02100000 0x100000>;
+			ranges;
+
+			usbotg1: usb at 02184000 {
+				compatible = "fsl,imx6ul-usb", "fsl,imx27-usb";
+				reg = <0x02184000 0x200>;
+				interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_USBOH3>;
+				fsl,usbphy = <&usbphy1>;
+				fsl,usbmisc = <&usbmisc 0>;
+				fsl,anatop = <&anatop>;
+				ahb-burst-config = <0x0>;
+				tx-burst-size-dword = <0x10>;
+				rx-burst-size-dword = <0x10>;
+				status = "disabled";
+			};
+
+			usbotg2: usb at 02184200 {
+				compatible = "fsl,imx6ul-usb", "fsl,imx27-usb";
+				reg = <0x02184200 0x200>;
+				interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_USBOH3>;
+				fsl,usbphy = <&usbphy2>;
+				fsl,usbmisc = <&usbmisc 1>;
+				ahb-burst-config = <0x0>;
+				tx-burst-size-dword = <0x10>;
+				rx-burst-size-dword = <0x10>;
+				status = "disabled";
+			};
+
+			usbmisc: usbmisc at 02184800 {
+				#index-cells = <1>;
+				compatible = "fsl,imx6ul-usbmisc", "fsl,imx6q-usbmisc";
+				reg = <0x02184800 0x200>;
+			};
+
+			fec1: ethernet at 02188000 {
+				compatible = "fsl,imx6ul-fec", "fsl,imx6q-fec";
+				reg = <0x02188000 0x4000>;
+				interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
+					     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_ENET>,
+					 <&clks IMX6UL_CLK_ENET_AHB>,
+					 <&clks IMX6UL_CLK_ENET_PTP>,
+					 <&clks IMX6UL_CLK_ENET_REF>,
+					 <&clks IMX6UL_CLK_ENET_REF>;
+				clock-names = "ipg", "ahb", "ptp",
+					      "enet_clk_ref", "enet_out";
+				fsl,num-tx-queues=<1>;
+				fsl,num-rx-queues=<1>;
+				status = "disabled";
+			};
+
+			usdhc1: usdhc at 02190000 {
+				compatible = "fsl,imx6ul-usdhc", "fsl,imx6sx-usdhc";
+				reg = <0x02190000 0x4000>;
+				interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_USDHC1>,
+					 <&clks IMX6UL_CLK_USDHC1>,
+					 <&clks IMX6UL_CLK_USDHC1>;
+				clock-names = "ipg", "ahb", "per";
+				bus-width = <4>;
+				status = "disabled";
+			};
+
+			usdhc2: usdhc at 02194000 {
+				compatible = "fsl,imx6ul-usdhc", "fsl,imx6sx-usdhc";
+				reg = <0x02194000 0x4000>;
+				interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_USDHC2>,
+					 <&clks IMX6UL_CLK_USDHC2>,
+					 <&clks IMX6UL_CLK_USDHC2>;
+				clock-names = "ipg", "ahb", "per";
+				bus-width = <4>;
+				status = "disabled";
+			};
+
+			adc1: adc at 02198000 {
+				compatible = "fsl,imx6ul-adc", "fsl,vf610-adc";
+				reg = <0x02198000 0x4000>;
+				interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_ADC1>;
+				num-channels = <2>;
+				clock-names = "adc";
+				fsl,adck-max-frequency = <30000000>, <40000000>,
+							 <20000000>;
+				status = "disabled";
+			};
+
+			i2c1: i2c at 021a0000 {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c";
+				reg = <0x021a0000 0x4000>;
+				interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_I2C1>;
+				status = "disabled";
+			};
+
+			i2c2: i2c at 021a4000 {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c";
+				reg = <0x021a4000 0x4000>;
+				interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_I2C2>;
+				status = "disabled";
+			};
+
+			i2c3: i2c at 021a8000 {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c";
+				reg = <0x021a8000 0x4000>;
+				interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_I2C3>;
+				status = "disabled";
+			};
+
+			mmdc: mmdc at 021b0000 {
+				compatible = "fsl,imx6ul-mmdc", "fsl,imx6q-mmdc";
+				reg = <0x021b0000 0x4000>;
+			};
+
+			lcdif: lcdif at 021c8000 {
+				compatible = "fsl,imx6ul-lcdif", "fsl,imx28-lcdif";
+				reg = <0x021c8000 0x4000>;
+				interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_LCDIF_PIX>,
+					 <&clks IMX6UL_CLK_LCDIF_APB>,
+					 <&clks IMX6UL_CLK_DUMMY>;
+				clock-names = "pix", "axi", "disp_axi";
+				status = "disabled";
+			};
+
+			qspi: qspi at 021e0000 {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				compatible = "fsl,imx6ul-qspi", "fsl,imx6sx-qspi";
+				reg = <0x021e0000 0x4000>, <0x60000000 0x10000000>;
+				reg-names = "QuadSPI", "QuadSPI-memory";
+				interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_QSPI>,
+					 <&clks IMX6UL_CLK_QSPI>;
+				clock-names = "qspi_en", "qspi";
+				status = "disabled";
+			};
+
+			uart2: serial at 021e8000 {
+				compatible = "fsl,imx6ul-uart",
+					     "fsl,imx6q-uart";
+				reg = <0x021e8000 0x4000>;
+				interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_UART2_IPG>,
+					 <&clks IMX6UL_CLK_UART2_SERIAL>;
+				clock-names = "ipg", "per";
+				status = "disabled";
+			};
+
+			uart3: serial at 021ec000 {
+				compatible = "fsl,imx6ul-uart",
+					     "fsl,imx6q-uart";
+				reg = <0x021ec000 0x4000>;
+				interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_UART3_IPG>,
+					 <&clks IMX6UL_CLK_UART3_SERIAL>;
+				clock-names = "ipg", "per";
+				status = "disabled";
+			};
+
+			uart4: serial at 021f0000 {
+				compatible = "fsl,imx6ul-uart",
+					     "fsl,imx6q-uart";
+				reg = <0x021f0000 0x4000>;
+				interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_UART4_IPG>,
+					 <&clks IMX6UL_CLK_UART4_SERIAL>;
+				clock-names = "ipg", "per";
+				status = "disabled";
+			};
+
+			uart5: serial at 021f4000 {
+				compatible = "fsl,imx6ul-uart",
+					     "fsl,imx6q-uart";
+				reg = <0x021f4000 0x4000>;
+				interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_UART5_IPG>,
+					 <&clks IMX6UL_CLK_UART5_SERIAL>;
+				clock-names = "ipg", "per";
+				status = "disabled";
+			};
+
+			i2c4: i2c at 021f8000 {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c";
+				reg = <0x021f8000 0x4000>;
+				interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_I2C4>;
+				status = "disabled";
+			};
+
+			uart6: serial at 021fc000 {
+				compatible = "fsl,imx6ul-uart",
+					     "fsl,imx6q-uart";
+				reg = <0x021fc000 0x4000>;
+				interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clks IMX6UL_CLK_UART6_IPG>,
+					 <&clks IMX6UL_CLK_UART6_SERIAL>;
+				clock-names = "ipg", "per";
+				status = "disabled";
+			};
+		};
+	};
+};
include/dt-bindings/clock/imx6ul-clock.h +1 -0
index 18de070..4623f17 100644
@@ -234,6 +234,7 @@
 #define IMX6UL_CLK_CSI_SEL		221
 #define IMX6UL_CLK_CSI_PODF		222
 #define IMX6UL_CLK_PLL3_120M		223
+#define IMX6UL_CLK_KPP			224
 /* For i.MX6ULL */
 #define IMX6UL_CLK_ESAI_SEL		224
 #define IMX6UL_CLK_ESAI_PRED		225
Signature · 1 line
1.9.1
author
#2 lore raw

PATCH v4 2/16 arm: imx6ul: Add Engicam GEAM6UL Starter Kit initial support

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

Boot Log:
--------
U-Boot SPL 2016.11-rc2-00144-g922adaa-dirty (Oct 28 2016 - 18:55:30) Trying to boot from MMC1

U-Boot 2016.11-rc2-00144-g922adaa-dirty (Oct 28 2016 - 18:55:30 +0530)

CPU:   Freescale i.MX6UL rev1.1 528 MHz (running at 396 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 43C
Reset cause: POR
Model: Engicam GEAM6UL
DRAM:  128 MiB
MMC:   FSL_SDHC: 0

*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   CPU Net Initialization Failed

No ethernet found.
Hit any key to stop autoboot: 0
geam6ul>

Cc Stefano Babic <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 arch/arm/cpu/armv7/mx6/Kconfig    |  11 ++
 arch/arm/dts/Makefile             |   3 +-
 arch/arm/dts/imx6ul-geam-kit.dts  | 119 ++++++++++++++++++
 board/engicam/geam6ul/Kconfig     |  12 ++
 board/engicam/geam6ul/MAINTAINERS |   6 +
 board/engicam/geam6ul/Makefile    |   6 +
 board/engicam/geam6ul/README      |  28 +++++
 board/engicam/geam6ul/geam6ul.c   | 246 ++++++++++++++++++++++++++++++++++++++
 configs/imx6ul_geam_mmc_defconfig |  39 ++++++
 include/configs/imx6ul_geam.h     | 125 +++++++++++++++++++
 10 files changed, 594 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/dts/imx6ul-geam-kit.dts
 create mode 100644 board/engicam/geam6ul/Kconfig
 create mode 100644 board/engicam/geam6ul/MAINTAINERS
 create mode 100644 board/engicam/geam6ul/Makefile
 create mode 100644 board/engicam/geam6ul/README
 create mode 100644 board/engicam/geam6ul/geam6ul.c
 create mode 100644 configs/imx6ul_geam_mmc_defconfig
 create mode 100644 include/configs/imx6ul_geam.h
arch/arm/cpu/armv7/mx6/Kconfig +11 -0
index b686476..4ba5338 100644
@@ -157,6 +157,16 @@ config TARGET_MX6UL_14X14_EVK
 	select DM_THERMAL
 	select SUPPORT_SPL
 
+config TARGET_MX6UL_GEAM
+	bool "Support Engicam GEAM6UL"
+	select MX6UL
+	select OF_CONTROL
+	select DM
+	select DM_GPIO
+	select DM_MMC
+	select DM_THERMAL
+	select SUPPORT_SPL
+
 config TARGET_MX6ULL_14X14_EVK
 	bool "Support mx6ull_14x14_evk"
 	select MX6ULL
@@ -255,6 +265,7 @@ source "board/compulab/cm_fx6/Kconfig"
 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/freescale/mx6qarm2/Kconfig"
 source "board/freescale/mx6qsabreauto/Kconfig"
arch/arm/dts/Makefile +2 -1
index ae47d81..14eebe7 100644
@@ -291,7 +291,8 @@ dtb-$(CONFIG_VF610) += vf500-colibri.dtb \
 
 dtb-$(CONFIG_MX6) += imx6ull-14x14-evk.dtb \
 	imx6dl-icore.dtb \
-	imx6q-icore.dtb
+	imx6q-icore.dtb \
+	imx6ul-geam-kit.dtb
 
 dtb-$(CONFIG_MX7) += imx7-colibri.dtb
 
arch/arm/dts/imx6ul-geam-kit.dts new file +119 -0

119 lines not on this page · raw message

board/engicam/geam6ul/Kconfig new file +12 -0
new file mode 100644
index 0000000..8753d15
@@ -0,0 +1,12 @@
+if TARGET_MX6UL_GEAM
+
+config SYS_BOARD
+	default "geam6ul"
+
+config SYS_VENDOR
+	default "engicam"
+
+config SYS_CONFIG_NAME
+	default "imx6ul_geam"
+
+endif
board/engicam/geam6ul/MAINTAINERS new file +6 -0
new file mode 100644
index 0000000..6691450
@@ -0,0 +1,6 @@
+GEAM6UL BOARD
+M:	Jagan Teki <[email protected]>
+S:	Maintained
+F:	board/engicam/geam6ul
+F:	include/configs/imx6ul_geam.h
+F:	configs/imx6ul_geam_mmc_defconfig
board/engicam/geam6ul/Makefile new file +6 -0
new file mode 100644
index 0000000..0e367e2
@@ -0,0 +1,6 @@
+# Copyright (C) 2016 Amarula Solutions B.V.
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-y  := geam6ul.o
board/engicam/geam6ul/README new file +28 -0
new file mode 100644
index 0000000..0df6ae4
@@ -0,0 +1,28 @@
+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/geam6ul/geam6ul.c new file +246 -0

246 lines not on this page · raw message

configs/imx6ul_geam_mmc_defconfig new file +39 -0
new file mode 100644
index 0000000..24f3fd6
@@ -0,0 +1,39 @@
+CONFIG_ARM=y
+CONFIG_ARCH_MX6=y
+CONFIG_TARGET_MX6UL_GEAM=y
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,ENV_IS_IN_MMC"
+CONFIG_DEFAULT_FDT_FILE="imx6ul-geam-kit.dtb"
+CONFIG_DEFAULT_DEVICE_TREE="imx6ul-geam-kit"
+CONFIG_SYS_PROMPT="geam6ul> "
+CONFIG_SPL=y
+CONFIG_BOOTDELAY=3
+CONFIG_BOARD_EARLY_INIT_F=y
+CONFIG_DISPLAY_CPUINFO=y
+CONFIG_HUSH_PARSER=y
+CONFIG_AUTO_COMPLETE=y
+CONFIG_SYS_MAXARGS=32
+# CONFIG_CMD_IMLS is not set
+# CONFIG_BLK is not set
+# CONFIG_DM_MMC_OPS is not set
+CONFIG_CMD_BOOTZ=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_MEMTEST=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_CACHE=y
+CONFIG_CMD_EXT2=y
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_EXT4_WRITE=y
+CONFIG_CMD_FAT=y
+CONFIG_CMD_FS_GENERIC=y
+CONFIG_OF_LIBFDT=y
+CONFIG_MXC_UART=y
+CONFIG_IMX_THERMAL=y
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_IMX6=y
+CONFIG_SPL_LIBDISK_SUPPORT=y
+CONFIG_SPL_LIBCOMMON_SUPPORT=y
+CONFIG_SPL_LIBGENERIC_SUPPORT=y
+CONFIG_SPL_SERIAL_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
+CONFIG_SPL_WATCHDOG_SUPPORT=y
+CONFIG_SPL_EXT_SUPPORT=y
include/configs/imx6ul_geam.h new file +125 -0

125 lines not on this page · raw message

Signature · 1 line
1.9.1
author
#3 lore raw

PATCH v4 3/16 arm: dts: imx6ul-geam: Add I2C nodes

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

Add I2C nodes for Engicam GEAM6UL module.

Cc Stefano Babic <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 arch/arm/dts/imx6ul-geam-kit.dts | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
arch/arm/dts/imx6ul-geam-kit.dts +28 -0
index a039b6d..3672b02 100644
@@ -59,6 +59,20 @@
 	};
 };
 
+&i2c1 {
+	clock-frequency = <100000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c1>;
+	status = "okay";
+};
+
+&i2c2 {
+	clock_frequency = <100000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c2>;
+	status = "okay";
+};
+
 &uart1 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_uart1>;
@@ -77,6 +91,20 @@
 };
 
 &iomuxc {
+	pinctrl_i2c1: i2c1grp {
+		fsl,pins = <
+			MX6UL_PAD_UART4_TX_DATA__I2C1_SCL 0x4001b8b0
+			MX6UL_PAD_UART4_RX_DATA__I2C1_SDA 0x4001b8b0
+		>;
+	};
+
+	pinctrl_i2c2: i2c2grp {
+			fsl,pins = <
+			MX6UL_PAD_UART5_TX_DATA__I2C2_SCL 0x4001b8b0
+			MX6UL_PAD_UART5_RX_DATA__I2C2_SDA 0x4001b8b0
+		>;
+	};
+
 	pinctrl_uart1: uart1grp {
 		fsl,pins = <
 			MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0x1b0b1
Signature · 1 line
1.9.1
author
#4 lore raw

PATCH v4 4/16 imx6: geam6ul: Add I2C support

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

Add I2C support for Engicam GEAM6UL module.

geam6ul> i2c bus

Bus 0:  i2c at 021a0000
Bus 1:  i2c at 021a4000

geam6ul> i2c dev 0
Setting bus to 0
geam6ul> i2c dev
Current bus is 0
geam6ul> i2c speed 100000
Setting bus speed to 100000 Hz
geam6ul> i2c probe
Valid chip addresses: 2C
geam6ul> i2c md 2C 0xff
00ff: 00 00 00 00 0f f0 01 64 ff ff 00 00 00 00 00 00 .......d........

Cc Stefano Babic <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 arch/arm/cpu/armv7/mx6/Kconfig    | 1 +
 configs/imx6ul_geam_mmc_defconfig | 2 ++
 2 files changed, 3 insertions(+)
arch/arm/cpu/armv7/mx6/Kconfig +1 -0
index 4ba5338..bbdb5a1 100644
@@ -163,6 +163,7 @@ config TARGET_MX6UL_GEAM
 	select OF_CONTROL
 	select DM
 	select DM_GPIO
+	select DM_I2C
 	select DM_MMC
 	select DM_THERMAL
 	select SUPPORT_SPL
configs/imx6ul_geam_mmc_defconfig +2 -0
index 24f3fd6..e1e1dd2 100644
@@ -25,11 +25,13 @@ CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_CMD_I2C=y
 CONFIG_OF_LIBFDT=y
 CONFIG_MXC_UART=y
 CONFIG_IMX_THERMAL=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
+CONFIG_SYS_I2C_MXC=y
 CONFIG_SPL_LIBDISK_SUPPORT=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
Signature · 1 line
1.9.1
author
#5 lore raw

PATCH v4 5/16 imx6: geam6ul: Add NAND support

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

Add NAND support for Engicam GEAM6UL board.

Boot Log:
--------
U-Boot SPL 2016.11-g537fa5f (Nov 28 2016 - 11:42:28) Trying to boot from NAND
NAND : 256 MiB

U-Boot 2016.11-g537fa5f (Nov 28 2016 - 11:20:06 +0100)

CPU:   Freescale i.MX6UL rev1.1 69 MHz (running at 396 MHz)
CPU:   Automotive temperature grade (-40C to 125C) at 42C
Reset cause: WDOG
Model: Engicam GEAM6UL
DRAM:  128 MiB
NAND:  256 MiB
MMC:   FSL_SDHC: 0

* Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
Hit any key to stop autoboot:  0
Cc Stefano Babic <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 board/engicam/geam6ul/geam6ul.c    | 71 ++++++++++++++++++++++++++++++++++++++
 configs/imx6ul_geam_nand_defconfig | 34 ++++++++++++++++++
 include/configs/imx6ul_geam.h      | 24 ++++++++++++-
 3 files changed, 128 insertions(+), 1 deletion(-)
 create mode 100644 configs/imx6ul_geam_nand_defconfig
board/engicam/geam6ul/geam6ul.c +71 -0
index 8530845..40f20a9 100644
@@ -13,6 +13,7 @@
 #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>
@@ -36,11 +37,81 @@ int board_early_init_f(void)
 	return 0;
 }
 
+#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)
+
+static iomux_v3_cfg_t const nand_pads[] = {
+	MX6_PAD_NAND_DATA00__RAWNAND_DATA00 | MUX_PAD_CTRL(GPMI_PAD_CTRL2),
+	MX6_PAD_NAND_DATA01__RAWNAND_DATA01 | MUX_PAD_CTRL(GPMI_PAD_CTRL2),
+	MX6_PAD_NAND_DATA02__RAWNAND_DATA02 | MUX_PAD_CTRL(GPMI_PAD_CTRL2),
+	MX6_PAD_NAND_DATA03__RAWNAND_DATA03 | MUX_PAD_CTRL(GPMI_PAD_CTRL2),
+	MX6_PAD_NAND_DATA04__RAWNAND_DATA04 | MUX_PAD_CTRL(GPMI_PAD_CTRL2),
+	MX6_PAD_NAND_DATA05__RAWNAND_DATA05 | MUX_PAD_CTRL(GPMI_PAD_CTRL2),
+	MX6_PAD_NAND_DATA06__RAWNAND_DATA06 | MUX_PAD_CTRL(GPMI_PAD_CTRL2),
+	MX6_PAD_NAND_DATA07__RAWNAND_DATA07 | MUX_PAD_CTRL(GPMI_PAD_CTRL2),
+	MX6_PAD_NAND_CLE__RAWNAND_CLE | MUX_PAD_CTRL(GPMI_PAD_CTRL2),
+	MX6_PAD_NAND_ALE__RAWNAND_ALE | MUX_PAD_CTRL(GPMI_PAD_CTRL2),
+	MX6_PAD_NAND_CE0_B__RAWNAND_CE0_B | MUX_PAD_CTRL(GPMI_PAD_CTRL2),
+	MX6_PAD_NAND_RE_B__RAWNAND_RE_B | MUX_PAD_CTRL(GPMI_PAD_CTRL2),
+	MX6_PAD_NAND_WE_B__RAWNAND_WE_B | MUX_PAD_CTRL(GPMI_PAD_CTRL2),
+	MX6_PAD_NAND_WP_B__RAWNAND_WP_B | MUX_PAD_CTRL(GPMI_PAD_CTRL2),
+	MX6_PAD_NAND_READY_B__RAWNAND_READY_B | MUX_PAD_CTRL(GPMI_PAD_CTRL2),
+};
+
+static void setup_gpmi_nand(void)
+{
+	struct mxc_ccm_reg *mxc_ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
+
+	/* config gpmi nand iomux */
+	imx_iomux_v3_setup_multiple_pads(nand_pads, ARRAY_SIZE(nand_pads));
+
+	clrbits_le32(&mxc_ccm->CCGR4,
+		     MXC_CCM_CCGR4_RAWNAND_U_BCH_INPUT_APB_MASK |
+		     MXC_CCM_CCGR4_RAWNAND_U_GPMI_BCH_INPUT_BCH_MASK |
+		     MXC_CCM_CCGR4_RAWNAND_U_GPMI_BCH_INPUT_GPMI_IO_MASK |
+		     MXC_CCM_CCGR4_RAWNAND_U_GPMI_INPUT_APB_MASK |
+		     MXC_CCM_CCGR4_PL301_MX6QPER1_BCH_MASK);
+
+	/*
+	 * config gpmi and bch clock to 100 MHz
+	 * bch/gpmi select PLL2 PFD2 400M
+	 * 100M = 400M / 4
+	 */
+	clrbits_le32(&mxc_ccm->cscmr1,
+		     MXC_CCM_CSCMR1_BCH_CLK_SEL |
+		     MXC_CCM_CSCMR1_GPMI_CLK_SEL);
+	clrsetbits_le32(&mxc_ccm->cscdr1,
+			MXC_CCM_CSCDR1_BCH_PODF_MASK |
+			MXC_CCM_CSCDR1_GPMI_PODF_MASK,
+			(3 << MXC_CCM_CSCDR1_BCH_PODF_OFFSET) |
+			(3 << MXC_CCM_CSCDR1_GPMI_PODF_OFFSET));
+
+	/* enable gpmi and bch clock gating */
+	setbits_le32(&mxc_ccm->CCGR4,
+		     MXC_CCM_CCGR4_RAWNAND_U_BCH_INPUT_APB_MASK |
+		     MXC_CCM_CCGR4_RAWNAND_U_GPMI_BCH_INPUT_BCH_MASK |
+		     MXC_CCM_CCGR4_RAWNAND_U_GPMI_BCH_INPUT_GPMI_IO_MASK |
+		     MXC_CCM_CCGR4_RAWNAND_U_GPMI_INPUT_APB_MASK |
+		     MXC_CCM_CCGR4_PL301_MX6QPER1_BCH_MASK);
+
+	/* enable apbh clock gating */
+	setbits_le32(&mxc_ccm->CCGR0, MXC_CCM_CCGR0_APBHDMA_MASK);
+}
+#endif /* CONFIG_NAND_MXS */
+
 int board_init(void)
 {
 	/* Address of boot parameters */
 	gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
 
+#ifdef CONFIG_NAND_MXS
+	setup_gpmi_nand();
+#endif
+
 	return 0;
 }
 
configs/imx6ul_geam_nand_defconfig new file +34 -0
new file mode 100644
index 0000000..b7a44c7
@@ -0,0 +1,34 @@
+CONFIG_ARM=y
+CONFIG_ARCH_MX6=y
+CONFIG_TARGET_MX6UL_GEAM=y
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,ENV_IS_IN_NAND"
+CONFIG_DEFAULT_FDT_FILE="imx6ul-geam-kit.dtb"
+CONFIG_DEFAULT_DEVICE_TREE="imx6ul-geam-kit"
+CONFIG_SYS_PROMPT="geam6ul> "
+CONFIG_SPL=y
+CONFIG_BOOTDELAY=3
+CONFIG_BOARD_EARLY_INIT_F=y
+CONFIG_DISPLAY_CPUINFO=y
+CONFIG_HUSH_PARSER=y
+CONFIG_AUTO_COMPLETE=y
+CONFIG_SYS_MAXARGS=32
+# CONFIG_CMD_IMLS is not set
+# CONFIG_BLK is not set
+# CONFIG_DM_MMC_OPS is not set
+CONFIG_CMD_BOOTZ=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_MEMTEST=y
+CONFIG_CMD_NAND=y
+CONFIG_CMD_CACHE=y
+CONFIG_OF_LIBFDT=y
+CONFIG_MXC_UART=y
+CONFIG_NAND_MXS=y
+CONFIG_IMX_THERMAL=y
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_IMX6=y
+CONFIG_SPL_LIBCOMMON_SUPPORT=y
+CONFIG_SPL_LIBGENERIC_SUPPORT=y
+CONFIG_SPL_SERIAL_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
+CONFIG_SPL_WATCHDOG_SUPPORT=y
+CONFIG_SPL_DMA_SUPPORT=y
include/configs/imx6ul_geam.h +23 -1
index 794a656..4fe130b 100644
@@ -27,6 +27,10 @@
 /* Environment in MMC */
 # if defined(CONFIG_ENV_IS_IN_MMC)
 #  define CONFIG_ENV_OFFSET		0x100000
+/* Environment in NAND */
+# elif defined(CONFIG_ENV_IS_IN_NAND)
+#  define CONFIG_ENV_OFFSET		0x400000
+#  define CONFIG_ENV_SECT_SIZE		CONFIG_ENV_SIZE
 # endif
 #endif
 
@@ -111,9 +115,27 @@
 # define CONFIG_SYS_FSL_ESDHC_ADDR	USDHC2_BASE_ADDR
 #endif
 
+/* NAND */
+#ifdef CONFIG_NAND_MXS
+# define CONFIG_SYS_MAX_NAND_DEVICE	1
+# define CONFIG_SYS_NAND_BASE		0x40000000
+# define CONFIG_SYS_NAND_5_ADDR_CYCLE
+# define CONFIG_SYS_NAND_ONFI_DETECTION
+# define CONFIG_SYS_NAND_U_BOOT_START	CONFIG_SYS_TEXT_BASE
+# define CONFIG_SYS_NAND_U_BOOT_OFFS	0x200000
+
+# define CONFIG_APBH_DMA
+# define CONFIG_APBH_DMA_BURST
+# define CONFIG_APBH_DMA_BURST8
+#endif
+
 /* SPL */
 #ifdef CONFIG_SPL
-# define CONFIG_SPL_MMC_SUPPORT
+# ifdef CONFIG_NAND_MXS
+#  define CONFIG_SPL_NAND_SUPPORT
+# else
+#  define CONFIG_SPL_MMC_SUPPORT
+# endif
 
 # include "imx6_spl.h"
 # ifdef CONFIG_SPL_BUILD
Signature · 1 line
1.9.1
author
#6 lore raw

PATCH v4 6/16 imx6: geam6ul: Enable MTD device support

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

Enable MTD device, partition and command support.

Cc Stefano Babic <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 include/configs/imx6ul_geam.h | 6 ++++++
 1 file changed, 6 insertions(+)
include/configs/imx6ul_geam.h +6 -0
index 4fe130b..8938b80 100644
@@ -124,6 +124,12 @@
 # define CONFIG_SYS_NAND_U_BOOT_START	CONFIG_SYS_TEXT_BASE
 # define CONFIG_SYS_NAND_U_BOOT_OFFS	0x200000
 
+/* MTD device */
+# define CONFIG_MTD_DEVICE
+# define CONFIG_CMD_MTDPARTS
+# define CONFIG_MTD_PARTITIONS
+# define MTDIDS_DEFAULT			"nand0=nand"
+
 # define CONFIG_APBH_DMA
 # define CONFIG_APBH_DMA_BURST
 # define CONFIG_APBH_DMA_BURST8
Signature · 1 line
1.9.1
author
#7 lore raw

PATCH v4 7/16 imx6: geam6ul: Add default mtd nand partition table

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

geam6ul> mtdparts

device nand0 <nand>, # parts = 6

0: spl                 0x00200000      0x00000000      0
1: uboot               0x00200000      0x00200000      0
2: env                 0x00100000      0x00400000      0
3: kernel              0x00400000      0x00500000      0
4: dtb                 0x00100000      0x00900000      0
5: rootfs              0x1f600000      0x00a00000      0
Cc Stefano Babic <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 include/configs/imx6ul_geam.h | 2 ++
 1 file changed, 2 insertions(+)
include/configs/imx6ul_geam.h +2 -0
index 8938b80..7cfdfef 100644
@@ -129,6 +129,8 @@
 # define CONFIG_CMD_MTDPARTS
 # define CONFIG_MTD_PARTITIONS
 # define MTDIDS_DEFAULT			"nand0=nand"
+# define MTDPARTS_DEFAULT		"mtdparts=nand:2m(spl),2m(uboot)," \
+					"1m(env),4m(kernel),1m(dtb),-(rootfs)"
 
 # define CONFIG_APBH_DMA
 # define CONFIG_APBH_DMA_BURST
Signature · 1 line
1.9.1
author
#8 lore raw

PATCH v4 8/16 arm: imx6q: Add Engicam i.CoreM6 Quad/Dual RQS Starter Kit initial support

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

Boot from MMC:
-------------
U-Boot SPL 2016.11-rc2-g217bd8e-dirty (Nov 08 2016 - 22:59:44) Trying to boot from MMC1

U-Boot 2016.11-rc2-g217bd8e-dirty (Nov 08 2016 - 22:59:44 +0530)

CPU:   Freescale i.MX6D rev1.2 at 792 MHz
Reset cause: POR
Model: Engicam i.CoreM6 Quad/Dual RQS Starter Kit
DRAM:  512 MiB
MMC:   FSL_SDHC: 0

*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   CPU Net Initialization Failed

No ethernet found.
Hit any key to stop autoboot: 0
icorem6qdl-rqs>

Cc Stefano Babic <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 arch/arm/cpu/armv7/mx6/Kconfig          |  11 +
 arch/arm/dts/Makefile                   |   1 +
 arch/arm/dts/imx6q-icore-rqs.dts        |  50 ++++
 arch/arm/dts/imx6qdl-icore-rqs.dtsi     |  83 +++++++
 board/engicam/icorem6_rqs/Kconfig       |  12 +
 board/engicam/icorem6_rqs/MAINTAINERS   |   6 +
 board/engicam/icorem6_rqs/Makefile      |   6 +
 board/engicam/icorem6_rqs/README        |  30 +++
 board/engicam/icorem6_rqs/icorem6_rqs.c | 399 ++++++++++++++++++++++++++++++++
 configs/imx6q_icore_rqs_mmc_defconfig   |  38 +++
 include/configs/imx6qdl_icore_rqs.h     | 124 ++++++++++
 11 files changed, 760 insertions(+)
 create mode 100644 arch/arm/dts/imx6q-icore-rqs.dts
 create mode 100644 arch/arm/dts/imx6qdl-icore-rqs.dtsi
 create mode 100644 board/engicam/icorem6_rqs/Kconfig
 create mode 100644 board/engicam/icorem6_rqs/MAINTAINERS
 create mode 100644 board/engicam/icorem6_rqs/Makefile
 create mode 100644 board/engicam/icorem6_rqs/README
 create mode 100644 board/engicam/icorem6_rqs/icorem6_rqs.c
 create mode 100644 configs/imx6q_icore_rqs_mmc_defconfig
 create mode 100644 include/configs/imx6qdl_icore_rqs.h
arch/arm/cpu/armv7/mx6/Kconfig +11 -0
index bbdb5a1..a9403bf 100644
@@ -115,6 +115,16 @@ config TARGET_MX6Q_ICORE
 	select DM_THERMAL
 	select SUPPORT_SPL
 
+config TARGET_MX6Q_ICORE_RQS
+	bool "Support Engicam i.Core RQS"
+	select MX6QDL
+	select OF_CONTROL
+	select DM
+	select DM_GPIO
+	select DM_MMC
+	select DM_THERMAL
+	select SUPPORT_SPL
+
 config TARGET_MX6QSABREAUTO
 	bool "mx6qsabreauto"
 	select DM
@@ -268,6 +278,7 @@ 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/freescale/mx6qarm2/Kconfig"
 source "board/freescale/mx6qsabreauto/Kconfig"
 source "board/freescale/mx6sabresd/Kconfig"
arch/arm/dts/Makefile +1 -0
index 14eebe7..96e98c6 100644
@@ -292,6 +292,7 @@ dtb-$(CONFIG_VF610) += vf500-colibri.dtb \
 dtb-$(CONFIG_MX6) += imx6ull-14x14-evk.dtb \
 	imx6dl-icore.dtb \
 	imx6q-icore.dtb \
+	imx6q-icore-rqs.dtb \
 	imx6ul-geam-kit.dtb
 
 dtb-$(CONFIG_MX7) += imx7-colibri.dtb
arch/arm/dts/imx6q-icore-rqs.dts new file +50 -0

50 lines not on this page · raw message

arch/arm/dts/imx6qdl-icore-rqs.dtsi new file +83 -0

83 lines not on this page · raw message

board/engicam/icorem6_rqs/Kconfig new file +12 -0
new file mode 100644
index 0000000..1352c68
@@ -0,0 +1,12 @@
+if TARGET_MX6Q_ICORE_RQS
+
+config SYS_BOARD
+	default "icorem6_rqs"
+
+config SYS_VENDOR
+	default "engicam"
+
+config SYS_CONFIG_NAME
+	default "imx6qdl_icore_rqs"
+
+endif
board/engicam/icorem6_rqs/MAINTAINERS new file +6 -0
new file mode 100644
index 0000000..4c6bd62
@@ -0,0 +1,6 @@
+ICOREM6QDL_RQS BOARD
+M:	Jagan Teki <[email protected]>
+S:	Maintained
+F:	board/engicam/icorem6_rqs
+F:	include/configs/imx6qdl_icore_rqs.h
+F:	configs/imx6q_icore_rqs_mmc_defconfig
board/engicam/icorem6_rqs/Makefile new file +6 -0
new file mode 100644
index 0000000..2e3933c
@@ -0,0 +1,6 @@
+# Copyright (C) 2016 Amarula Solutions B.V.
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-y  := icorem6_rqs.o
board/engicam/icorem6_rqs/README new file +30 -0
new file mode 100644
index 0000000..f94e6e1
@@ -0,0 +1,30 @@
+How to use U-Boot on Engicam i.CoreM6 RQS Quad/Dual Starter Kit:
+----------------------------------------------------------------
+
+$ make mrproper
+
+- Configure U-Boot for Engicam i.CoreM6 RQS Quad/Dual:
+$ make imx6q_icore_rqs_mmc_defconfig
+
+- Build U-Boot
+$ make
+
+This will generate the SPL image called SPL and the u-boot-dtb.img.
+
+- Flash the SPL image into the micro SD card:
+
+sudo dd if=SPL of=/dev/mmcblk0 bs=1k seek=1; sync
+
+- Flash the u-boot-dtb.img image into the micro SD card:
+
+sudo dd if=u-boot-dtb.img of=/dev/mmcblk0 bs=1k seek=69; sync
+
+- Jumper settings:
+
+MMC Boot: JM3 Closed
+
+- Connect the Serial cable between the Starter Kit and the PC for the console.
+(J28 is the Linux Serial console connector)
+
+- Insert the micro SD card in the board, power it up and U-Boot messages should
+come up.
board/engicam/icorem6_rqs/icorem6_rqs.c new file +399 -0

399 lines not on this page · raw message

configs/imx6q_icore_rqs_mmc_defconfig new file +38 -0
new file mode 100644
index 0000000..eeecef8
@@ -0,0 +1,38 @@
+CONFIG_ARM=y
+CONFIG_ARCH_MX6=y
+CONFIG_TARGET_MX6Q_ICORE_RQS=y
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,ENV_IS_IN_MMC"
+CONFIG_DEFAULT_FDT_FILE="imx6q-icore-rqs.dtb"
+CONFIG_DEFAULT_DEVICE_TREE="imx6q-icore-rqs"
+CONFIG_SYS_PROMPT="icorem6qdl-rqs> "
+CONFIG_SPL=y
+CONFIG_BOOTDELAY=3
+CONFIG_BOARD_EARLY_INIT_F=y
+CONFIG_DISPLAY_CPUINFO=y
+CONFIG_HUSH_PARSER=y
+CONFIG_AUTO_COMPLETE=y
+CONFIG_SYS_MAXARGS=32
+# CONFIG_CMD_IMLS is not set
+# CONFIG_BLK is not set
+# CONFIG_DM_MMC_OPS is not set
+CONFIG_CMD_BOOTZ=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_MEMTEST=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_CACHE=y
+CONFIG_CMD_EXT2=y
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_EXT4_WRITE=y
+CONFIG_CMD_FAT=y
+CONFIG_CMD_FS_GENERIC=y
+CONFIG_OF_LIBFDT=y
+CONFIG_MXC_UART=y
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_IMX6=y
+CONFIG_SPL_LIBDISK_SUPPORT=y
+CONFIG_SPL_LIBCOMMON_SUPPORT=y
+CONFIG_SPL_LIBGENERIC_SUPPORT=y
+CONFIG_SPL_SERIAL_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
+CONFIG_SPL_WATCHDOG_SUPPORT=y
+CONFIG_SPL_EXT_SUPPORT=y
include/configs/imx6qdl_icore_rqs.h new file +124 -0

124 lines not on this page · raw message

Signature · 1 line
1.9.1
author
#9 lore raw

PATCH v4 9/16 arm: imx6q: Add Engicam i.CoreM6 Solo/Duallite RQS Starter Kit initial support

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

Boot from MMC:
-------------
U-Boot SPL 2016.11-rc2-g217bd8e-dirty (Nov 08 2016 - 22:56:07) Trying to boot from MMC1

U-Boot 2016.11-rc2-g217bd8e-dirty (Nov 08 2016 - 22:56:07 +0530)

CPU:   Freescale i.MX6DL rev1.3 at 792 MHz
Reset cause: POR
Model: Engicam i.CoreM6 DualLite/Solo RQS Starter Kit
DRAM:  512 MiB
MMC:   FSL_SDHC: 0

*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   CPU Net Initialization Failed

No ethernet found.
Hit any key to stop autoboot: 0
icorem6qdl-rqs>

Cc Stefano Babic <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 arch/arm/dts/Makefile                  |  1 +
 arch/arm/dts/imx6dl-icore-rqs.dts      | 50 ++++++++++++++++++++++++++++++++++
 board/engicam/icorem6_rqs/MAINTAINERS  |  1 +
 board/engicam/icorem6_rqs/README       |  7 +++--
 configs/imx6dl_icore_rqs_mmc_defconfig | 38 ++++++++++++++++++++++++++
 5 files changed, 95 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm/dts/imx6dl-icore-rqs.dts
 create mode 100644 configs/imx6dl_icore_rqs_mmc_defconfig
arch/arm/dts/Makefile +1 -0
index 96e98c6..7b7a38c 100644
@@ -291,6 +291,7 @@ dtb-$(CONFIG_VF610) += vf500-colibri.dtb \
 
 dtb-$(CONFIG_MX6) += imx6ull-14x14-evk.dtb \
 	imx6dl-icore.dtb \
+	imx6dl-icore-rqs.dtb \
 	imx6q-icore.dtb \
 	imx6q-icore-rqs.dtb \
 	imx6ul-geam-kit.dtb
arch/arm/dts/imx6dl-icore-rqs.dts new file +50 -0

50 lines not on this page · raw message

board/engicam/icorem6_rqs/MAINTAINERS +1 -0
index 4c6bd62..0556211 100644
@@ -4,3 +4,4 @@ S:	Maintained
 F:	board/engicam/icorem6_rqs
 F:	include/configs/imx6qdl_icore_rqs.h
 F:	configs/imx6q_icore_rqs_mmc_defconfig
+F:	configs/imx6dl_icore_rqs_mmc_defconfig
board/engicam/icorem6_rqs/README +5 -2
index f94e6e1..ccce622 100644
@@ -1,11 +1,14 @@
-How to use U-Boot on Engicam i.CoreM6 RQS Quad/Dual Starter Kit:
-----------------------------------------------------------------
+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:
 $ make imx6q_icore_rqs_mmc_defconfig
 
+- Configure U-Boot for Engicam i.CoreM6 RQS Solo/DualLite:
+$ make imx6dl_icore_rqs_mmc_defconfig
+
 - Build U-Boot
 $ make
 
configs/imx6dl_icore_rqs_mmc_defconfig new file +38 -0
new file mode 100644
index 0000000..7fc7fa0
@@ -0,0 +1,38 @@
+CONFIG_ARM=y
+CONFIG_ARCH_MX6=y
+CONFIG_TARGET_MX6Q_ICORE_RQS=y
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,ENV_IS_IN_MMC"
+CONFIG_DEFAULT_FDT_FILE="imx6dl-icore-rqs.dtb"
+CONFIG_DEFAULT_DEVICE_TREE="imx6dl-icore-rqs"
+CONFIG_SYS_PROMPT="icorem6qdl-rqs> "
+CONFIG_SPL=y
+CONFIG_BOOTDELAY=3
+CONFIG_BOARD_EARLY_INIT_F=y
+CONFIG_DISPLAY_CPUINFO=y
+CONFIG_HUSH_PARSER=y
+CONFIG_AUTO_COMPLETE=y
+CONFIG_SYS_MAXARGS=32
+# CONFIG_CMD_IMLS is not set
+# CONFIG_BLK is not set
+# CONFIG_DM_MMC_OPS is not set
+CONFIG_CMD_BOOTZ=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_MEMTEST=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_CACHE=y
+CONFIG_CMD_EXT2=y
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_EXT4_WRITE=y
+CONFIG_CMD_FAT=y
+CONFIG_CMD_FS_GENERIC=y
+CONFIG_OF_LIBFDT=y
+CONFIG_MXC_UART=y
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_IMX6=y
+CONFIG_SPL_LIBDISK_SUPPORT=y
+CONFIG_SPL_LIBCOMMON_SUPPORT=y
+CONFIG_SPL_LIBGENERIC_SUPPORT=y
+CONFIG_SPL_SERIAL_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
+CONFIG_SPL_WATCHDOG_SUPPORT=y
+CONFIG_SPL_EXT_SUPPORT=y
Signature · 1 line
1.9.1
author
#10 lore raw

PATCH v4 10/16 imx6: icorem6: Rename engicam icorem6 defconfig files

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

Rename defconfig files for better compatible with
respective board names and dts files.

Cc Stefano Babic <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 board/engicam/icorem6/MAINTAINERS                  |  6 ++-
 board/engicam/icorem6/README                       | 19 ++++-----
 ...re_mmc_defconfig => imx6dl_icore_mmc_defconfig} |  0
 ..._nand_defconfig => imx6dl_icore_nand_defconfig} |  0
 configs/imx6q_icore_mmc_defconfig                  | 46 ++++++++++++++++++++++
 configs/imx6q_icore_nand_defconfig                 | 41 +++++++++++++++++++
 6 files changed, 98 insertions(+), 14 deletions(-)
 rename configs/{imx6qdl_icore_mmc_defconfig => imx6dl_icore_mmc_defconfig} (100%)
 rename configs/{imx6qdl_icore_nand_defconfig => imx6dl_icore_nand_defconfig} (100%)
 create mode 100644 configs/imx6q_icore_mmc_defconfig
 create mode 100644 configs/imx6q_icore_nand_defconfig
board/engicam/icorem6/MAINTAINERS +4 -2
index a425afb..0ef3a2c 100644
@@ -3,5 +3,7 @@ M:	Jagan Teki <[email protected]>
 S:	Maintained
 F:	board/engicam/icorem6
 F:	include/configs/imx6qdl_icore.h
-F:	configs/imx6qdl_icore_mmc_defconfig
-F:	configs/imx6qdl_icore_nand_defconfig
+F:	configs/imx6q_icore_mmc_defconfig
+F:	configs/imx6q_icore_nand_defconfig
+F:	configs/imx6dl_icore_mmc_defconfig
+F:	configs/imx6dl_icore_nand_defconfig
board/engicam/icorem6/README +7 -12
index e47f85f..6461c0a 100644
@@ -1,18 +1,16 @@
-How to use U-Boot on Engicam i.CoreM6 DualLite/Solo and Quad/Dual Starter Kit:
+How to use U-Boot on Engicam i.CoreM6 Solo/DualLite and Quad/Dual Starter Kit:
 -----------------------------------------------------------------------------
 
-- Configure U-Boot for Engicam i.CoreM6 QDL:
-
 $ make mrproper
-$ make imx6qdl_icore_mmc_defconfig
-
-- Build for i.CoreM6 DualLite/Solo
 
-$ make
+- Configure U-Boot for Engicam i.CoreM6 Quad/Dual:
+$ make imx6q_icore_mmc_defconfig
 
-- Build for i.CoreM6 Quad/Dual
+- Configure U-Boot for Engicam i.CoreM6 Solo/DualLite:
+$ make imx6dl_icore_mmc_defconfig
 
-$ make DEVICE_TREE=imx6q-icore
+- Build U-Boot
+$ make
 
 This will generate the SPL image called SPL and the u-boot-dtb.img.
 
@@ -33,6 +31,3 @@ MMC Boot: JM3 Closed
 
 - Insert the micro SD card in the board, power it up and U-Boot messages should
 come up.
-
-- Note: For loading Linux on Quad/Dual modules set the dtb as
-  icorem6qdl> setenv fdt_file imx6q-icore.dtb
configs/imx6dl_icore_mmc_defconfig renamed from configs/imx6qdl_icore_mmc_defconfig +0 -0
similarity index 100%
rename from configs/imx6qdl_icore_mmc_defconfig
rename to configs/imx6dl_icore_mmc_defconfig
configs/imx6dl_icore_nand_defconfig renamed from configs/imx6qdl_icore_nand_defconfig +0 -0
similarity index 100%
rename from configs/imx6qdl_icore_nand_defconfig
rename to configs/imx6dl_icore_nand_defconfig
configs/imx6q_icore_mmc_defconfig new file +46 -0

46 lines not on this page · raw message

configs/imx6q_icore_nand_defconfig new file +41 -0

41 lines not on this page · raw message

Signature · 1 line
1.9.1
author
#11 lore raw

PATCH v4 11/16 arm: dts: imx6qdl-icore-rqs: Add I2C node's

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

Add I2C nodes for Engicam i.CoreM6 RQS modules.

Cc Stefano Babic <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 arch/arm/dts/imx6qdl-icore-rqs.dtsi | 41 +++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)
arch/arm/dts/imx6qdl-icore-rqs.dtsi +41 -0
index 343ab35..2aaa6e4 100644
@@ -48,6 +48,26 @@
 	};
 };
 
+&i2c1 {
+	clock-frequency = <100000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c1>;
+	status = "okay";
+};
+
+&i2c2 {
+	clock-frequency = <100000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c2>;
+	status = "okay";
+};
+
+&i2c3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c3>;
+	status = "okay";
+};
+
 &uart4 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_uart4>;
@@ -63,6 +83,27 @@
 };
 
 &iomuxc {
+	pinctrl_i2c1: i2c1grp {
+		fsl,pins = <
+			MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
+			MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
+		>;
+	};
+
+	pinctrl_i2c2: i2c2grp {
+		fsl,pins = <
+			MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
+			MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
+		>;
+	};
+
+	pinctrl_i2c3: i2c3grp {
+		fsl,pins = <
+			MX6QDL_PAD_GPIO_5__I2C3_SCL  0x4001b8b1
+			MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1
+		>;
+	};
+
 	pinctrl_uart4: uart4grp {
 		fsl,pins = <
 			MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1
Signature · 1 line
1.9.1
author
#12 lore raw

PATCH v4 12/16 imx6: icorem6_rqs: Add I2C support

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

Add I2C support for Engicam i.CoreM6 RQS modules.

icorem6qdl-rqs> i2c bus

Bus 0:  i2c at 021a0000
Bus 1:  i2c at 021a4000
Bus 2:  i2c at 021a8000

icorem6qdl-rqs> i2c dev 0
Setting bus to 0
icorem6qdl-rqs> i2c speed 100000
Setting bus speed to 100000 Hz
icorem6qdl-rqs> i2c probe
Valid chip addresses: 4F
icorem6qdl-rqs> i2c md 4F 0xff
00ff: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
icorem6qdl-rqs> i2c bus
Bus 0: i2c at 021a0000 (active 0)
4f: generic_4f, offset len 1, flags 0

Bus 1:  i2c at 021a4000
Bus 2:  i2c at 021a8000
Cc Stefano Babic <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 arch/arm/cpu/armv7/mx6/Kconfig         | 1 +
 configs/imx6dl_icore_rqs_mmc_defconfig | 2 ++
 configs/imx6q_icore_rqs_mmc_defconfig  | 2 ++
 3 files changed, 5 insertions(+)
arch/arm/cpu/armv7/mx6/Kconfig +1 -0
index a9403bf..50e9b4b 100644
@@ -121,6 +121,7 @@ config TARGET_MX6Q_ICORE_RQS
 	select OF_CONTROL
 	select DM
 	select DM_GPIO
+	select DM_I2C
 	select DM_MMC
 	select DM_THERMAL
 	select SUPPORT_SPL
configs/imx6dl_icore_rqs_mmc_defconfig +2 -0
index 7fc7fa0..19a721c 100644
@@ -25,10 +25,12 @@ CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_CMD_I2C=y
 CONFIG_OF_LIBFDT=y
 CONFIG_MXC_UART=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
+CONFIG_SYS_I2C_MXC=y
 CONFIG_SPL_LIBDISK_SUPPORT=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
configs/imx6q_icore_rqs_mmc_defconfig +2 -0
index eeecef8..bbd10af 100644
@@ -25,10 +25,12 @@ CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_CMD_I2C=y
 CONFIG_OF_LIBFDT=y
 CONFIG_MXC_UART=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
+CONFIG_SYS_I2C_MXC=y
 CONFIG_SPL_LIBDISK_SUPPORT=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
Signature · 1 line
1.9.1
author
#13 lore raw

PATCH v4 13/16 arm: dts: imx6ul-geam: Add FEC node

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

Add FEC node for Engicam GEAM6UL module.

Cc Stefano Babic <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 arch/arm/dts/imx6ul-geam-kit.dts | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
arch/arm/dts/imx6ul-geam-kit.dts +21 -0
index 3672b02..07c21cb 100644
@@ -59,6 +59,13 @@
 	};
 };
 
+&fec1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_enet1>;
+	phy-mode = "rmii";
+	status = "okay";
+};
+
 &i2c1 {
 	clock-frequency = <100000>;
 	pinctrl-names = "default";
@@ -91,6 +98,20 @@
 };
 
 &iomuxc {
+	pinctrl_enet1: enet1grp {
+		fsl,pins = <
+			MX6UL_PAD_GPIO1_IO07__ENET2_MDC		0x1b0b0
+			MX6UL_PAD_GPIO1_IO06__ENET2_MDIO	0x1b0b0
+			MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN	0x1b0b0
+			MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00	0x1b0b0
+			MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01	0x1b0b0
+			MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN	0x1b0b0
+			MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00	0x1b0b0
+			MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01	0x1b0b0
+			MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1	0x4001b031
+		>;
+	};
+
 	pinctrl_i2c1: i2c1grp {
 		fsl,pins = <
 			MX6UL_PAD_UART4_TX_DATA__I2C1_SCL 0x4001b8b0
Signature · 1 line
1.9.1
author
#14 lore raw

PATCH v4 14/16 imx6: geam6ul: Add FEC support

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

Add FEC support for Engicam GEAM6UL module.

Cc Stefano Babic <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 arch/arm/cpu/armv7/mx6/Kconfig     |  1 +
 configs/imx6ul_geam_mmc_defconfig  |  3 +++
 configs/imx6ul_geam_nand_defconfig |  3 +++
 include/configs/imx6ul_geam.h      | 10 ++++++++++
 4 files changed, 17 insertions(+)
arch/arm/cpu/armv7/mx6/Kconfig +1 -0
index 50e9b4b..d57ce9b 100644
@@ -173,6 +173,7 @@ config TARGET_MX6UL_GEAM
 	select MX6UL
 	select OF_CONTROL
 	select DM
+	select DM_ETH
 	select DM_GPIO
 	select DM_I2C
 	select DM_MMC
configs/imx6ul_geam_mmc_defconfig +3 -0
index e1e1dd2..d5be076 100644
@@ -18,6 +18,8 @@ CONFIG_SYS_MAXARGS=32
 CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_MEMTEST=y
+CONFIG_CMD_MII=y
+CONFIG_CMD_PING=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_EXT2=y
@@ -27,6 +29,7 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_CMD_I2C=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FEC_MXC=y
 CONFIG_MXC_UART=y
 CONFIG_IMX_THERMAL=y
 CONFIG_PINCTRL=y
configs/imx6ul_geam_nand_defconfig +3 -0
index b7a44c7..cc45602 100644
@@ -18,9 +18,12 @@ CONFIG_SYS_MAXARGS=32
 CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_MEMTEST=y
+CONFIG_CMD_MII=y
+CONFIG_CMD_PING=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_CACHE=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FEC_MXC=y
 CONFIG_MXC_UART=y
 CONFIG_NAND_MXS=y
 CONFIG_IMX_THERMAL=y
include/configs/imx6ul_geam.h +10 -0
index 7cfdfef..48b1120 100644
@@ -137,6 +137,16 @@
 # define CONFIG_APBH_DMA_BURST8
 #endif
 
+/* Ethernet */
+#ifdef CONFIG_FEC_MXC
+# define CONFIG_FEC_MXC_PHYADDR		0
+# define CONFIG_FEC_XCV_TYPE		RMII
+
+# define CONFIG_MII
+# define CONFIG_PHYLIB
+# define CONFIG_PHY_SMSC
+#endif
+
 /* SPL */
 #ifdef CONFIG_SPL
 # ifdef CONFIG_NAND_MXS
Signature · 1 line
1.9.1
author
#15 lore raw

PATCH v4 15/16 arm: dts: imx6qdl-icore-rqs: Add FEC node

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

Add FEC node for Engicam i.CoreM6 RQS modules.

Cc Stefano Babic <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 arch/arm/dts/imx6qdl-icore-rqs.dtsi | 46 +++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)
arch/arm/dts/imx6qdl-icore-rqs.dtsi +46 -0
index 2aaa6e4..750229b 100644
@@ -48,6 +48,31 @@
 	};
 };
 
+&fec {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_enet>;
+	phy-handle = <&eth_phy>;
+	phy-mode = "rgmii";
+	status = "okay";
+
+	mdio {
+		eth_phy: ethernet-phy {
+			rxc-skew-ps = <1140>;
+			txc-skew-ps = <1140>;
+			txen-skew-ps = <600>;
+			rxdv-skew-ps = <240>;
+			rxd0-skew-ps = <420>;
+			rxd1-skew-ps = <600>;
+			rxd2-skew-ps = <420>;
+			rxd3-skew-ps = <240>;
+			txd0-skew-ps = <60>;
+			txd1-skew-ps = <60>;
+			txd2-skew-ps = <60>;
+			txd3-skew-ps = <240>;
+		};
+	};
+};
+
 &i2c1 {
 	clock-frequency = <100000>;
 	pinctrl-names = "default";
@@ -83,6 +108,27 @@
 };
 
 &iomuxc {
+	pinctrl_enet: enetgrp {
+		fsl,pins = <
+			MX6QDL_PAD_ENET_MDIO__ENET_MDIO       0x1b0b0
+			MX6QDL_PAD_ENET_MDC__ENET_MDC         0x1b0b0
+			MX6QDL_PAD_RGMII_TXC__RGMII_TXC       0x1b030
+			MX6QDL_PAD_RGMII_TD0__RGMII_TD0       0x1b030
+			MX6QDL_PAD_RGMII_TD1__RGMII_TD1       0x1b030
+			MX6QDL_PAD_RGMII_TD2__RGMII_TD2       0x1b030
+			MX6QDL_PAD_RGMII_TD3__RGMII_TD3       0x1b030
+			MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b030
+			MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK  0x1b0b0
+			MX6QDL_PAD_RGMII_RXC__RGMII_RXC       0x1b030
+			MX6QDL_PAD_RGMII_RD0__RGMII_RD0       0x1b030
+			MX6QDL_PAD_RGMII_RD1__RGMII_RD1       0x1b030
+			MX6QDL_PAD_RGMII_RD2__RGMII_RD2       0x1b030
+			MX6QDL_PAD_RGMII_RD3__RGMII_RD3       0x1b030
+			MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b030
+			MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN     0x1b0b0
+		>;
+	};
+
 	pinctrl_i2c1: i2c1grp {
 		fsl,pins = <
 			MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
Signature · 1 line
1.9.1
author
#16 lore raw

PATCH v4 16/16 imx6: icorem6_rqs: Add FEC support

In reply to Jagan Teki

From: Jagan Teki <[email protected]>

Add FEC support for Engicam i.CoreM6 RQS modules.

Cc Stefano Babic <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 arch/arm/cpu/armv7/mx6/Kconfig         |  1 +
 configs/imx6dl_icore_rqs_mmc_defconfig |  3 +++
 configs/imx6q_icore_rqs_mmc_defconfig  |  3 +++
 include/configs/imx6qdl_icore_rqs.h    | 11 +++++++++++
 4 files changed, 18 insertions(+)
arch/arm/cpu/armv7/mx6/Kconfig +1 -0
index d57ce9b..f036717 100644
@@ -120,6 +120,7 @@ config TARGET_MX6Q_ICORE_RQS
 	select MX6QDL
 	select OF_CONTROL
 	select DM
+	select DM_ETH
 	select DM_GPIO
 	select DM_I2C
 	select DM_MMC
configs/imx6dl_icore_rqs_mmc_defconfig +3 -0
index 19a721c..230cd20 100644
@@ -18,6 +18,8 @@ CONFIG_SYS_MAXARGS=32
 CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_MEMTEST=y
+CONFIG_CMD_MII=y
+CONFIG_CMD_PING=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_EXT2=y
@@ -27,6 +29,7 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_CMD_I2C=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FEC_MXC=y
 CONFIG_MXC_UART=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
configs/imx6q_icore_rqs_mmc_defconfig +3 -0
index bbd10af..f7c25c4 100644
@@ -18,6 +18,8 @@ CONFIG_SYS_MAXARGS=32
 CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_MEMTEST=y
+CONFIG_CMD_MII=y
+CONFIG_CMD_PING=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_EXT2=y
@@ -27,6 +29,7 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_CMD_I2C=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FEC_MXC=y
 CONFIG_MXC_UART=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
include/configs/imx6qdl_icore_rqs.h +11 -0
index 7960355..0121563 100644
@@ -111,6 +111,17 @@
 # define CONFIG_SYS_FSL_ESDHC_ADDR	0
 #endif
 
+/* Ethernet */
+#ifdef CONFIG_FEC_MXC
+# define CONFIG_FEC_MXC_PHYADDR		3
+# define CONFIG_FEC_XCV_TYPE		RGMII
+
+# define CONFIG_MII
+# define CONFIG_PHYLIB
+# define CONFIG_PHY_MICREL
+# define CONFIG_PHY_MICREL_KSZ9021
+#endif
+
 /* SPL */
 #ifdef CONFIG_SPL
 # define CONFIG_SPL_MMC_SUPPORT
Signature · 1 line
1.9.1
author
#17 lore raw

v4 cover imx6: Add Engicam GEAM6UL/i.CoreM6 RQS board support

In reply to Jagan Teki

Hi Stefano,

Quoted 29 lines · Jagan Teki

From: Jagan Teki <[email protected]>

This is v4 for previous v3, v2 series[1] [2] on top of [3] series

Changes for v4:
- Add FEC patches.

Changes for v3:
- Add I2C support

Changes for v2:
- Add 'Acked-by' from Joe
- Add new i.CoreM6 RQS patches

[1] https://www.mail-archive.com/u-boot at lists.denx.de/msg230990.html
[2] https://www.mail-archive.com/u-boot at lists.denx.de/msg230283.html
[3] [PATCH v3 00/13] imx6: icorem6: Add dm-eth, framebuffer and I2C support

Jagan Teki (16):
arm: dts: Add devicetree for i.MX6UL
arm: imx6ul: Add Engicam GEAM6UL Starter Kit initial support
arm: dts: imx6ul-geam: Add I2C nodes
imx6: geam6ul: Add I2C support
imx6: geam6ul: Add NAND support
imx6: geam6ul: Enable MTD device support
imx6: geam6ul: Add default mtd nand partition table
arm: imx6q: Add Engicam i.CoreM6 Quad/Dual RQS Starter Kit initial
support
arm: imx6q: Add Engicam i.CoreM6 Solo/Duallite RQS Starter Kit initial

Quoted 8 lines

support
imx6: icorem6: Rename engicam icorem6 defconfig files
arm: dts: imx6qdl-icore-rqs: Add I2C node's
imx6: icorem6_rqs: Add I2C support
arm: dts: imx6ul-geam: Add FEC node
imx6: geam6ul: Add FEC support
arm: dts: imx6qdl-icore-rqs: Add FEC node
imx6: icorem6_rqs: Add FEC support

Any help? this is getting delay since so-long.

thanks!

Signature · 4 lines
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
#18 lore raw

v4 cover imx6: Add Engicam GEAM6UL/i.CoreM6 RQS board support

Hi Jagan,

Quoted 41 lines · Jagan Teki

Hi Stefano,

Quoted 29 lines · Jagan Teki

From: Jagan Teki <[email protected]>

This is v4 for previous v3, v2 series[1] [2] on top of [3] series

Changes for v4:
- Add FEC patches.

Changes for v3:
- Add I2C support

Changes for v2:
- Add 'Acked-by' from Joe
- Add new i.CoreM6 RQS patches

[1] https://www.mail-archive.com/u-boot at lists.denx.de/msg230990.html
[2] https://www.mail-archive.com/u-boot at lists.denx.de/msg230283.html
[3] [PATCH v3 00/13] imx6: icorem6: Add dm-eth, framebuffer and I2C support

Jagan Teki (16):
arm: dts: Add devicetree for i.MX6UL
arm: imx6ul: Add Engicam GEAM6UL Starter Kit initial support
arm: dts: imx6ul-geam: Add I2C nodes
imx6: geam6ul: Add I2C support
imx6: geam6ul: Add NAND support
imx6: geam6ul: Enable MTD device support
imx6: geam6ul: Add default mtd nand partition table
arm: imx6q: Add Engicam i.CoreM6 Quad/Dual RQS Starter Kit initial
support
arm: imx6q: Add Engicam i.CoreM6 Solo/Duallite RQS Starter Kit initial

Quoted 8 lines

support
imx6: icorem6: Rename engicam icorem6 defconfig files
arm: dts: imx6qdl-icore-rqs: Add I2C node's
imx6: icorem6_rqs: Add I2C support
arm: dts: imx6ul-geam: Add FEC node
imx6: geam6ul: Add FEC support
arm: dts: imx6qdl-icore-rqs: Add FEC node
imx6: icorem6_rqs: Add FEC support

Quoted 4 lines

Any help? this is getting delay since so-long.

thanks!

I am still getting a huge list of errors and warnings after merging your patches. I have not yet got time to check deeper the reasons, but without a clean build this patchset cannot be merged.

Here my log:

arm: + imx6dl_icore_mmc
+drivers/net/fec_mxc.c: In function 'fec_set_hwaddr':
+drivers/net/fec_mxc.c:374:18: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:375:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: At top level:
+drivers/net/fec_mxc.c: In function 'fec_open':
+drivers/net/fec_mxc.c:432:48: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:502:27: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fec_init':
+drivers/net/fec_mxc.c:540:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:372:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:430:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c: In function 'fec_halt':
+drivers/net/fec_mxc.c:601:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fec_send':
+drivers/net/fec_mxc.c:653:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fec_recv':
+drivers/net/fec_mxc.c:788:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:599:13: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:538:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c: In function 'fec_probe':
+drivers/net/fec_mxc.c:989:44: error: invalid application of 'sizeof' to incomplete type 'struct eth_device' +drivers/net/fec_mxc.c:1003:25: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1010:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1011:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1012:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1013:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1014:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1015:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1034:23: error: dereferencing pointer to incomplete type
+include/phy.h:225:6: note: expected 'struct udevice *' but argument is of type 'struct eth_device *'
+drivers/net/fec_mxc.c:365:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:1050:14: error: dereferencing pointer to incomplete type
+make[2]: *** [drivers/net/fec_mxc.o] Error 1
+make[1]: *** [drivers/net] Error 2
+make: *** [sub-make] Error 2
w+drivers/net/fec_mxc.c:366:7: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:366:7: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
w+drivers/net/fec_mxc.c:372:34: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:430:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:538:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:545:2: warning: passing argument 1 of 'fec_set_hwaddr' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:591:2: warning: passing argument 1 of 'fec_open' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:599:29: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:641:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:786:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:804:3: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:805:3: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:817:4: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:820:4: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1040:2: warning: passing argument 2 of 'phy_connect_dev' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1046:2: warning: implicit declaration of function 'eth_register' [-Wimplicit-function-declaration] w+drivers/net/fec_mxc.c:1048:2: warning: passing argument 1 of 'fec_get_hwaddr' from incompatible pointer type [enabled by default]
arm: + imx6dl_icore_rqs_mmc
+cmd/i2c.c: In function 'i2c_get_bus_speed':
+cmd/i2c.c:211:9: error: 'CONFIG_SYS_I2C_SPEED' undeclared (first use in this function)
+cmd/i2c.c:211:9: note: each undeclared identifier is reported only once for each function it appears in
+cmd/i2c.c: In function 'i2c_set_bus_speed':
+cmd/i2c.c:230:15: error: 'CONFIG_SYS_I2C_SPEED' undeclared (first use in this function)
+cmd/i2c.c: In function 'do_i2c_reset':
+cmd/i2c.c:1925:11: error: 'CONFIG_SYS_I2C_SPEED' undeclared (first use in this function)
+make[2]: *** [cmd/i2c.o] Error 1
+make[1]: *** [cmd] Error 2
+make: *** [sub-make] Error 2
w+cmd/i2c.c: In function 'i2c_get_bus_speed':
w+cmd/i2c.c:212:1: warning: control reaches end of non-void function [-Wreturn-type]
arm: + imx6q_icore_mmc
+drivers/net/fec_mxc.c: In function 'fec_set_hwaddr':
+drivers/net/fec_mxc.c:374:18: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:375:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: At top level:
+drivers/net/fec_mxc.c: In function 'fec_open':
+drivers/net/fec_mxc.c:432:48: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:502:27: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fec_init':
+drivers/net/fec_mxc.c:540:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:372:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:430:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c: In function 'fec_halt':
+drivers/net/fec_mxc.c:601:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fec_send':
+drivers/net/fec_mxc.c:653:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fec_recv':
+drivers/net/fec_mxc.c:788:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:599:13: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:538:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c: In function 'fec_probe':
+drivers/net/fec_mxc.c:989:44: error: invalid application of 'sizeof' to incomplete type 'struct eth_device' +drivers/net/fec_mxc.c:1003:25: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1010:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1011:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1012:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1013:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1014:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1015:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1034:23: error: dereferencing pointer to incomplete type
+include/phy.h:225:6: note: expected 'struct udevice *' but argument is of type 'struct eth_device *'
+drivers/net/fec_mxc.c:365:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:1050:14: error: dereferencing pointer to incomplete type
+make[2]: *** [drivers/net/fec_mxc.o] Error 1
+make[1]: *** [drivers/net] Error 2
+make: *** [sub-make] Error 2
w+drivers/net/fec_mxc.c:366:7: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:366:7: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
w+drivers/net/fec_mxc.c:372:34: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:430:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:538:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:545:2: warning: passing argument 1 of 'fec_set_hwaddr' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:591:2: warning: passing argument 1 of 'fec_open' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:599:29: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:641:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:786:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:804:3: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:805:3: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:817:4: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:820:4: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1040:2: warning: passing argument 2 of 'phy_connect_dev' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1046:2: warning: implicit declaration of function 'eth_register' [-Wimplicit-function-declaration] w+drivers/net/fec_mxc.c:1048:2: warning: passing argument 1 of 'fec_get_hwaddr' from incompatible pointer type [enabled by default]
arm: + imx6q_icore_rqs_mmc
+cmd/i2c.c: In function 'i2c_get_bus_speed':
+cmd/i2c.c:211:9: error: 'CONFIG_SYS_I2C_SPEED' undeclared (first use in this function)
+cmd/i2c.c:211:9: note: each undeclared identifier is reported only once for each function it appears in
+cmd/i2c.c: In function 'i2c_set_bus_speed':
+cmd/i2c.c:230:15: error: 'CONFIG_SYS_I2C_SPEED' undeclared (first use in this function)
+cmd/i2c.c: In function 'do_i2c_reset':
+cmd/i2c.c:1925:11: error: 'CONFIG_SYS_I2C_SPEED' undeclared (first use in this function)
+make[2]: *** [cmd/i2c.o] Error 1
+make[1]: *** [cmd] Error 2
+make: *** [sub-make] Error 2
w+cmd/i2c.c: In function 'i2c_get_bus_speed':
w+cmd/i2c.c:212:1: warning: control reaches end of non-void function [-Wreturn-type]
arm: + imx6ul_geam_mmc
+drivers/net/fec_mxc.c: In function 'fec_set_hwaddr':
+drivers/net/fec_mxc.c:374:18: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:375:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: At top level:
+drivers/net/fec_mxc.c: In function 'fec_open':
+drivers/net/fec_mxc.c:432:48: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:502:27: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fec_init':
+drivers/net/fec_mxc.c:540:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:372:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:430:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c: In function 'fec_halt':
+drivers/net/fec_mxc.c:601:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fec_send':
+drivers/net/fec_mxc.c:653:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fec_recv':
+drivers/net/fec_mxc.c:788:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:599:13: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:538:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c: In function 'fec_probe':
+drivers/net/fec_mxc.c:989:44: error: invalid application of 'sizeof' to incomplete type 'struct eth_device' +drivers/net/fec_mxc.c:1003:25: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1010:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1011:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1012:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1013:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1014:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1015:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1034:23: error: dereferencing pointer to incomplete type
+include/phy.h:225:6: note: expected 'struct udevice *' but argument is of type 'struct eth_device *'
+drivers/net/fec_mxc.c:365:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:1050:14: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fecmxc_initialize':
+drivers/net/fec_mxc.c:1138:4: error: 'IMX_FEC_BASE' undeclared (first use in this function)
+drivers/net/fec_mxc.c:1138:4: note: each undeclared identifier is reported only once for each function it appears in
+make[2]: *** [drivers/net/fec_mxc.o] Error 1
+make[1]: *** [drivers/net] Error 2
+make: *** [sub-make] Error 2
w+drivers/net/fec_mxc.c:366:7: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:366:7: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
w+drivers/net/fec_mxc.c:372:34: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:430:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:538:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:545:2: warning: passing argument 1 of 'fec_set_hwaddr' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:591:2: warning: passing argument 1 of 'fec_open' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:599:29: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:641:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:786:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:804:3: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:805:3: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:817:4: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:820:4: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1040:2: warning: passing argument 2 of 'phy_connect_dev' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1046:2: warning: implicit declaration of function 'eth_register' [-Wimplicit-function-declaration] w+drivers/net/fec_mxc.c:1048:2: warning: passing argument 1 of 'fec_get_hwaddr' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1139:1: warning: control reaches end of non-void function [-Wreturn-type]
arm: + imx6ul_geam_nand
+drivers/net/fec_mxc.c: In function 'fec_set_hwaddr':
+drivers/net/fec_mxc.c:374:18: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:375:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: At top level:
+drivers/net/fec_mxc.c: In function 'fec_open':
+drivers/net/fec_mxc.c:432:48: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:502:27: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fec_init':
+drivers/net/fec_mxc.c:540:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:372:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:430:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c: In function 'fec_halt':
+drivers/net/fec_mxc.c:601:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fec_send':
+drivers/net/fec_mxc.c:653:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fec_recv':
+drivers/net/fec_mxc.c:788:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:599:13: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:538:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c: In function 'fec_probe':
+drivers/net/fec_mxc.c:989:44: error: invalid application of 'sizeof' to incomplete type 'struct eth_device' +drivers/net/fec_mxc.c:1003:25: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1010:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1011:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1012:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1013:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1014:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1015:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1034:23: error: dereferencing pointer to incomplete type
+include/phy.h:225:6: note: expected 'struct udevice *' but argument is of type 'struct eth_device *'
+drivers/net/fec_mxc.c:365:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:1050:14: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fecmxc_initialize':
+drivers/net/fec_mxc.c:1138:4: error: 'IMX_FEC_BASE' undeclared (first use in this function)
+drivers/net/fec_mxc.c:1138:4: note: each undeclared identifier is reported only once for each function it appears in
+make[2]: *** [drivers/net/fec_mxc.o] Error 1
+make[1]: *** [drivers/net] Error 2
+make: *** [sub-make] Error 2
w+drivers/net/fec_mxc.c:366:7: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:366:7: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
w+drivers/net/fec_mxc.c:372:34: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:430:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:538:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:545:2: warning: passing argument 1 of 'fec_set_hwaddr' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:591:2: warning: passing argument 1 of 'fec_open' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:599:29: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:641:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:786:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:804:3: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:805:3: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:817:4: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:820:4: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1040:2: warning: passing argument 2 of 'phy_connect_dev' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1046:2: warning: implicit declaration of function 'eth_register' [-Wimplicit-function-declaration] w+drivers/net/fec_mxc.c:1048:2: warning: passing argument 1 of 'fec_get_hwaddr' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1139:1: warning: control reaches end of non-void function [-Wreturn-type]
103 0 7 /124 0:01:10 : mx6sxsabresd
arm: + imx6dl_icore_nand
+drivers/net/fec_mxc.c: In function 'fec_set_hwaddr':
+drivers/net/fec_mxc.c:374:18: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:375:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: At top level:
+drivers/net/fec_mxc.c: In function 'fec_open':
+drivers/net/fec_mxc.c:432:48: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:502:27: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fec_init':
+drivers/net/fec_mxc.c:540:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:372:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:430:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c: In function 'fec_halt':
+drivers/net/fec_mxc.c:601:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fec_send':
+drivers/net/fec_mxc.c:653:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fec_recv':
+drivers/net/fec_mxc.c:788:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:599:13: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:538:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c: In function 'fec_probe':
+drivers/net/fec_mxc.c:989:44: error: invalid application of 'sizeof' to incomplete type 'struct eth_device' +drivers/net/fec_mxc.c:1003:25: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1010:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1011:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1012:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1013:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1014:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1015:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1034:23: error: dereferencing pointer to incomplete type
+include/phy.h:225:6: note: expected 'struct udevice *' but argument is of type 'struct eth_device *'
+drivers/net/fec_mxc.c:365:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:1050:14: error: dereferencing pointer to incomplete type
+make[2]: *** [drivers/net/fec_mxc.o] Error 1
+make[1]: *** [drivers/net] Error 2
+make: *** [sub-make] Error 2
w+drivers/net/fec_mxc.c:366:7: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:366:7: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
w+drivers/net/fec_mxc.c:372:34: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:430:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:538:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:545:2: warning: passing argument 1 of 'fec_set_hwaddr' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:591:2: warning: passing argument 1 of 'fec_open' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:599:29: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:641:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:786:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:804:3: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:805:3: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:817:4: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:820:4: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1040:2: warning: passing argument 2 of 'phy_connect_dev' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1046:2: warning: implicit declaration of function 'eth_register' [-Wimplicit-function-declaration] w+drivers/net/fec_mxc.c:1048:2: warning: passing argument 1 of 'fec_get_hwaddr' from incompatible pointer type [enabled by default]
arm: + imx6q_icore_nand
+drivers/net/fec_mxc.c: In function 'fec_set_hwaddr':
+drivers/net/fec_mxc.c:374:18: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:375:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: At top level:
+drivers/net/fec_mxc.c: In function 'fec_open':
+drivers/net/fec_mxc.c:432:48: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:502:27: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fec_init':
+drivers/net/fec_mxc.c:540:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:372:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:430:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c: In function 'fec_halt':
+drivers/net/fec_mxc.c:601:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fec_send':
+drivers/net/fec_mxc.c:653:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c: In function 'fec_recv':
+drivers/net/fec_mxc.c:788:47: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:599:13: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:538:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c: In function 'fec_probe':
+drivers/net/fec_mxc.c:989:44: error: invalid application of 'sizeof' to incomplete type 'struct eth_device' +drivers/net/fec_mxc.c:1003:25: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1010:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1011:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1012:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1013:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1014:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1015:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1034:23: error: dereferencing pointer to incomplete type
+include/phy.h:225:6: note: expected 'struct udevice *' but argument is of type 'struct eth_device *'
+drivers/net/fec_mxc.c:365:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:1050:14: error: dereferencing pointer to incomplete type
+make[2]: *** [drivers/net/fec_mxc.o] Error 1
+make[1]: *** [drivers/net] Error 2
+make: *** [sub-make] Error 2
w+drivers/net/fec_mxc.c:366:7: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:366:7: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
w+drivers/net/fec_mxc.c:372:34: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:430:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:538:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:545:2: warning: passing argument 1 of 'fec_set_hwaddr' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:591:2: warning: passing argument 1 of 'fec_open' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:599:29: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:641:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:786:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:804:3: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:805:3: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:817:4: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:820:4: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1040:2: warning: passing argument 2 of 'phy_connect_dev' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1046:2: warning: implicit declaration of function 'eth_register' [-Wimplicit-function-declaration] w+drivers/net/fec_mxc.c:1048:2: warning: passing argument 1 of 'fec_get_hwaddr' from incompatible pointer type [enabled by default]
115 0 9 /124 udoo

Best regards,
Stefano

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

v4 cover imx6: Add Engicam GEAM6UL/i.CoreM6 RQS board support

Hi Stefano,

Did you apply on top this series [1], can you confirm?

[1] [PATCH v3 00/13] imx6: icorem6: Add dm-eth, framebuffer and I2C support

Quoted 691 lines · Stefano Babic

Hi Jagan,

Quoted 41 lines · Jagan Teki

Hi Stefano,

Quoted 29 lines · Jagan Teki

From: Jagan Teki <[email protected]>

This is v4 for previous v3, v2 series[1] [2] on top of [3] series

Changes for v4:
- Add FEC patches.

Changes for v3:
- Add I2C support

Changes for v2:
- Add 'Acked-by' from Joe
- Add new i.CoreM6 RQS patches

[1] https://www.mail-archive.com/u-boot at lists.denx.de/msg230990.html
[2] https://www.mail-archive.com/u-boot at lists.denx.de/msg230283.html
[3] [PATCH v3 00/13] imx6: icorem6: Add dm-eth, framebuffer and I2C support

Jagan Teki (16):
arm: dts: Add devicetree for i.MX6UL
arm: imx6ul: Add Engicam GEAM6UL Starter Kit initial support
arm: dts: imx6ul-geam: Add I2C nodes
imx6: geam6ul: Add I2C support
imx6: geam6ul: Add NAND support
imx6: geam6ul: Enable MTD device support
imx6: geam6ul: Add default mtd nand partition table
arm: imx6q: Add Engicam i.CoreM6 Quad/Dual RQS Starter Kit initial
support
arm: imx6q: Add Engicam i.CoreM6 Solo/Duallite RQS Starter Kit initial

Quoted 8 lines

support
imx6: icorem6: Rename engicam icorem6 defconfig files
arm: dts: imx6qdl-icore-rqs: Add I2C node's
imx6: icorem6_rqs: Add I2C support
arm: dts: imx6ul-geam: Add FEC node
imx6: geam6ul: Add FEC support
arm: dts: imx6qdl-icore-rqs: Add FEC node
imx6: icorem6_rqs: Add FEC support

Quoted 4 lines

Any help? this is getting delay since so-long.

thanks!

I am still getting a huge list of errors and warnings after merging your patches. I have not yet got time to check deeper the reasons, but without a clean build this patchset cannot be merged.

Here my log:

arm: + imx6dl_icore_mmc

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_set_hwaddr':
+drivers/net/fec_mxc.c:374:18: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:375:47: error: dereferencing pointer to incomplete type

(quoted diff) +3 -0
+drivers/net/fec_mxc.c: At top level:
+drivers/net/fec_mxc.c: In function 'fec_open':
+drivers/net/fec_mxc.c:432:48: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:502:27: error: dereferencing pointer to incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_init':
+drivers/net/fec_mxc.c:540:47: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:372:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:430:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *'

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_halt':
+drivers/net/fec_mxc.c:601:47: error: dereferencing pointer to

incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_send':
+drivers/net/fec_mxc.c:653:47: error: dereferencing pointer to

incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_recv':
+drivers/net/fec_mxc.c:788:47: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:599:13: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:538:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *'

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_probe':
+drivers/net/fec_mxc.c:989:44: error: invalid application of 'sizeof' to

incomplete type 'struct eth_device' +drivers/net/fec_mxc.c:1003:25: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1010:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1011:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1012:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1013:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1014:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1015:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1034:23: error: dereferencing pointer to incomplete type
+include/phy.h:225:6: note: expected 'struct udevice *' but argument is of type 'struct eth_device *'
+drivers/net/fec_mxc.c:365:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:1050:14: error: dereferencing pointer to incomplete type

(quoted diff) +3 -0
+make[2]: *** [drivers/net/fec_mxc.o] Error 1
+make[1]: *** [drivers/net] Error 2
+make: *** [sub-make] Error 2

w+drivers/net/fec_mxc.c:366:7: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:366:7: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
w+drivers/net/fec_mxc.c:372:34: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:430:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:538:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:545:2: warning: passing argument 1 of 'fec_set_hwaddr' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:591:2: warning: passing argument 1 of 'fec_open' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:599:29: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:641:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:786:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:804:3: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:805:3: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:817:4: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:820:4: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1040:2: warning: passing argument 2 of 'phy_connect_dev' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1046:2: warning: implicit declaration of function 'eth_register' [-Wimplicit-function-declaration] w+drivers/net/fec_mxc.c:1048:2: warning: passing argument 1 of 'fec_get_hwaddr' from incompatible pointer type [enabled by default]
arm: + imx6dl_icore_rqs_mmc

(quoted diff) +2 -0
+cmd/i2c.c: In function 'i2c_get_bus_speed':
+cmd/i2c.c:211:9: error: 'CONFIG_SYS_I2C_SPEED' undeclared (first use in

this function)
+cmd/i2c.c:211:9: note: each undeclared identifier is reported only once for each function it appears in

(quoted diff) +2 -0
+cmd/i2c.c: In function 'i2c_set_bus_speed':
+cmd/i2c.c:230:15: error: 'CONFIG_SYS_I2C_SPEED' undeclared (first use

in this function)

(quoted diff) +2 -0
+cmd/i2c.c: In function 'do_i2c_reset':
+cmd/i2c.c:1925:11: error: 'CONFIG_SYS_I2C_SPEED' undeclared (first use

in this function)

(quoted diff) +3 -0
+make[2]: *** [cmd/i2c.o] Error 1
+make[1]: *** [cmd] Error 2
+make: *** [sub-make] Error 2

w+cmd/i2c.c: In function 'i2c_get_bus_speed':
w+cmd/i2c.c:212:1: warning: control reaches end of non-void function [-Wreturn-type]
arm: + imx6q_icore_mmc

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_set_hwaddr':
+drivers/net/fec_mxc.c:374:18: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:375:47: error: dereferencing pointer to incomplete type

(quoted diff) +3 -0
+drivers/net/fec_mxc.c: At top level:
+drivers/net/fec_mxc.c: In function 'fec_open':
+drivers/net/fec_mxc.c:432:48: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:502:27: error: dereferencing pointer to incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_init':
+drivers/net/fec_mxc.c:540:47: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:372:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:430:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *'

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_halt':
+drivers/net/fec_mxc.c:601:47: error: dereferencing pointer to

incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_send':
+drivers/net/fec_mxc.c:653:47: error: dereferencing pointer to

incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_recv':
+drivers/net/fec_mxc.c:788:47: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:599:13: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:538:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *'

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_probe':
+drivers/net/fec_mxc.c:989:44: error: invalid application of 'sizeof' to

incomplete type 'struct eth_device' +drivers/net/fec_mxc.c:1003:25: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1010:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1011:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1012:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1013:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1014:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1015:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1034:23: error: dereferencing pointer to incomplete type
+include/phy.h:225:6: note: expected 'struct udevice *' but argument is of type 'struct eth_device *'
+drivers/net/fec_mxc.c:365:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:1050:14: error: dereferencing pointer to incomplete type

(quoted diff) +3 -0
+make[2]: *** [drivers/net/fec_mxc.o] Error 1
+make[1]: *** [drivers/net] Error 2
+make: *** [sub-make] Error 2

w+drivers/net/fec_mxc.c:366:7: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:366:7: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
w+drivers/net/fec_mxc.c:372:34: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:430:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:538:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:545:2: warning: passing argument 1 of 'fec_set_hwaddr' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:591:2: warning: passing argument 1 of 'fec_open' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:599:29: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:641:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:786:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:804:3: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:805:3: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:817:4: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:820:4: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1040:2: warning: passing argument 2 of 'phy_connect_dev' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1046:2: warning: implicit declaration of function 'eth_register' [-Wimplicit-function-declaration] w+drivers/net/fec_mxc.c:1048:2: warning: passing argument 1 of 'fec_get_hwaddr' from incompatible pointer type [enabled by default]
arm: + imx6q_icore_rqs_mmc

(quoted diff) +2 -0
+cmd/i2c.c: In function 'i2c_get_bus_speed':
+cmd/i2c.c:211:9: error: 'CONFIG_SYS_I2C_SPEED' undeclared (first use in

this function)
+cmd/i2c.c:211:9: note: each undeclared identifier is reported only once for each function it appears in

(quoted diff) +2 -0
+cmd/i2c.c: In function 'i2c_set_bus_speed':
+cmd/i2c.c:230:15: error: 'CONFIG_SYS_I2C_SPEED' undeclared (first use

in this function)

(quoted diff) +2 -0
+cmd/i2c.c: In function 'do_i2c_reset':
+cmd/i2c.c:1925:11: error: 'CONFIG_SYS_I2C_SPEED' undeclared (first use

in this function)

(quoted diff) +3 -0
+make[2]: *** [cmd/i2c.o] Error 1
+make[1]: *** [cmd] Error 2
+make: *** [sub-make] Error 2

w+cmd/i2c.c: In function 'i2c_get_bus_speed':
w+cmd/i2c.c:212:1: warning: control reaches end of non-void function [-Wreturn-type]
arm: + imx6ul_geam_mmc

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_set_hwaddr':
+drivers/net/fec_mxc.c:374:18: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:375:47: error: dereferencing pointer to incomplete type

(quoted diff) +3 -0
+drivers/net/fec_mxc.c: At top level:
+drivers/net/fec_mxc.c: In function 'fec_open':
+drivers/net/fec_mxc.c:432:48: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:502:27: error: dereferencing pointer to incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_init':
+drivers/net/fec_mxc.c:540:47: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:372:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:430:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *'

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_halt':
+drivers/net/fec_mxc.c:601:47: error: dereferencing pointer to

incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_send':
+drivers/net/fec_mxc.c:653:47: error: dereferencing pointer to

incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_recv':
+drivers/net/fec_mxc.c:788:47: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:599:13: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:538:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *'

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_probe':
+drivers/net/fec_mxc.c:989:44: error: invalid application of 'sizeof' to

incomplete type 'struct eth_device' +drivers/net/fec_mxc.c:1003:25: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1010:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1011:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1012:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1013:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1014:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1015:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1034:23: error: dereferencing pointer to incomplete type
+include/phy.h:225:6: note: expected 'struct udevice *' but argument is of type 'struct eth_device *'
+drivers/net/fec_mxc.c:365:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:1050:14: error: dereferencing pointer to incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fecmxc_initialize':
+drivers/net/fec_mxc.c:1138:4: error: 'IMX_FEC_BASE' undeclared (first

use in this function)
+drivers/net/fec_mxc.c:1138:4: note: each undeclared identifier is reported only once for each function it appears in

(quoted diff) +3 -0
+make[2]: *** [drivers/net/fec_mxc.o] Error 1
+make[1]: *** [drivers/net] Error 2
+make: *** [sub-make] Error 2

w+drivers/net/fec_mxc.c:366:7: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:366:7: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
w+drivers/net/fec_mxc.c:372:34: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:430:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:538:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:545:2: warning: passing argument 1 of 'fec_set_hwaddr' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:591:2: warning: passing argument 1 of 'fec_open' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:599:29: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:641:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:786:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:804:3: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:805:3: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:817:4: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:820:4: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1040:2: warning: passing argument 2 of 'phy_connect_dev' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1046:2: warning: implicit declaration of function 'eth_register' [-Wimplicit-function-declaration] w+drivers/net/fec_mxc.c:1048:2: warning: passing argument 1 of 'fec_get_hwaddr' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1139:1: warning: control reaches end of non-void function [-Wreturn-type]
arm: + imx6ul_geam_nand

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_set_hwaddr':
+drivers/net/fec_mxc.c:374:18: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:375:47: error: dereferencing pointer to incomplete type

(quoted diff) +3 -0
+drivers/net/fec_mxc.c: At top level:
+drivers/net/fec_mxc.c: In function 'fec_open':
+drivers/net/fec_mxc.c:432:48: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:502:27: error: dereferencing pointer to incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_init':
+drivers/net/fec_mxc.c:540:47: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:372:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:430:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *'

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_halt':
+drivers/net/fec_mxc.c:601:47: error: dereferencing pointer to

incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_send':
+drivers/net/fec_mxc.c:653:47: error: dereferencing pointer to

incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_recv':
+drivers/net/fec_mxc.c:788:47: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:599:13: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:538:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *'

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_probe':
+drivers/net/fec_mxc.c:989:44: error: invalid application of 'sizeof' to

incomplete type 'struct eth_device' +drivers/net/fec_mxc.c:1003:25: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1010:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1011:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1012:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1013:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1014:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1015:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1034:23: error: dereferencing pointer to incomplete type
+include/phy.h:225:6: note: expected 'struct udevice *' but argument is of type 'struct eth_device *'
+drivers/net/fec_mxc.c:365:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:1050:14: error: dereferencing pointer to incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fecmxc_initialize':
+drivers/net/fec_mxc.c:1138:4: error: 'IMX_FEC_BASE' undeclared (first

use in this function)
+drivers/net/fec_mxc.c:1138:4: note: each undeclared identifier is reported only once for each function it appears in

(quoted diff) +3 -0
+make[2]: *** [drivers/net/fec_mxc.o] Error 1
+make[1]: *** [drivers/net] Error 2
+make: *** [sub-make] Error 2

w+drivers/net/fec_mxc.c:366:7: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:366:7: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
w+drivers/net/fec_mxc.c:372:34: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:430:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:538:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:545:2: warning: passing argument 1 of 'fec_set_hwaddr' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:591:2: warning: passing argument 1 of 'fec_open' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:599:29: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:641:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:786:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:804:3: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:805:3: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:817:4: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:820:4: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1040:2: warning: passing argument 2 of 'phy_connect_dev' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1046:2: warning: implicit declaration of function 'eth_register' [-Wimplicit-function-declaration] w+drivers/net/fec_mxc.c:1048:2: warning: passing argument 1 of 'fec_get_hwaddr' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1139:1: warning: control reaches end of non-void function [-Wreturn-type]
103 0 7 /124 0:01:10 : mx6sxsabresd
arm: + imx6dl_icore_nand

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_set_hwaddr':
+drivers/net/fec_mxc.c:374:18: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:375:47: error: dereferencing pointer to incomplete type

(quoted diff) +3 -0
+drivers/net/fec_mxc.c: At top level:
+drivers/net/fec_mxc.c: In function 'fec_open':
+drivers/net/fec_mxc.c:432:48: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:502:27: error: dereferencing pointer to incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_init':
+drivers/net/fec_mxc.c:540:47: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:372:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:430:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *'

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_halt':
+drivers/net/fec_mxc.c:601:47: error: dereferencing pointer to

incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_send':
+drivers/net/fec_mxc.c:653:47: error: dereferencing pointer to

incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_recv':
+drivers/net/fec_mxc.c:788:47: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:599:13: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:538:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *'

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_probe':
+drivers/net/fec_mxc.c:989:44: error: invalid application of 'sizeof' to

incomplete type 'struct eth_device' +drivers/net/fec_mxc.c:1003:25: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1010:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1011:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1012:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1013:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1014:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1015:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1034:23: error: dereferencing pointer to incomplete type
+include/phy.h:225:6: note: expected 'struct udevice *' but argument is of type 'struct eth_device *'
+drivers/net/fec_mxc.c:365:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:1050:14: error: dereferencing pointer to incomplete type

(quoted diff) +3 -0
+make[2]: *** [drivers/net/fec_mxc.o] Error 1
+make[1]: *** [drivers/net] Error 2
+make: *** [sub-make] Error 2

w+drivers/net/fec_mxc.c:366:7: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:366:7: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
w+drivers/net/fec_mxc.c:372:34: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:430:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:538:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:545:2: warning: passing argument 1 of 'fec_set_hwaddr' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:591:2: warning: passing argument 1 of 'fec_open' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:599:29: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:641:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:786:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:804:3: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:805:3: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:817:4: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:820:4: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1040:2: warning: passing argument 2 of 'phy_connect_dev' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1046:2: warning: implicit declaration of function 'eth_register' [-Wimplicit-function-declaration] w+drivers/net/fec_mxc.c:1048:2: warning: passing argument 1 of 'fec_get_hwaddr' from incompatible pointer type [enabled by default]
arm: + imx6q_icore_nand

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_set_hwaddr':
+drivers/net/fec_mxc.c:374:18: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:375:47: error: dereferencing pointer to incomplete type

(quoted diff) +3 -0
+drivers/net/fec_mxc.c: At top level:
+drivers/net/fec_mxc.c: In function 'fec_open':
+drivers/net/fec_mxc.c:432:48: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:502:27: error: dereferencing pointer to incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_init':
+drivers/net/fec_mxc.c:540:47: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:372:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:430:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *'

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_halt':
+drivers/net/fec_mxc.c:601:47: error: dereferencing pointer to

incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_send':
+drivers/net/fec_mxc.c:653:47: error: dereferencing pointer to

incomplete type

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_recv':
+drivers/net/fec_mxc.c:788:47: error: dereferencing pointer to

incomplete type
+drivers/net/fec_mxc.c:599:13: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:538:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *'

(quoted diff) +2 -0
+drivers/net/fec_mxc.c: In function 'fec_probe':
+drivers/net/fec_mxc.c:989:44: error: invalid application of 'sizeof' to

incomplete type 'struct eth_device' +drivers/net/fec_mxc.c:1003:25: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1010:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1011:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1012:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1013:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1014:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1015:6: error: dereferencing pointer to incomplete type
+drivers/net/fec_mxc.c:1034:23: error: dereferencing pointer to incomplete type
+include/phy.h:225:6: note: expected 'struct udevice *' but argument is of type 'struct eth_device *'
+drivers/net/fec_mxc.c:365:12: note: expected 'struct eth_device *' but argument is of type 'struct eth_device *' +drivers/net/fec_mxc.c:1050:14: error: dereferencing pointer to incomplete type

(quoted diff) +3 -0
+make[2]: *** [drivers/net/fec_mxc.o] Error 1
+make[1]: *** [drivers/net] Error 2
+make: *** [sub-make] Error 2

w+drivers/net/fec_mxc.c:366:7: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:366:7: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
w+drivers/net/fec_mxc.c:372:34: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:430:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:538:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:545:2: warning: passing argument 1 of 'fec_set_hwaddr' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:591:2: warning: passing argument 1 of 'fec_open' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:599:29: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:641:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:786:28: warning: 'struct eth_device' declared inside parameter list [enabled by default] w+drivers/net/fec_mxc.c:804:3: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:805:3: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:817:4: warning: passing argument 1 of 'fec_halt' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:820:4: warning: passing argument 1 of 'fec_init' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1040:2: warning: passing argument 2 of 'phy_connect_dev' from incompatible pointer type [enabled by default] w+drivers/net/fec_mxc.c:1046:2: warning: implicit declaration of function 'eth_register' [-Wimplicit-function-declaration] w+drivers/net/fec_mxc.c:1048:2: warning: passing argument 1 of 'fec_get_hwaddr' from incompatible pointer type [enabled by default]
115 0 9 /124 udoo

Best regards,
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
=====================================================================
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Signature · 4 lines
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
author
#20 lore raw

v4 cover imx6: Add Engicam GEAM6UL/i.CoreM6 RQS board support

Quoted 5 lines · Jagan Teki

Hi Stefano,

Did you apply on top this series [1], can you confirm?

[1] [PATCH v3 00/13] imx6: icorem6: Add dm-eth, framebuffer and I2C support

Look like you have not applied above before applying this series, we had a discussion about this long back. Please see the thread[1] for more info and also please noted the same in cover-letter as well.

[1] https://patchwork.ozlabs.org/patch/688407/

Quoted 18 lines · Stefano Babic
Quoted 16 lines

Hi Jagan,

Quoted 13 lines · Jagan Teki

Hi Stefano,

Quoted 10 lines · Jagan Teki

From: Jagan Teki <[email protected]>

This is v4 for previous v3, v2 series[1] [2] on top of [3] series

Changes for v4:
- Add FEC patches.

Changes for v3:
- Add I2C support

Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines

Changes for v2:
- Add 'Acked-by' from Joe
- Add new i.CoreM6 RQS patches

[1] https://www.mail-archive.com/u-boot at lists.denx.de/msg230990.html
[2] https://www.mail-archive.com/u-boot at lists.denx.de/msg230283.html
[3] [PATCH v3 00/13] imx6: icorem6: Add dm-eth, framebuffer and I2C support

< snip >

thanks!

Signature · 4 lines
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
#21 lore raw

v4 cover imx6: Add Engicam GEAM6UL/i.CoreM6 RQS board support

Quoted 10 lines · Jagan Teki
Quoted 5 lines · Jagan Teki

Hi Stefano,

Did you apply on top this series [1], can you confirm?

[1] [PATCH v3 00/13] imx6: icorem6: Add dm-eth, framebuffer and I2C support

Look like you have not applied above before applying this series, we had a discussion about this long back. Please see the thread[1] for more info and also please noted the same in cover-letter as well.

That's true, I apply on the top of [1], I have still some issues with your boards:

arm: + imx6q_icore_mmc
+drivers/built-in.o: In function `cfg_video_init':
+drivers/video/cfb_console.c:2011: undefined reference to `video_hw_init'
+arm-linux-gnueabi-ld.bfd: BFD (GNU Binutils) 2.22 assertion fail /opt/eldk/build/eldk-rel-v5.2-2012-06-20-33c5d31-armv5te/tmp/work/i686-nativesdk-eldk-linux/binutils-cross-canadian-arm-2.22-r2/binutils-2.22/bfd/elf32-arm.c:7498 +arm-linux-gnueabi-ld.bfd: BFD (GNU Binutils) 2.22 assertion fail /opt/eldk/build/eldk-rel-v5.2-2012-06-20-33c5d31-armv5te/tmp/work/i686-nativesdk-eldk-linux/binutils-cross-canadian-arm-2.22-r2/binutils-2.22/bfd/elf32-arm.c:13830 +make[1]: *** [u-boot] Error 139
+make: *** [sub-make] Error 2
arm: + imx6q_icore_nand
+drivers/built-in.o: In function `cfg_video_init':
+drivers/video/cfb_console.c:2011: undefined reference to `video_hw_init'
+arm-linux-gnueabi-ld.bfd: BFD (GNU Binutils) 2.22 assertion fail /opt/eldk/build/eldk-rel-v5.2-2012-06-20-33c5d31-armv5te/tmp/work/i686-nativesdk-eldk-linux/binutils-cross-canadian-arm-2.22-r2/binutils-2.22/bfd/elf32-arm.c:7498 +arm-linux-gnueabi-ld.bfd: BFD (GNU Binutils) 2.22 assertion fail /opt/eldk/build/eldk-rel-v5.2-2012-06-20-33c5d31-armv5te/tmp/work/i686-nativesdk-eldk-linux/binutils-cross-canadian-arm-2.22-r2/binutils-2.22/bfd/elf32-arm.c:13830 +make[1]: *** [u-boot] Error 139
+make: *** [sub-make] Error 2

    4    0    2 /6      0:00:20  : imx6dl_icore_mmc

Regards,
Stefano

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

v4 cover imx6: Add Engicam GEAM6UL/i.CoreM6 RQS board support

Quoted 18 lines · Stefano Babic
Quoted 10 lines · Jagan Teki
Quoted 5 lines · Jagan Teki

Hi Stefano,

Did you apply on top this series [1], can you confirm?

[1] [PATCH v3 00/13] imx6: icorem6: Add dm-eth, framebuffer and I2C support

Look like you have not applied above before applying this series, we had a discussion about this long back. Please see the thread[1] for more info and also please noted the same in cover-letter as well.

That's true, I apply on the top of [1], I have still some issues with your boards:

arm: + imx6q_icore_mmc

Review

Quoted 2 lines
(quoted diff) +2 -0
+drivers/built-in.o: In function `cfg_video_init':
+drivers/video/cfb_console.c:2011: undefined reference to `video_hw_init'

Ohh..look like it's again rebased and missed CONFIG_VIDEO_IPUV3. Please find the v5 of 10/16 for this change.

thanks!

Signature · 4 lines
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
#23 lore raw

v4 cover imx6: Add Engicam GEAM6UL/i.CoreM6 RQS board support

Quoted 18 lines · Jagan Teki
Quoted 17 lines · Stefano Babic
Quoted 10 lines · Jagan Teki
Quoted 5 lines · Jagan Teki

Hi Stefano,

Did you apply on top this series [1], can you confirm?

[1] [PATCH v3 00/13] imx6: icorem6: Add dm-eth, framebuffer and I2C support

Look like you have not applied above before applying this series, we had a discussion about this long back. Please see the thread[1] for more info and also please noted the same in cover-letter as well.

That's true, I apply on the top of [1], I have still some issues with your boards:

Quoted 5 lines

Review

Quoted 3 lines

arm: + imx6q_icore_mmc

(quoted diff) +2 -0
+drivers/built-in.o: In function `cfg_video_init':
+drivers/video/cfb_console.c:2011: undefined reference to `video_hw_init'

Ohh..look like it's again rebased and missed CONFIG_VIDEO_IPUV3.

Yes, it is not set.

Quoted 1 line

Please find the v5 of 10/16 for this change.

ok, next try...

Regards,
Stefano

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