[PATCH 6/6] ARM: dts: Add device tree support for phycard pca100

Markus Pargmann mpa at pengutronix.de
Thu Jun 20 10:50:15 EDT 2013


Based on patches from:

Steffen Trumtrar <s.trumtrar at pengutronix.de>:
 - Original patch
 - ARM: dts: Set partition offsets for phycard
 - ARM: dts: Use CSPI1 instead of CSPI2 on phycard pca100
 - ARM: imx27-phytec-phycard-S.dts: resize nand partitions

Jan Luebbe <jlu at pengutronix.de>:
 - ARM: dts: Enable bad block table in NAND

Cc: Steffen Trumtrar <s.trumtrar at pengutronix.de>
Cc: Jan Luebbe <jlu at pengutronix.de>
Signed-off-by: Markus Pargmann <mpa at pengutronix.de>
---
 arch/arm/boot/dts/Makefile                   |   1 +
 arch/arm/boot/dts/imx27-phytec-phycard-S.dts | 195 +++++++++++++++++++++++++++
 arch/arm/mach-imx/Kconfig                    |   1 +
 3 files changed, 197 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx27-phytec-phycard-S.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index b3a8661..e8fb0bc 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -105,6 +105,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
 	imx27-pdk.dtb \
 	imx27-phytec-phycore-som.dtb \
 	imx27-phytec-phycore-rdk.dtb \
+	imx27-phytec-phycard-S.dtb \
 	imx31-bug.dtb \
 	imx51-apf51.dtb \
 	imx51-apf51dev.dtb \
diff --git a/arch/arm/boot/dts/imx27-phytec-phycard-S.dts b/arch/arm/boot/dts/imx27-phytec-phycard-S.dts
new file mode 100644
index 0000000..dc3a93b
--- /dev/null
+++ b/arch/arm/boot/dts/imx27-phytec-phycard-S.dts
@@ -0,0 +1,195 @@
+/*
+ * Copyright 2012 Sascha Hauer, Uwe Kleine-König and Steffen Trumtrar, Pengutronix
+ *
+ * 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 "imx27.dtsi"
+
+/ {
+	model = "Phytec pca100";
+	compatible = "phytec,imx27-pca100", "fsl,imx27";
+
+	memory {
+		device_type = "memory";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		reg = <0x0 0x08000000>;   // 128MB
+	};
+
+	soc {
+		aipi at 10000000 { /* aipi */
+			wdog at 10002000 {
+				status = "okay";
+			};
+
+			owire at 10009000 {
+				status = "okay";
+			};
+
+			serial at 1000a000 {
+				fsl,uart-has-rtscts;
+				status = "okay";
+			};
+
+			serial at 1000b000 {
+				fsl,uart-has-rtscts;
+				status = "okay";
+			};
+
+			serial at 1000c000 {
+				fsl,uart-has-rtscts;
+				status = "okay";
+			};
+
+			cspi at 1000e000 {
+				fsl,spi-num-chipselects = <2>;
+				cs-gpios = <&gpio4 28 0>,
+					<&gpio4 27 0>;
+				status = "okay";
+			};
+
+			i2c at 10012000 {
+				status = "okay";
+				ioexpander at 41 {
+					compatible = "nxp,pca9536";
+					reg = <0x41>;
+				};
+				rtc at 51 {
+					compatible = "nxp,pcf8563";
+					reg = <0x51>;
+				};
+				dimmer at 60 {
+					compatible = "nxp,pca9530";
+					reg = <0x60>;
+					pwm = <1 1>;
+					psc = <1 1>;
+					leds = <&led0 &led1>;
+					led0: led0 {
+						label = "pba-lcd_brightness";
+						default-state = "off";
+						type = "led";
+					};
+					led1: led1 {
+						label = "pba-free_use";
+						default-state = "off";
+						type = "led";
+					};
+				};
+			};
+
+			sdhci at 10014000 {
+				cd-gpios = <&gpio3 29 0>;
+				status = "okay";
+			};
+
+			gpio at 10015000 {
+				status = "okay";
+			};
+
+			gpio at 10015100 {
+				status = "okay";
+			};
+
+			gpio at 10015200 {
+				status = "okay";
+			};
+
+			gpio at 10015300 {
+				status = "okay";
+			};
+
+			gpio at 10015400 {
+				status = "okay";
+			};
+
+			gpio at 10015500 {
+				status = "okay";
+			};
+
+			i2c at 1001d000 {
+				status = "okay";
+
+				lm75 at 4a {
+					compatible = "national,lm75";
+					reg = <0x4a>;
+				};
+
+				rtc at 51 {
+					compatible = "nxp,pcf8563";
+					reg = <0x51>;
+				};
+
+				at24 at 52 {
+					compatible = "at,24c32";
+					pagesize = <32>;
+					reg = <0x52>;
+				};
+			};
+		};
+
+		aipi at 10020000 { /* AIPI2 */
+			fb at 10021000 {
+				status = "okay";
+				display = <&display0>;
+			};
+
+			ethernet at 1002b000 {
+				status = "okay";
+			};
+		}; /* AIPI */
+
+		nand at d8000000 {
+			status = "okay";
+			nand-bus-width = <8>;
+			nand-ecc-mode = "hw";
+			nand-on-flash-bbt;
+
+			barebox at 0 {
+				label = "barebox";
+				reg = <0x0 0x80000>;
+			};
+
+			bareboxenv at 80000 {
+				label = "bareboxenv";
+				reg = <0x80000 0x80000>;
+			};
+
+			kernel at 100000 {
+				label = "kernel";
+				reg = <0x100000 0x500000>;
+			};
+
+			rootfs at 500000 {
+				label = "rootfs";
+				reg = <0x500000 0x7b00000>;
+			};
+		};
+	};
+
+	display0: display0 {
+		model = "Primeview-PD050VL1";
+		native-mode = <&timing_disp0>;
+		bits-per-pixel = <16>;		/* non-standard but required */
+		fsl,pcr = <0xf0c88080>;	/* non-standard but required */
+		display-timings {
+			timing_disp0: 640x480 {
+				hactive = <640>;
+				vactive = <480>;
+				hback-porch = <112>;
+				hfront-porch = <36>;
+				hsync-len = <32>;
+				vback-porch = <33>;
+				vfront-porch = <33>;
+				vsync-len = <2>;
+				clock-frequency = <25000000>;
+			};
+		};
+	};
+};
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index f25cf88..5372337 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -441,6 +441,7 @@ config MACH_IMX27IPCAM
 config MACH_IMX27_DT
 	bool "Support i.MX27 platforms from device tree"
 	select SOC_IMX27
+	select IMX_HAVE_PLATFORM_MXC_NAND
 	help
 	  Include support for Freescale i.MX27 based platforms
 	  using the device tree for discovery
-- 
1.8.2.1




More information about the linux-arm-kernel mailing list