imx6: Add Engicam GEAM6UL/i.CoreM6 RQS board support
Subsystems (5)
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.hSignature · 1 line
1.9.1
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)
--- 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
@@ -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 = <®_arm>; + soc-supply = <®_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 = <®_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 = <®_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
@@ -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
PATCH v4 2/16 arm: imx6ul: Add Engicam GEAM6UL Starter Kit initial support
In reply to Jagan TekiFrom: 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>
--- 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
PATCH v4 3/16 arm: dts: imx6ul-geam: Add I2C nodes
In reply to Jagan TekiFrom: Jagan Teki <[email protected]>
Add I2C nodes for Engicam GEAM6UL module.
--- arch/arm/dts/imx6ul-geam-kit.dts | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+)
arch/arm/dts/imx6ul-geam-kit.dts +28 -0
@@ -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
PATCH v4 4/16 imx6: geam6ul: Add I2C support
In reply to Jagan TekiFrom: 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........
--- 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
@@ -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
@@ -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
PATCH v4 5/16 imx6: geam6ul: Add NAND support
In reply to Jagan TekiFrom: 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
--- 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
@@ -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
@@ -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
@@ -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
PATCH v4 6/16 imx6: geam6ul: Enable MTD device support
In reply to Jagan TekiFrom: Jagan Teki <[email protected]>
Enable MTD device, partition and command support.
--- include/configs/imx6ul_geam.h | 6 ++++++ 1 file changed, 6 insertions(+)
include/configs/imx6ul_geam.h +6 -0
@@ -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
PATCH v4 7/16 imx6: geam6ul: Add default mtd nand partition table
In reply to Jagan TekiFrom: 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
--- include/configs/imx6ul_geam.h | 2 ++ 1 file changed, 2 insertions(+)
include/configs/imx6ul_geam.h +2 -0
@@ -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
PATCH v4 8/16 arm: imx6q: Add Engicam i.CoreM6 Quad/Dual RQS Starter Kit initial support
In reply to Jagan TekiFrom: 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>
--- 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
PATCH v4 9/16 arm: imx6q: Add Engicam i.CoreM6 Solo/Duallite RQS Starter Kit initial support
In reply to Jagan TekiFrom: 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>
--- 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
@@ -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
@@ -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
@@ -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
@@ -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
PATCH v4 10/16 imx6: icorem6: Rename engicam icorem6 defconfig files
In reply to Jagan TekiFrom: Jagan Teki <[email protected]>
Rename defconfig files for better compatible with
respective board names and dts files.
---
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_defconfigboard/engicam/icorem6/MAINTAINERS +4 -2
@@ -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
@@ -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
configs/imx6dl_icore_nand_defconfig renamed from configs/imx6qdl_icore_nand_defconfig +0 -0
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
PATCH v4 11/16 arm: dts: imx6qdl-icore-rqs: Add I2C node's
In reply to Jagan TekiFrom: Jagan Teki <[email protected]>
Add I2C nodes for Engicam i.CoreM6 RQS modules.
--- arch/arm/dts/imx6qdl-icore-rqs.dtsi | 41 +++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+)
arch/arm/dts/imx6qdl-icore-rqs.dtsi +41 -0
@@ -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
PATCH v4 12/16 imx6: icorem6_rqs: Add I2C support
In reply to Jagan TekiFrom: 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
--- 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
@@ -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
@@ -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
@@ -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
PATCH v4 13/16 arm: dts: imx6ul-geam: Add FEC node
In reply to Jagan TekiFrom: Jagan Teki <[email protected]>
Add FEC node for Engicam GEAM6UL module.
--- arch/arm/dts/imx6ul-geam-kit.dts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)
arch/arm/dts/imx6ul-geam-kit.dts +21 -0
@@ -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
PATCH v4 14/16 imx6: geam6ul: Add FEC support
In reply to Jagan TekiFrom: Jagan Teki <[email protected]>
Add FEC support for Engicam GEAM6UL module.
--- 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
@@ -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
@@ -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
@@ -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
@@ -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
PATCH v4 15/16 arm: dts: imx6qdl-icore-rqs: Add FEC node
In reply to Jagan TekiFrom: Jagan Teki <[email protected]>
Add FEC node for Engicam i.CoreM6 RQS modules.
--- arch/arm/dts/imx6qdl-icore-rqs.dtsi | 46 +++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+)
arch/arm/dts/imx6qdl-icore-rqs.dtsi +46 -0
@@ -48,6 +48,31 @@ }; }; +&fec { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_enet>; + phy-handle = <ð_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
PATCH v4 16/16 imx6: icorem6_rqs: Add FEC support
In reply to Jagan TekiFrom: Jagan Teki <[email protected]>
Add FEC support for Engicam i.CoreM6 RQS modules.
--- 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
@@ -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
@@ -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
@@ -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
@@ -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
v4 cover imx6: Add Engicam GEAM6UL/i.CoreM6 RQS board support
In reply to Jagan TekiHi 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 supportChanges 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 supportJagan 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.
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 supportChanges 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 supportJagan 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 initialQuoted 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 2w+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 2w+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 2w+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 2w+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 2w+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 2w+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 2w+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 2w+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 =====================================================================
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 supportChanges 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 supportJagan 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 initialQuoted 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 supportQuoted 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 toincomplete 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 toincomplete 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 toincomplete type
+drivers/net/fec_mxc.c:372:12: note: expected 'structeth_device*' but argument is of type 'structeth_device*'+drivers/net/fec_mxc.c:430:12: note: expected 'structeth_device*' but argument is of type 'structeth_device*'(quoted diff) +2
-0+drivers/net/fec_mxc.c: In function 'fec_halt': +drivers/net/fec_mxc.c:601:47: error: dereferencing pointer toincomplete type
(quoted diff) +2
-0+drivers/net/fec_mxc.c: In function 'fec_send': +drivers/net/fec_mxc.c:653:47: error: dereferencing pointer toincomplete type
(quoted diff) +2
-0+drivers/net/fec_mxc.c: In function 'fec_recv': +drivers/net/fec_mxc.c:788:47: error: dereferencing pointer toincomplete type
+drivers/net/fec_mxc.c:599:13: note: expected 'structeth_device*' but argument is of type 'structeth_device*'+drivers/net/fec_mxc.c:538:12: note: expected 'structeth_device*' but argument is of type 'structeth_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' toincomplete 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 'structeth_device*'+drivers/net/fec_mxc.c:365:12: note: expected 'structeth_device*' but argument is of type 'structeth_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: 'structeth_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: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:430:28: warning: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:538:28: warning: 'structeth_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: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:641:28: warning: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:786:28: warning: 'structeth_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 inthis 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 usein 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 usein 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 toincomplete 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 toincomplete 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 toincomplete type
+drivers/net/fec_mxc.c:372:12: note: expected 'structeth_device*' but argument is of type 'structeth_device*'+drivers/net/fec_mxc.c:430:12: note: expected 'structeth_device*' but argument is of type 'structeth_device*'(quoted diff) +2
-0+drivers/net/fec_mxc.c: In function 'fec_halt': +drivers/net/fec_mxc.c:601:47: error: dereferencing pointer toincomplete type
(quoted diff) +2
-0+drivers/net/fec_mxc.c: In function 'fec_send': +drivers/net/fec_mxc.c:653:47: error: dereferencing pointer toincomplete type
(quoted diff) +2
-0+drivers/net/fec_mxc.c: In function 'fec_recv': +drivers/net/fec_mxc.c:788:47: error: dereferencing pointer toincomplete type
+drivers/net/fec_mxc.c:599:13: note: expected 'structeth_device*' but argument is of type 'structeth_device*'+drivers/net/fec_mxc.c:538:12: note: expected 'structeth_device*' but argument is of type 'structeth_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' toincomplete 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 'structeth_device*'+drivers/net/fec_mxc.c:365:12: note: expected 'structeth_device*' but argument is of type 'structeth_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: 'structeth_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: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:430:28: warning: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:538:28: warning: 'structeth_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: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:641:28: warning: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:786:28: warning: 'structeth_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 inthis 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 usein 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 usein 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 toincomplete 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 toincomplete 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 toincomplete type
+drivers/net/fec_mxc.c:372:12: note: expected 'structeth_device*' but argument is of type 'structeth_device*'+drivers/net/fec_mxc.c:430:12: note: expected 'structeth_device*' but argument is of type 'structeth_device*'(quoted diff) +2
-0+drivers/net/fec_mxc.c: In function 'fec_halt': +drivers/net/fec_mxc.c:601:47: error: dereferencing pointer toincomplete type
(quoted diff) +2
-0+drivers/net/fec_mxc.c: In function 'fec_send': +drivers/net/fec_mxc.c:653:47: error: dereferencing pointer toincomplete type
(quoted diff) +2
-0+drivers/net/fec_mxc.c: In function 'fec_recv': +drivers/net/fec_mxc.c:788:47: error: dereferencing pointer toincomplete type
+drivers/net/fec_mxc.c:599:13: note: expected 'structeth_device*' but argument is of type 'structeth_device*'+drivers/net/fec_mxc.c:538:12: note: expected 'structeth_device*' but argument is of type 'structeth_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' toincomplete 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 'structeth_device*'+drivers/net/fec_mxc.c:365:12: note: expected 'structeth_device*' but argument is of type 'structeth_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 (firstuse 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: 'structeth_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: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:430:28: warning: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:538:28: warning: 'structeth_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: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:641:28: warning: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:786:28: warning: 'structeth_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 toincomplete 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 toincomplete 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 toincomplete type
+drivers/net/fec_mxc.c:372:12: note: expected 'structeth_device*' but argument is of type 'structeth_device*'+drivers/net/fec_mxc.c:430:12: note: expected 'structeth_device*' but argument is of type 'structeth_device*'(quoted diff) +2
-0+drivers/net/fec_mxc.c: In function 'fec_halt': +drivers/net/fec_mxc.c:601:47: error: dereferencing pointer toincomplete type
(quoted diff) +2
-0+drivers/net/fec_mxc.c: In function 'fec_send': +drivers/net/fec_mxc.c:653:47: error: dereferencing pointer toincomplete type
(quoted diff) +2
-0+drivers/net/fec_mxc.c: In function 'fec_recv': +drivers/net/fec_mxc.c:788:47: error: dereferencing pointer toincomplete type
+drivers/net/fec_mxc.c:599:13: note: expected 'structeth_device*' but argument is of type 'structeth_device*'+drivers/net/fec_mxc.c:538:12: note: expected 'structeth_device*' but argument is of type 'structeth_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' toincomplete 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 'structeth_device*'+drivers/net/fec_mxc.c:365:12: note: expected 'structeth_device*' but argument is of type 'structeth_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 (firstuse 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: 'structeth_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: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:430:28: warning: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:538:28: warning: 'structeth_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: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:641:28: warning: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:786:28: warning: 'structeth_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 toincomplete 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 toincomplete 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 toincomplete type
+drivers/net/fec_mxc.c:372:12: note: expected 'structeth_device*' but argument is of type 'structeth_device*'+drivers/net/fec_mxc.c:430:12: note: expected 'structeth_device*' but argument is of type 'structeth_device*'(quoted diff) +2
-0+drivers/net/fec_mxc.c: In function 'fec_halt': +drivers/net/fec_mxc.c:601:47: error: dereferencing pointer toincomplete type
(quoted diff) +2
-0+drivers/net/fec_mxc.c: In function 'fec_send': +drivers/net/fec_mxc.c:653:47: error: dereferencing pointer toincomplete type
(quoted diff) +2
-0+drivers/net/fec_mxc.c: In function 'fec_recv': +drivers/net/fec_mxc.c:788:47: error: dereferencing pointer toincomplete type
+drivers/net/fec_mxc.c:599:13: note: expected 'structeth_device*' but argument is of type 'structeth_device*'+drivers/net/fec_mxc.c:538:12: note: expected 'structeth_device*' but argument is of type 'structeth_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' toincomplete 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 'structeth_device*'+drivers/net/fec_mxc.c:365:12: note: expected 'structeth_device*' but argument is of type 'structeth_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: 'structeth_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: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:430:28: warning: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:538:28: warning: 'structeth_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: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:641:28: warning: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:786:28: warning: 'structeth_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 toincomplete 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 toincomplete 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 toincomplete type
+drivers/net/fec_mxc.c:372:12: note: expected 'structeth_device*' but argument is of type 'structeth_device*'+drivers/net/fec_mxc.c:430:12: note: expected 'structeth_device*' but argument is of type 'structeth_device*'(quoted diff) +2
-0+drivers/net/fec_mxc.c: In function 'fec_halt': +drivers/net/fec_mxc.c:601:47: error: dereferencing pointer toincomplete type
(quoted diff) +2
-0+drivers/net/fec_mxc.c: In function 'fec_send': +drivers/net/fec_mxc.c:653:47: error: dereferencing pointer toincomplete type
(quoted diff) +2
-0+drivers/net/fec_mxc.c: In function 'fec_recv': +drivers/net/fec_mxc.c:788:47: error: dereferencing pointer toincomplete type
+drivers/net/fec_mxc.c:599:13: note: expected 'structeth_device*' but argument is of type 'structeth_device*'+drivers/net/fec_mxc.c:538:12: note: expected 'structeth_device*' but argument is of type 'structeth_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' toincomplete 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 'structeth_device*'+drivers/net/fec_mxc.c:365:12: note: expected 'structeth_device*' but argument is of type 'structeth_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: 'structeth_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: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:430:28: warning: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:538:28: warning: 'structeth_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: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:641:28: warning: 'structeth_device' declared inside parameter list [enabled by default]w+drivers/net/fec_mxc.c:786:28: warning: 'structeth_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 udooBest 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.
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.
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 =====================================================================
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.
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 =====================================================================