Skip to contentSkip to conversation

Add support for Engicam IMX6UL module

PATCH Superseded Michael Trimarchi 4 participants 22 messages Feb 20, 2016 – Mar 30, 2016

Subsystems (5)
lore
Share & tools
lore
#0 lore raw

cover Add support for Engicam IMX6UL module

Thi patch series add the support for Engicam IMXUL product

https://community.freescale.com/docs/DOC-328428

Based on Freescale? i.MX 6UltraLite processor, a high performance, ultra-efficient processor family featuring an advanced implementation of a single ARM? Cortex?-A7 core, which operates at speeds up to 528 MHz.

The new ENGICAM GEA M6UL module is suitable for cost effective HMI applications requiring high performance CPU.

Michael Trimarchi (4):
ARM: dts: imx6ul: Add flexcan1 and flexcan2 support
ARM: dts: imx6ul: Add LCDIF support
ARM: dts: imx6ul: Add GPMI nand controller support
ARM: dts: imx6ul-geam: Add Engicam IMX6UL GEA M6UL initial support

 arch/arm/boot/dts/Makefile             |   3 +-
 arch/arm/boot/dts/imx6ul-geam-kit.dts  | 102 +++++++++
 arch/arm/boot/dts/imx6ul-geam.dtsi     | 371 +++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/imx6ul.dtsi          |  68 ++++++
 drivers/mtd/nand/gpmi-nand/gpmi-nand.c |  10 +
 drivers/mtd/nand/gpmi-nand/gpmi-nand.h |   6 +-
 6 files changed, 557 insertions(+), 3 deletions(-)
 create mode 100644 arch/arm/boot/dts/imx6ul-geam-kit.dts
 create mode 100644 arch/arm/boot/dts/imx6ul-geam.dtsi
Signature · 1 line
2.7.0
#1 lore raw

PATCH 1/4 ARM: dts: imx6ul: Add flexcan1 and flexcan2 support

Add support for FLEXCAN1 and FLEXCAN2.

---
 arch/arm/boot/dts/imx6ul.dtsi | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
arch/arm/boot/dts/imx6ul.dtsi +24 -0
index 99b6465..cd32d1d 100644
@@ -14,6 +14,8 @@
 
 / {
 	aliases {
+		can0 = &flexcan1;
+		can1 = &flexcan2;
 		ethernet0 = &fec1;
 		ethernet1 = &fec2;
 		gpio0 = &gpio1;
@@ -234,6 +236,28 @@
 					clock-names = "ipg", "per";
 					status = "disabled";
 				};
+
+				flexcan1: can 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";
+					stop-mode = <&gpr 0x10 1 0x10 17>;
+					status = "disabled";
+				};
+
+				flexcan2: can 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";
+					stop-mode = <&gpr 0x10 2 0x10 18>;
+					status = "disabled";
+				};
 			};
 
 			gpt1: gpt at 02098000 {
Signature · 1 line
2.7.0
reviewer
#2 lore raw

PATCH 1/4 ARM: dts: imx6ul: Add flexcan1 and flexcan2 support

arch/arm/boot/dts/imx6ul.dtsi line 247

Quoted 9 lines · Michael Trimarchi
arch/arm/boot/dts/imx6ul.dtsi +9 -0
+
+                               flexcan1: can 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";
+                                       stop-mode = <&gpr 0x10 1 0x10 17>;

This 'stop-mode' property is not handled in mainline, only in NXP kernel, so I suggest to drop this.

#3 lore raw

PATCH 1/4 ARM: dts: imx6ul: Add flexcan1 and flexcan2 support

Hi Fabio

Quoted 13 lines · Fabio Estevam

arch/arm/boot/dts/imx6ul.dtsi line 247

Quoted 9 lines · Michael Trimarchi
arch/arm/boot/dts/imx6ul.dtsi +9 -0
+
+                               flexcan1: can 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";
+                                       stop-mode = <&gpr 0x10 1 0x10 17>;
Quoted 2 lines

This 'stop-mode' property is not handled in mainline, only in NXP kernel, so I suggest to drop this.

ok. Can you point me out to a driver in freescale source that use it?

Michael

Signature · 4 lines
| Michael Nazzareno Trimarchi                     Amarula Solutions BV |
| COO  -  Founder                                      Cruquiuskade 47 |
| +31(0)851119172                                 Amsterdam 1018 AM NL |
|                  [`as] http://www.amarulasolutions.com               |
#5 lore raw

PATCH v2 1/4 ARM: dts: imx6ul: Add flexcan1 and flexcan2 support

Add support for FLEXCAN1 and FLEXCAN2.

---
Changes in V2:
- remove stop-mode property because is not handle in mainline

 arch/arm/boot/dts/imx6ul.dtsi | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
arch/arm/boot/dts/imx6ul.dtsi +22 -0
index 99b6465..f7b852e 100644
@@ -14,6 +14,8 @@
 
 / {
 	aliases {
+		can0 = &flexcan1;
+		can1 = &flexcan2;
 		ethernet0 = &fec1;
 		ethernet1 = &fec2;
 		gpio0 = &gpio1;
@@ -234,6 +236,26 @@
 					clock-names = "ipg", "per";
 					status = "disabled";
 				};
+
+				flexcan1: can 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";
+				};
+
+				flexcan2: can 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 {
Signature · 7 lines
2.7.0

-- 
| Michael Nazzareno Trimarchi                     Amarula Solutions BV |
| COO  -  Founder                                      Cruquiuskade 47 |
| +31(0)851119172                                 Amsterdam 1018 AM NL |
|                  [`as] http://www.amarulasolutions.com               |
#6 lore raw

PATCH 2/4 ARM: dts: imx6ul: Add LCDIF support

In reply to Michael Trimarchi

Add support for LCDIF.

---
 arch/arm/boot/dts/imx6ul.dtsi | 11 +++++++++++
 1 file changed, 11 insertions(+)
arch/arm/boot/dts/imx6ul.dtsi +11 -0
index cd32d1d..f369fa4 100644
@@ -696,6 +696,17 @@
 				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>;
Signature · 1 line
2.7.0
#7 lore raw

PATCH 3/4 ARM: dts: imx6ul: Add GPMI nand controller support

In reply to Michael Trimarchi

Add support for GPMI nand controller.

---
 arch/arm/boot/dts/imx6ul.dtsi          | 33 +++++++++++++++++++++++++++++++++
 drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 10 ++++++++++
 drivers/mtd/nand/gpmi-nand/gpmi-nand.h |  6 ++++--
 3 files changed, 47 insertions(+), 2 deletions(-)
arch/arm/boot/dts/imx6ul.dtsi +33 -0
index f369fa4..42b0a29 100644
@@ -142,6 +142,39 @@
 			reg = <0x00900000 0x20000>;
 		};
 
+		dma_apbh: dma-apbh at 01804000 {
+			compatible = "fsl,imx6ul-dma-apbh", "fsl,imx28-dma-apbh";
+			reg = <0x01804000 0x2000>;
+			interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 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,imx6ul-gpmi-nand";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			reg = <0x01806000 0x2000>, <0x01808000 0x4000>;
+			reg-names = "gpmi-nand", "bch";
+			interrupts = <GIC_SPI 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>;
drivers/mtd/nand/gpmi-nand/gpmi-nand.c +10 -0
index 235ddcb..b7528a1 100644
@@ -77,6 +77,12 @@ static const struct gpmi_devdata gpmi_devdata_imx6sx = {
 	.max_chain_delay = 12,
 };
 
+static const struct gpmi_devdata gpmi_devdata_imx6ul = {
+	.type = IS_MX6UL,
+	.bch_max_ecc_strength = 40,
+	.max_chain_delay = 12,
+};
+
 static irqreturn_t bch_irq(int irq, void *cookie)
 {
 	struct gpmi_nand_data *this = cookie;
@@ -1975,7 +1981,11 @@ static const struct of_device_id gpmi_nand_id_table[] = {
 	}, {
 		.compatible = "fsl,imx6sx-gpmi-nand",
 		.data = &gpmi_devdata_imx6sx,
+	}, {
+		.compatible = "fsl,imx6ul-gpmi-nand",
+		.data = &gpmi_devdata_imx6ul,
 	}, {}
+
 };
 MODULE_DEVICE_TABLE(of, gpmi_nand_id_table);
 
drivers/mtd/nand/gpmi-nand/gpmi-nand.h +4 -2
index 4e49a1f..c5fa52a 100644
@@ -123,7 +123,8 @@ enum gpmi_type {
 	IS_MX23,
 	IS_MX28,
 	IS_MX6Q,
-	IS_MX6SX
+	IS_MX6SX,
+	IS_MX6UL,
 };
 
 struct gpmi_devdata {
@@ -305,6 +306,7 @@ void gpmi_copy_bits(u8 *dst, size_t dst_bit_off,
 #define GPMI_IS_MX28(x)		((x)->devdata->type == IS_MX28)
 #define GPMI_IS_MX6Q(x)		((x)->devdata->type == IS_MX6Q)
 #define GPMI_IS_MX6SX(x)	((x)->devdata->type == IS_MX6SX)
+#define GPMI_IS_MX6UL(x)	((x)->devdata->type == IS_MX6UL)
 
-#define GPMI_IS_MX6(x)		(GPMI_IS_MX6Q(x) || GPMI_IS_MX6SX(x))
+#define GPMI_IS_MX6(x)		(GPMI_IS_MX6Q(x) || GPMI_IS_MX6SX(x) || GPMI_IS_MX6UL(x))
 #endif
Signature · 1 line
2.7.0
reviewer
#8 lore raw

PATCH 3/4 ARM: dts: imx6ul: Add GPMI nand controller support

Hi Michael,

Quoted 7 lines · Michael Trimarchi

Add support for GPMI nand controller.

---
 arch/arm/boot/dts/imx6ul.dtsi          | 33 +++++++++++++++++++++++++++++++++
 drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 10 ++++++++++
 drivers/mtd/nand/gpmi-nand/gpmi-nand.h |  6 ++++--

It would be better to split the dts and mtd parts in two patches.

#9 lore raw

PATCH 3/4 ARM: dts: imx6ul: Add GPMI nand controller support

Hi

Quoted 6 lines · Fabio Estevam

Hi Michael,

Quoted 2 lines · Michael Trimarchi

Add support for GPMI nand controller.

Quoted 7 lines
Quoted 5 lines
---
 arch/arm/boot/dts/imx6ul.dtsi          | 33 +++++++++++++++++++++++++++++++++
 drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 10 ++++++++++
 drivers/mtd/nand/gpmi-nand/gpmi-nand.h |  6 ++++--

It would be better to split the dts and mtd parts in two patches.

I'm thinking even to drop the IS_TYPE for the IMX6QUL. Does it make sense to have or let compatible to the one that is already defined?

Michael

Signature · 4 lines
| Michael Nazzareno Trimarchi                     Amarula Solutions BV |
| COO  -  Founder                                      Cruquiuskade 47 |
| +31(0)851119172                                 Amsterdam 1018 AM NL |
|                  [`as] http://www.amarulasolutions.com               |
#10 lore raw

PATCH v2 3/4 ARM: dts: imx6ul: Add GPMI nand controller support

Add support for GPMI nand controller.

---
Changes V2:
- drop special IMXUL type because seems that is compatible with IMX6Q

 arch/arm/boot/dts/imx6ul.dtsi | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)
arch/arm/boot/dts/imx6ul.dtsi +33 -0
index f4daf97..1a486ac 100644
@@ -142,6 +142,39 @@
 			reg = <0x00900000 0x20000>;
 		};
 
+		dma_apbh: dma-apbh at 01804000 {
+			compatible = "fsl,imx6ul-dma-apbh", "fsl,imx28-dma-apbh";
+			reg = <0x01804000 0x2000>;
+			interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 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 0x4000>;
+			reg-names = "gpmi-nand", "bch";
+			interrupts = <GIC_SPI 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>;
Signature · 7 lines
2.7.0

-- 
| Michael Nazzareno Trimarchi                     Amarula Solutions BV |
| COO  -  Founder                                      Cruquiuskade 47 |
| +31(0)851119172                                 Amsterdam 1018 AM NL |
|                  [`as] http://www.amarulasolutions.com               |
#11 lore raw

PATCH v2 3/4 ARM: dts: imx6ul: Add GPMI nand controller support

Hi,

Quoted 25 lines · On Sun, 21 Feb 2016 12:29:53 +0100 Michael Trimarchi wrote:

Add support for GPMI nand controller.

---
Changes V2:
- drop special IMXUL type because seems that is compatible with IMX6Q

 arch/arm/boot/dts/imx6ul.dtsi | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)
arch/arm/boot/dts/imx6ul.dtsi +6 -0
index f4daf97..1a486ac 100644
@@ -142,6 +142,39 @@
 			reg = <0x00900000 0x20000>;
 		};
 
+		dma_apbh: dma-apbh at 01804000 {
+			compatible = "fsl,imx6ul-dma-apbh", "fsl,imx28-dma-apbh";
+			reg = <0x01804000 0x2000>;
+			interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,

arch/arm/boot/dts/imx6ul.dtsi line 160

Quoted 10 lines
arch/arm/boot/dts/imx6ul.dtsi +9 -0
+				     <GIC_SPI 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";
 

You should still add an imx6ul specific compatible (likewise to the dma_apbh).

Lothar Wa?mann

#12 lore raw

PATCH v2 3/4 ARM: dts: imx6ul: Add GPMI nand controller support

Hi Lothar

Quoted 32 lines · Lothar Wa?mann

Hi,

Quoted 29 lines · On Sun, 21 Feb 2016 12:29:53 +0100 Michael Trimarchi wrote:

Add support for GPMI nand controller.

---
Changes V2:
- drop special IMXUL type because seems that is compatible with IMX6Q

 arch/arm/boot/dts/imx6ul.dtsi | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)
arch/arm/boot/dts/imx6ul.dtsi +10 -0
index f4daf97..1a486ac 100644
@@ -142,6 +142,39 @@
                      reg = <0x00900000 0x20000>;
              };
 
+             dma_apbh: dma-apbh at 01804000 {
+                     compatible = "fsl,imx6ul-dma-apbh", "fsl,imx28-dma-apbh";
+                     reg = <0x01804000 0x2000>;
+                     interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+                                  <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+                                  <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+                                  <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
+                     interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3";
+                     #dma-cells = <1>;
+                     dma-channels = <4>;
Quoted 9 lines

arch/arm/boot/dts/imx6ul.dtsi

Quoted 6 lines
arch/arm/boot/dts/imx6ul.dtsi +5 -0
+                     clocks = <&clks IMX6UL_CLK_APBHDMA>;
+             };
+
+             gpmi: gpmi-nand at 01806000 {
+                     compatible = "fsl,imx6q-gpmi-nand";
 

You should still add an imx6ul specific compatible (likewise to the dma_apbh).

I understand your point but this seems that imx6q and imx6sx are defined in the same way

Michael

Quoted 3 lines

Lothar Wa?mann

Signature · 4 lines
| Michael Nazzareno Trimarchi                     Amarula Solutions BV |
| COO  -  Founder                                      Cruquiuskade 47 |
| +31(0)851119172                                 Amsterdam 1018 AM NL |
|                  [`as] http://www.amarulasolutions.com               |
#13 lore raw

PATCH v2 3/4 ARM: dts: imx6ul: Add GPMI nand controller support

Hi,

Quoted 45 lines · On Sun, 20 Mar 2016 09:44:19 +0100 Michael Trimarchi wrote:

Hi Lothar

Quoted 32 lines · Lothar Wa?mann

Hi,

Quoted 29 lines · On Sun, 21 Feb 2016 12:29:53 +0100 Michael Trimarchi wrote:

Add support for GPMI nand controller.

---
Changes V2:
- drop special IMXUL type because seems that is compatible with IMX6Q

 arch/arm/boot/dts/imx6ul.dtsi | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)
arch/arm/boot/dts/imx6ul.dtsi +10 -0
index f4daf97..1a486ac 100644
@@ -142,6 +142,39 @@
                      reg = <0x00900000 0x20000>;
              };
 
+             dma_apbh: dma-apbh at 01804000 {
+                     compatible = "fsl,imx6ul-dma-apbh", "fsl,imx28-dma-apbh";
+                     reg = <0x01804000 0x2000>;
+                     interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+                                  <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+                                  <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+                                  <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
+                     interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3";
+                     #dma-cells = <1>;
+                     dma-channels = <4>;
Quoted 9 lines

arch/arm/boot/dts/imx6ul.dtsi

Quoted 6 lines
arch/arm/boot/dts/imx6ul.dtsi +5 -0
+                     clocks = <&clks IMX6UL_CLK_APBHDMA>;
+             };
+
+             gpmi: gpmi-nand at 01806000 {
+                     compatible = "fsl,imx6q-gpmi-nand";
 

You should still add an imx6ul specific compatible (likewise to the dma_apbh).

Quoted 3 lines

I understand your point but this seems that imx6q and imx6sx are defined in the same way

That doesn't mean they are correct. I got the same comment from Lucas Stach in <[email protected]>

Lothar Wa?mann

#14 lore raw

PATCH v2 3/4 ARM: dts: imx6ul: Add GPMI nand controller support

Hi

Quoted 48 lines · Lothar Wa?mann

Hi,

Quoted 45 lines · On Sun, 20 Mar 2016 09:44:19 +0100 Michael Trimarchi wrote:

Hi Lothar

Quoted 41 lines · Lothar Wa?mann

Hi,

Quoted 25 lines · On Sun, 21 Feb 2016 12:29:53 +0100 Michael Trimarchi wrote:

Add support for GPMI nand controller.

---
Changes V2:
- drop special IMXUL type because seems that is compatible with IMX6Q

 arch/arm/boot/dts/imx6ul.dtsi | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)
arch/arm/boot/dts/imx6ul.dtsi +6 -0
index f4daf97..1a486ac 100644
@@ -142,6 +142,39 @@
                      reg = <0x00900000 0x20000>;
              };
 
+             dma_apbh: dma-apbh at 01804000 {
+                     compatible = "fsl,imx6ul-dma-apbh", "fsl,imx28-dma-apbh";
+                     reg = <0x01804000 0x2000>;
+                     interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+                                  <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+                                  <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,

arch/arm/boot/dts/imx6ul.dtsi line 160

Quoted 10 lines
arch/arm/boot/dts/imx6ul.dtsi +9 -0
+                                  <GIC_SPI 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";
 

You should still add an imx6ul specific compatible (likewise to the dma_apbh).

Quoted 6 lines
Quoted 3 lines

I understand your point but this seems that imx6q and imx6sx are defined in the same way

That doesn't mean they are correct. I got the same comment from Lucas Stach in <[email protected]>

Ok, it's fine. I will fix it and re-post the series

Michael

Quoted 2 lines

Lothar Wa?mann

Signature · 4 lines
| Michael Nazzareno Trimarchi                     Amarula Solutions BV |
| COO  -  Founder                                      Cruquiuskade 47 |
| +31(0)851119172                                 Amsterdam 1018 AM NL |
|                  [`as] http://www.amarulasolutions.com               |
#15 lore raw

PATCH 4/4 ARM: dts: imx6ul-geam: Add Engicam IMX6UL GEA M6UL initial support

In reply to Michael Trimarchi

http://www.engicam.com/prodotti/embedded/som/sodimm/gea-m6ul

---
 arch/arm/boot/dts/Makefile            |   3 +-
 arch/arm/boot/dts/imx6ul-geam-kit.dts | 102 ++++++++++
 arch/arm/boot/dts/imx6ul-geam.dtsi    | 371 ++++++++++++++++++++++++++++++++++
 3 files changed, 475 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/imx6ul-geam-kit.dts
 create mode 100644 arch/arm/boot/dts/imx6ul-geam.dtsi
arch/arm/boot/dts/Makefile +2 -1
index a4a6d70..4f6965a 100644
@@ -358,7 +358,8 @@ dtb-$(CONFIG_SOC_IMX6SX) += \
 	imx6sx-sdb-reva.dtb \
 	imx6sx-sdb.dtb
 dtb-$(CONFIG_SOC_IMX6UL) += \
-	imx6ul-14x14-evk.dtb
+	imx6ul-14x14-evk.dtb \
+	imx6ul-geam-kit.dtb
 dtb-$(CONFIG_SOC_IMX7D) += \
 	imx7d-cl-som-imx7.dtb \
 	imx7d-sbc-imx7.dtb \
arch/arm/boot/dts/imx6ul-geam-kit.dts new file +102 -0

102 lines not on this page · raw message

arch/arm/boot/dts/imx6ul-geam.dtsi new file +371 -0

371 lines not on this page · raw message

Signature · 1 line
2.7.0
reviewer
#16 lore raw

PATCH 4/4 ARM: dts: imx6ul-geam: Add Engicam IMX6UL GEA M6UL initial support

arch/arm/boot/dts/imx6ul-geam.dtsi line 62

Quoted 7 lines · Michael Trimarchi
arch/arm/boot/dts/imx6ul-geam.dtsi new file +7 -0
+       reg_1p8v: regulator-1p8v {
+               compatible = "regulator-fixed";
+               regulator-name = "1P8V";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               regulator-boot-on;
+               regulator-always-on;

These last two properties can be removed.

arch/arm/boot/dts/imx6ul-geam.dtsi line 71

Quoted 9 lines
arch/arm/boot/dts/imx6ul-geam.dtsi new file +9 -0
+       };
+
+       reg_3p3v: regulator-3p3v {
+               compatible = "regulator-fixed";
+               regulator-name = "3P3V";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-boot-on;
+               regulator-always-on;

Ditto.

arch/arm/boot/dts/imx6ul-geam.dtsi line 361

Quoted 8 lines
arch/arm/boot/dts/imx6ul-geam.dtsi new file +8 -0
+       pinctrl_spi4: spi4grp {
+               fsl,pins = <
+                       MX6UL_PAD_BOOT_MODE0__GPIO5_IO10        0x70a1
+                       MX6UL_PAD_BOOT_MODE1__GPIO5_IO11        0x70a1
+                       MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07      0x70a1
+                       MX6UL_PAD_SNVS_TAMPER8__GPIO5_IO08      0x80000000
+               >;
+       };

pinctrl_spi4 seems to be unused.

#17 lore raw

PATCH 4/4 ARM: dts: imx6ul-geam: Add Engicam IMX6UL GEA M6UL initial support

Hi Fabio

Quoted 11 lines · Fabio Estevam

arch/arm/boot/dts/imx6ul-geam.dtsi line 62

Quoted 7 lines · Michael Trimarchi
arch/arm/boot/dts/imx6ul-geam.dtsi new file +7 -0
+       reg_1p8v: regulator-1p8v {
+               compatible = "regulator-fixed";
+               regulator-name = "1P8V";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               regulator-boot-on;
+               regulator-always-on;
Quoted 2 lines

These last two properties can be removed.

This map the phy connection. Regulator are really always on and they are always on

Michael

Quoted 22 lines

arch/arm/boot/dts/imx6ul-geam.dtsi line 71

Quoted 9 lines
arch/arm/boot/dts/imx6ul-geam.dtsi new file +9 -0
+       };
+
+       reg_3p3v: regulator-3p3v {
+               compatible = "regulator-fixed";
+               regulator-name = "3P3V";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-boot-on;
+               regulator-always-on;

Ditto.

arch/arm/boot/dts/imx6ul-geam.dtsi line 361

Quoted 8 lines
arch/arm/boot/dts/imx6ul-geam.dtsi new file +8 -0
+       pinctrl_spi4: spi4grp {
+               fsl,pins = <
+                       MX6UL_PAD_BOOT_MODE0__GPIO5_IO10        0x70a1
+                       MX6UL_PAD_BOOT_MODE1__GPIO5_IO11        0x70a1
+                       MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07      0x70a1
+                       MX6UL_PAD_SNVS_TAMPER8__GPIO5_IO08      0x80000000
+               >;
+       };

pinctrl_spi4 seems to be unused.

Signature · 4 lines
| Michael Nazzareno Trimarchi                     Amarula Solutions BV |
| COO  -  Founder                                      Cruquiuskade 47 |
| +31(0)851119172                                 Amsterdam 1018 AM NL |
|                  [`as] http://www.amarulasolutions.com               |
reviewer
#18 lore raw

PATCH 4/4 ARM: dts: imx6ul-geam: Add Engicam IMX6UL GEA M6UL initial support

Quoted 2 lines · Michael Trimarchi

This map the phy connection. Regulator are really always on and they are always on

but they are pointless with this type of regulator.

#19 lore raw

PATCH v2 4/4 ARM: dts: imx6ul-geam: Add Engicam IMX6UL GEA M6UL initial support

http://www.engicam.com/prodotti/embedded/som/sodimm/gea-m6ul

---
Changes V2:
- remove not used muxed
- sort better regulator but not remove "silly" one propertes for now
- small issue on code style
- add Matteo from Engicam that help me to test and verify the board, provide hw support

 arch/arm/boot/dts/Makefile            |   3 +-
 arch/arm/boot/dts/imx6ul-geam-kit.dts | 102 ++++++++++
 arch/arm/boot/dts/imx6ul-geam.dtsi    | 362 ++++++++++++++++++++++++++++++++++
 3 files changed, 466 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/imx6ul-geam-kit.dts
 create mode 100644 arch/arm/boot/dts/imx6ul-geam.dtsi
arch/arm/boot/dts/Makefile +2 -1
index a4a6d70..4f6965a 100644
@@ -358,7 +358,8 @@ dtb-$(CONFIG_SOC_IMX6SX) += \
 	imx6sx-sdb-reva.dtb \
 	imx6sx-sdb.dtb
 dtb-$(CONFIG_SOC_IMX6UL) += \
-	imx6ul-14x14-evk.dtb
+	imx6ul-14x14-evk.dtb \
+	imx6ul-geam-kit.dtb
 dtb-$(CONFIG_SOC_IMX7D) += \
 	imx7d-cl-som-imx7.dtb \
 	imx7d-sbc-imx7.dtb \
arch/arm/boot/dts/imx6ul-geam-kit.dts new file +102 -0

102 lines not on this page · raw message

arch/arm/boot/dts/imx6ul-geam.dtsi new file +362 -0

362 lines not on this page · raw message

Signature · 7 lines
2.7.0

-- 
| Michael Nazzareno Trimarchi                     Amarula Solutions BV |
| COO  -  Founder                                      Cruquiuskade 47 |
| +31(0)851119172                                 Amsterdam 1018 AM NL |
|                  [`as] http://www.amarulasolutions.com               |
#20 lore raw

cover Add support for Engicam IMX6UL module

In reply to Michael Trimarchi
Quoted 8 lines · Michael Trimarchi

Thi patch series add the support for Engicam IMXUL product

https://community.freescale.com/docs/DOC-328428

Based on Freescale? i.MX 6UltraLite processor, a high performance, ultra-efficient processor family featuring an advanced implementation of a single ARM? Cortex?-A7 core, which operates at speeds up to 528 MHz.

Quoted 8 lines

The new ENGICAM GEA M6UL module is suitable for cost effective HMI applications requiring high performance CPU.

Michael Trimarchi (4):
ARM: dts: imx6ul: Add flexcan1 and flexcan2 support
ARM: dts: imx6ul: Add LCDIF support
ARM: dts: imx6ul: Add GPMI nand controller support
ARM: dts: imx6ul-geam: Add Engicam IMX6UL GEA M6UL initial support

There are quite some changes around imx6ul.dtsi getting into 4.6-rc1. Can you please rebase onto 4.6-rc1 and resend?

Shawn

Quoted 15 lines
 arch/arm/boot/dts/Makefile             |   3 +-
 arch/arm/boot/dts/imx6ul-geam-kit.dts  | 102 +++++++++
 arch/arm/boot/dts/imx6ul-geam.dtsi     | 371 +++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/imx6ul.dtsi          |  68 ++++++
 drivers/mtd/nand/gpmi-nand/gpmi-nand.c |  10 +
 drivers/mtd/nand/gpmi-nand/gpmi-nand.h |   6 +-
 6 files changed, 557 insertions(+), 3 deletions(-)
 create mode 100644 arch/arm/boot/dts/imx6ul-geam-kit.dts
 create mode 100644 arch/arm/boot/dts/imx6ul-geam.dtsi
Signature · 1 line
2.7.0
#21 lore raw

cover Add support for Engicam IMX6UL module

Hi

Quoted 12 lines · Shawn Guo
Quoted 11 lines · Michael Trimarchi

Thi patch series add the support for Engicam IMXUL product

https://community.freescale.com/docs/DOC-328428

Based on Freescale? i.MX 6UltraLite processor, a high performance, ultra-efficient processor family featuring an advanced implementation of a single ARM? Cortex?-A7 core, which operates at speeds up to 528 MHz.

The new ENGICAM GEA M6UL module is suitable for cost effective HMI applications requiring high performance CPU.

Quoted 9 lines
Quoted 5 lines

Michael Trimarchi (4):
ARM: dts: imx6ul: Add flexcan1 and flexcan2 support
ARM: dts: imx6ul: Add LCDIF support
ARM: dts: imx6ul: Add GPMI nand controller support
ARM: dts: imx6ul-geam: Add Engicam IMX6UL GEA M6UL initial support

There are quite some changes around imx6ul.dtsi getting into 4.6-rc1. Can you please rebase onto 4.6-rc1 and resend?

I will prepare tonight again, let test them tomorrow and send back tomorrow evening

Michael

Quoted 17 lines

Shawn

Quoted 15 lines
 arch/arm/boot/dts/Makefile             |   3 +-
 arch/arm/boot/dts/imx6ul-geam-kit.dts  | 102 +++++++++
 arch/arm/boot/dts/imx6ul-geam.dtsi     | 371 +++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/imx6ul.dtsi          |  68 ++++++
 drivers/mtd/nand/gpmi-nand/gpmi-nand.c |  10 +
 drivers/mtd/nand/gpmi-nand/gpmi-nand.h |   6 +-
 6 files changed, 557 insertions(+), 3 deletions(-)
 create mode 100644 arch/arm/boot/dts/imx6ul-geam-kit.dts
 create mode 100644 arch/arm/boot/dts/imx6ul-geam.dtsi

--
2.7.0

Signature · 4 lines
| Michael Nazzareno Trimarchi                     Amarula Solutions BV |
| COO  -  Founder                                      Cruquiuskade 47 |
| +31(0)851119172                                 Amsterdam 1018 AM NL |
|                  [`as] http://www.amarulasolutions.com               |