Skip to contentSkip to conversation

ARM:MXS: Initial support for the Crystalfontz CFA-10036

PATCH New Maxime Ripard 3 participants 7 messages Jun 27, 2012 – Jun 28, 2012

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

PATCH v3 1/1 ARM:MXS: Initial support for the Crystalfontz CFA-10036

Hi everyone,

This is the third version for the initial support for the Crystalfontz CFA-10036 module.

The module basically has a iMX28 SoC, plus a micro-SD slot, 3 pins to access the DUART, a USB OTG port, a OLED screen using the Solomon SSD1307 controller over I2C and a 200-pins SODIMM port to plug an expansion board.

Support for this board and the additional devices will come eventually.

For now, only the DUART and the MMC controller are used.

What changed from v2:
* Changed the pinctrl function names for the duart
* Added the compatible string to the imx28_dt_compat structure

Thanks,
Maxime

#1 lore raw

PATCH 1/2 ARM: dts: imx28: Add additionnal muxing options to iMX28 DTSI

Cc Brian Lily <[email protected]>
---
 arch/arm/boot/dts/imx28.dtsi |   17 +++++++++++++++++
 1 file changed, 17 insertions(+)
arch/arm/boot/dts/imx28.dtsi +17 -0
index 4634cb8..2b067d2 100644
@@ -167,6 +167,14 @@
 					fsl,pull-up = <0>;
 				};
 
+				duart_pins_b: duart at 1 {
+					reg = <1>;
+					fsl,pinmux-ids = <0x3022 0x3032>;
+					fsl,drive-strength = <0>;
+					fsl,voltage = <1>;
+					fsl,pull-up = <0>;
+				};
+
 				mac0_pins_a: mac0 at 0 {
 					reg = <0>;
 					fsl,pinmux-ids = <0x4000 0x4010 0x4020
@@ -196,6 +204,15 @@
 					fsl,pull-up = <1>;
 				};
 
+				mmc0_4bit_pins_a: mmc0-4bit at 0 {
+					reg = <0>;
+					fsl,pinmux-ids = <0x2000 0x2010 0x2020
+						0x2030 0x2080 0x2090 0x20a0>;
+					fsl,drive-strength = <1>;
+					fsl,voltage = <1>;
+					fsl,pull-up = <1>;
+				};
+
 				mmc0_cd_cfg: mmc0-cd-cfg {
 					fsl,pinmux-ids = <0x2090>;
 					fsl,pull-up = <0>;
Signature · 1 line
1.7.9.5
#2 lore raw

PATCH 1/2 ARM: dts: imx28: Add additionnal muxing options to iMX28 DTSI

Dear Maxime Ripard,

Quoted 3 lines
Cc Brian Lily <[email protected]>
Quoted 29 lines
---
 arch/arm/boot/dts/imx28.dtsi |   17 +++++++++++++++++
 1 file changed, 17 insertions(+)
arch/arm/boot/dts/imx28.dtsi +10 -0
index 4634cb8..2b067d2 100644
@@ -167,6 +167,14 @@
 					fsl,pull-up = <0>;
 				};
 
+				duart_pins_b: duart at 1 {
+					reg = <1>;
+					fsl,pinmux-ids = <0x3022 0x3032>;
+					fsl,drive-strength = <0>;
+					fsl,voltage = <1>;
+					fsl,pull-up = <0>;
+				};
+
 				mac0_pins_a: mac0 at 0 {
 					reg = <0>;
 					fsl,pinmux-ids = <0x4000 0x4010 0x4020
@@ -196,6 +204,15 @@
 					fsl,pull-up = <1>;
 				};
 
+				mmc0_4bit_pins_a: mmc0-4bit at 0 {
+					reg = <0>;

arch/arm/boot/dts/imx28.dtsi line 218

Quoted 10 lines
arch/arm/boot/dts/imx28.dtsi +7 -0
+					fsl,pinmux-ids = <0x2000 0x2010 0x2020
+						0x2030 0x2080 0x2090 0x20a0>;
+					fsl,drive-strength = <1>;
+					fsl,voltage = <1>;
+					fsl,pull-up = <1>;
+				};
+
 				mmc0_cd_cfg: mmc0-cd-cfg {
 					fsl,pinmux-ids = <0x2090>;
 					fsl,pull-up = <0>;

Best regards,
Marek Vasut

#3 lore raw

PATCH 1/2 ARM: dts: imx28: Add additionnal muxing options to iMX28 DTSI

In reply to Maxime Ripard
Quoted 13 lines · Maxime Ripard
Cc Brian Lily <[email protected]>
---
 arch/arm/boot/dts/imx28.dtsi |   17 +++++++++++++++++
 1 file changed, 17 insertions(+)
arch/arm/boot/dts/imx28.dtsi +0 -0
index 4634cb8..2b067d2 100644
@@ -167,6 +167,14 @@
 					fsl,pull-up = <0>;

arch/arm/boot/dts/imx28.dtsi line 177

Quoted 10 lines
arch/arm/boot/dts/imx28.dtsi +8 -0
 				};
 
+				duart_pins_b: duart at 1 {
+					reg = <1>;
+					fsl,pinmux-ids = <0x3022 0x3032>;
+					fsl,drive-strength = <0>;
+					fsl,voltage = <1>;
+					fsl,pull-up = <0>;
+				};
+

This should be put right after duart_pins_a. I fixed it up and applied the patch.

Regards,
Shawn

Quoted 22 lines
arch/arm/boot/dts/imx28.dtsi +9 -0
 				mac0_pins_a: mac0 at 0 {
 					reg = <0>;
 					fsl,pinmux-ids = <0x4000 0x4010 0x4020
@@ -196,6 +204,15 @@
 					fsl,pull-up = <1>;
 				};
 
+				mmc0_4bit_pins_a: mmc0-4bit at 0 {
+					reg = <0>;
+					fsl,pinmux-ids = <0x2000 0x2010 0x2020
+						0x2030 0x2080 0x2090 0x20a0>;
+					fsl,drive-strength = <1>;
+					fsl,voltage = <1>;
+					fsl,pull-up = <1>;
+				};
+
 				mmc0_cd_cfg: mmc0-cd-cfg {
 					fsl,pinmux-ids = <0x2090>;
 					fsl,pull-up = <0>;
Signature · 1 line
1.7.9.5
#4 lore raw

PATCH 2/2 ARM: MXS: Add Crystalfontz CFA-10036 DTS

In reply to Maxime Ripard
Cc Brian Lily <[email protected]>
---
 arch/arm/boot/dts/cfa10036.dts |   43 ++++++++++++++++++++++++++++++++++++++++
 arch/arm/mach-mxs/mach-mxs.c   |    1 +
 2 files changed, 44 insertions(+)
 create mode 100644 arch/arm/boot/dts/cfa10036.dts
arch/arm/boot/dts/cfa10036.dts new file +43 -0
new file mode 100644
index 0000000..28b9326
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2012 Free Electrons
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+/include/ "imx28.dtsi"
+
+/ {
+	model = "Crystalfontz CFA-10036 Board";
+	compatible = "crystalfontz,cfa10036", "fsl,imx28";
+
+	memory {
+		reg = <0x40000000 0x08000000>;
+	};
+
+	apb at 80000000 {
+		apbh at 80000000 {
+			ssp0: ssp at 80010000 {
+				compatible = "fsl,imx28-mmc";
+				pinctrl-names = "default";
+				pinctrl-0 = <&mmc0_4bit_pins_a
+					&mmc0_cd_cfg &mmc0_sck_cfg>;
+				bus-width = <4>;
+				status = "okay";
+			};
+		};
+
+		apbx at 80040000 {
+			duart: serial at 80074000 {
+				pinctrl-names = "default";
+				pinctrl-0 = <&duart_pins_b>;
+				status = "okay";
+			};
+		};
+	};
+};
arch/arm/mach-mxs/mach-mxs.c +1 -0
index 8cac94b..7f4d6a9 100644
@@ -97,6 +97,7 @@ static const char *imx23_dt_compat[] __initdata = {
 };
 
 static const char *imx28_dt_compat[] __initdata = {
+	"crystalfontz,cfa10036",
 	"fsl,imx28-evk",
 	"fsl,imx28",
 	NULL,
Signature · 1 line
1.7.9.5
#5 lore raw

PATCH 2/2 ARM: MXS: Add Crystalfontz CFA-10036 DTS

Dear Maxime Ripard,

Quoted 2 lines
Quoted 62 lines
Cc Brian Lily <[email protected]>
---
 arch/arm/boot/dts/cfa10036.dts |   43
++++++++++++++++++++++++++++++++++++++++ arch/arm/mach-mxs/mach-mxs.c   | 
  1 +
 2 files changed, 44 insertions(+)
 create mode 100644 arch/arm/boot/dts/cfa10036.dts
(quoted diff) +0 -0

b/arch/arm/boot/dts/cfa10036.dts new file mode 100644 index 0000000..28b9326

arch/arm/boot/dts/cfa10036.dts new file +43 -0
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2012 Free Electrons
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+/include/ "imx28.dtsi"
+
+/ {
+	model = "Crystalfontz CFA-10036 Board";
+	compatible = "crystalfontz,cfa10036", "fsl,imx28";
+
+	memory {
+		reg = <0x40000000 0x08000000>;
+	};
+
+	apb at 80000000 {
+		apbh at 80000000 {
+			ssp0: ssp at 80010000 {
+				compatible = "fsl,imx28-mmc";
+				pinctrl-names = "default";
+				pinctrl-0 = <&mmc0_4bit_pins_a
+					&mmc0_cd_cfg &mmc0_sck_cfg>;
+				bus-width = <4>;
+				status = "okay";
+			};
+		};
+
+		apbx at 80040000 {
+			duart: serial at 80074000 {
+				pinctrl-names = "default";
+				pinctrl-0 = <&duart_pins_b>;
+				status = "okay";
+			};
+		};
+	};
+};
arch/arm/mach-mxs/mach-mxs.c +0 -0
index 8cac94b..7f4d6a9 100644

arch/arm/mach-mxs/mach-mxs.c static const char *imx23_dt_compat[] __initdata = { · line 103

Quoted 7 lines
arch/arm/mach-mxs/mach-mxs.c +1 -0
@@ -97,6 +97,7 @@ static const char *imx23_dt_compat[] __initdata = {
 };
 
 static const char *imx28_dt_compat[] __initdata = {
+	"crystalfontz,cfa10036",
 	"fsl,imx28-evk",
 	"fsl,imx28",
 	NULL,

Best regards,
Marek Vasut

#6 lore raw

PATCH 2/2 ARM: MXS: Add Crystalfontz CFA-10036 DTS

In reply to Maxime Ripard
Quoted 2 lines · Maxime Ripard

Unneeded new line. I just removed it, changed the subject prefix to "ARM: mxs: ..." and applied the patch.

Regards,
Shawn

Quoted 71 lines
Cc Brian Lily <[email protected]>
---
 arch/arm/boot/dts/cfa10036.dts |   43 ++++++++++++++++++++++++++++++++++++++++
 arch/arm/mach-mxs/mach-mxs.c   |    1 +
 2 files changed, 44 insertions(+)
 create mode 100644 arch/arm/boot/dts/cfa10036.dts
arch/arm/boot/dts/cfa10036.dts new file +43 -0
new file mode 100644
index 0000000..28b9326
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2012 Free Electrons
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+/include/ "imx28.dtsi"
+
+/ {
+	model = "Crystalfontz CFA-10036 Board";
+	compatible = "crystalfontz,cfa10036", "fsl,imx28";
+
+	memory {
+		reg = <0x40000000 0x08000000>;
+	};
+
+	apb at 80000000 {
+		apbh at 80000000 {
+			ssp0: ssp at 80010000 {
+				compatible = "fsl,imx28-mmc";
+				pinctrl-names = "default";
+				pinctrl-0 = <&mmc0_4bit_pins_a
+					&mmc0_cd_cfg &mmc0_sck_cfg>;
+				bus-width = <4>;
+				status = "okay";
+			};
+		};
+
+		apbx at 80040000 {
+			duart: serial at 80074000 {
+				pinctrl-names = "default";
+				pinctrl-0 = <&duart_pins_b>;
+				status = "okay";
+			};
+		};
+	};
+};
arch/arm/mach-mxs/mach-mxs.c +1 -0
index 8cac94b..7f4d6a9 100644
@@ -97,6 +97,7 @@ static const char *imx23_dt_compat[] __initdata = {
 };
 
 static const char *imx28_dt_compat[] __initdata = {
+	"crystalfontz,cfa10036",
 	"fsl,imx28-evk",
 	"fsl,imx28",
 	NULL,
Signature · 1 line
1.7.9.5