Skip to contentSkip to conversation

ARM: dts: imx: various fixes for LVDS on Ventana

PATCH New Tim Harvey 2 participants 9 messages Apr 24, 2014 – May 4, 2014

Subsystems (2)
lore
Share & tools
lore

Tim Harvey

author
#0 lore raw

cover ARM: dts: imx: various fixes for LVDS on Ventana

This series adds support for the LVDS display on GW54xx/GW53xx/GW52xx.

Tim Harvey (3):
ARM: dts: imx: Fix LVDS mapping for Ventana GW53xx/GW54xx
ARM: dts: imx: add LVDS backlight for Ventana
ARM: dts: imx: Fix LVDS mapping for Ventana GW52xx

 arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 40 ++++++++++++++++++++++++++++++++++-
 arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | 22 ++++++++++++++++++-
 arch/arm/boot/dts/imx6qdl-gw54xx.dtsi | 22 ++++++++++++++++++-
 3 files changed, 81 insertions(+), 3 deletions(-)
Signature · 1 line
1.8.3.2
author
#1 lore raw

PATCH 1/3 ARM: dts: imx: Fix LVDS mapping for Ventana GW53xx/GW54xx

The GW54xx and GW53xx baseboards use LVDS channel 0 not channel 1.

---
 arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | 2 +-
 arch/arm/boot/dts/imx6qdl-gw54xx.dtsi | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
arch/arm/boot/dts/imx6qdl-gw53xx.dtsi +1 -1
index 523f26f..ef7bd99 100644
@@ -482,7 +482,7 @@
 &ldb {
 	status = "okay";
 
-	lvds-channel at 1 {
+	lvds-channel at 0 {
 		fsl,data-mapping = "spwg";
 		fsl,data-width = <18>;
 		status = "okay";
arch/arm/boot/dts/imx6qdl-gw54xx.dtsi +1 -1
index cab94bf..4ce8f68 100644
@@ -504,7 +504,7 @@
 &ldb {
 	status = "okay";
 
-	lvds-channel at 1 {
+	lvds-channel at 0 {
 		fsl,data-mapping = "spwg";
 		fsl,data-width = <18>;
 		status = "okay";
Signature · 1 line
1.8.3.2
author
#2 lore raw

PATCH 2/3 ARM: dts: imx: add LVDS backlight for Ventana

In reply to Tim Harvey

The GW54xx/GW53xx/GW52xx all support LVDS with a PWM controlled backlight.

---
 arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 20 ++++++++++++++++++++
 arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | 20 ++++++++++++++++++++
 arch/arm/boot/dts/imx6qdl-gw54xx.dtsi | 20 ++++++++++++++++++++
 3 files changed, 60 insertions(+)
arch/arm/boot/dts/imx6qdl-gw52xx.dtsi +20 -0
index 607888c..9c9259b 100644
@@ -27,6 +27,14 @@
 		bootargs = "console=ttymxc1,115200";
 	};
 
+	backlight {
+		compatible = "pwm-backlight";
+		pwms = <&pwm4 0 5000000>;
+		brightness-levels = <0 4 8 16 32 64 128 255>;
+		default-brightness-level = <7>;
+		status = "okay";
+	};
+
 	leds {
 		compatible = "gpio-leds";
 
@@ -399,6 +407,12 @@
 			>;
 		};
 
+		pinctrl_pwm4: pwm4grp {
+			fsl,pins = <
+				MX6QDL_PAD_SD1_CMD__PWM4_OUT		0x1b0b1
+			>;
+		};
+
 		pinctrl_uart1: uart1grp {
 			fsl,pins = <
 				MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA	0x1b0b1
@@ -451,6 +465,12 @@
 	status = "okay";
 };
 
+&pwm4 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pwm4>;
+	status = "okay";
+};
+
 &ssi1 {
 	fsl,mode = "i2s-slave";
 	status = "okay";
arch/arm/boot/dts/imx6qdl-gw53xx.dtsi +20 -0
index ef7bd99..3e146d6 100644
@@ -30,6 +30,14 @@
 		bootargs = "console=ttymxc1,115200";
 	};
 
+	backlight {
+		compatible = "pwm-backlight";
+		pwms = <&pwm4 0 5000000>;
+		brightness-levels = <0 4 8 16 32 64 128 255>;
+		default-brightness-level = <7>;
+		status = "okay";
+	};
+
 	leds {
 		compatible = "gpio-leds";
 
@@ -439,6 +447,12 @@
 			>;
 		};
 
+		pinctrl_pwm4: pwm4grp {
+			fsl,pins = <
+				MX6QDL_PAD_SD1_CMD__PWM4_OUT		0x1b0b1
+			>;
+		};
+
 		pinctrl_uart1: uart1grp {
 			fsl,pins = <
 				MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA	0x1b0b1
@@ -513,6 +527,12 @@
 	};
 };
 
+&pwm4 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pwm4>;
+	status = "okay";
+};
+
 &ssi1 {
 	fsl,mode = "i2s-slave";
 	status = "okay";
arch/arm/boot/dts/imx6qdl-gw54xx.dtsi +20 -0
index 4ce8f68..d145f8c 100644
@@ -30,6 +30,14 @@
 		bootargs = "console=ttymxc1,115200";
 	};
 
+	backlight {
+		compatible = "pwm-backlight";
+		pwms = <&pwm4 0 5000000>;
+		brightness-levels = <0 4 8 16 32 64 128 255>;
+		default-brightness-level = <7>;
+		status = "okay";
+	};
+
 	leds {
 		compatible = "gpio-leds";
 
@@ -461,6 +469,12 @@
 			>;
 		};
 
+		pinctrl_pwm4: pwm4grp {
+			fsl,pins = <
+				MX6QDL_PAD_SD1_CMD__PWM4_OUT		0x1b0b1
+			>;
+		};
+
 		pinctrl_uart1: uart1grp {
 			fsl,pins = <
 				MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA	0x1b0b1
@@ -535,6 +549,12 @@
 	};
 };
 
+&pwm4 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pwm4>;
+	status = "okay";
+};
+
 &ssi1 {
 	fsl,mode = "i2s-slave";
 	status = "okay";
Signature · 1 line
1.8.3.2
#3 lore raw

PATCH 2/3 ARM: dts: imx: add LVDS backlight for Ventana

Quoted 14 lines · Tim Harvey

The GW54xx/GW53xx/GW52xx all support LVDS with a PWM controlled backlight.

---
 arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 20 ++++++++++++++++++++
 arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | 20 ++++++++++++++++++++
 arch/arm/boot/dts/imx6qdl-gw54xx.dtsi | 20 ++++++++++++++++++++
 3 files changed, 60 insertions(+)
arch/arm/boot/dts/imx6qdl-gw52xx.dtsi +0 -0
index 607888c..9c9259b 100644

arch/arm/boot/dts/imx6qdl-gw52xx.dtsi line 35

Quoted 9 lines
arch/arm/boot/dts/imx6qdl-gw52xx.dtsi +6 -0
@@ -27,6 +27,14 @@
 		bootargs = "console=ttymxc1,115200";
 	};
 
+	backlight {
+		compatible = "pwm-backlight";
+		pwms = <&pwm4 0 5000000>;
+		brightness-levels = <0 4 8 16 32 64 128 255>;
+		default-brightness-level = <7>;
+		status = "okay";

This might be copied from some existing dts file. But the "okay" status line is only needed for nodes that have a "disabled" status line in <soc>.dtsi. You can just drop the line from this backlight node.

Shawn

Quoted 126 lines
arch/arm/boot/dts/imx6qdl-gw52xx.dtsi +14 -0
+	};
+
 	leds {
 		compatible = "gpio-leds";
 
@@ -399,6 +407,12 @@
 			>;
 		};
 
+		pinctrl_pwm4: pwm4grp {
+			fsl,pins = <
+				MX6QDL_PAD_SD1_CMD__PWM4_OUT		0x1b0b1
+			>;
+		};
+
 		pinctrl_uart1: uart1grp {
 			fsl,pins = <
 				MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA	0x1b0b1
@@ -451,6 +465,12 @@
 	status = "okay";
 };
 
+&pwm4 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pwm4>;
+	status = "okay";
+};
+
 &ssi1 {
 	fsl,mode = "i2s-slave";
 	status = "okay";
arch/arm/boot/dts/imx6qdl-gw53xx.dtsi +20 -0
index ef7bd99..3e146d6 100644
@@ -30,6 +30,14 @@
 		bootargs = "console=ttymxc1,115200";
 	};
 
+	backlight {
+		compatible = "pwm-backlight";
+		pwms = <&pwm4 0 5000000>;
+		brightness-levels = <0 4 8 16 32 64 128 255>;
+		default-brightness-level = <7>;
+		status = "okay";
+	};
+
 	leds {
 		compatible = "gpio-leds";
 
@@ -439,6 +447,12 @@
 			>;
 		};
 
+		pinctrl_pwm4: pwm4grp {
+			fsl,pins = <
+				MX6QDL_PAD_SD1_CMD__PWM4_OUT		0x1b0b1
+			>;
+		};
+
 		pinctrl_uart1: uart1grp {
 			fsl,pins = <
 				MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA	0x1b0b1
@@ -513,6 +527,12 @@
 	};
 };
 
+&pwm4 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pwm4>;
+	status = "okay";
+};
+
 &ssi1 {
 	fsl,mode = "i2s-slave";
 	status = "okay";
arch/arm/boot/dts/imx6qdl-gw54xx.dtsi +20 -0
index 4ce8f68..d145f8c 100644
@@ -30,6 +30,14 @@
 		bootargs = "console=ttymxc1,115200";
 	};
 
+	backlight {
+		compatible = "pwm-backlight";
+		pwms = <&pwm4 0 5000000>;
+		brightness-levels = <0 4 8 16 32 64 128 255>;
+		default-brightness-level = <7>;
+		status = "okay";
+	};
+
 	leds {
 		compatible = "gpio-leds";
 
@@ -461,6 +469,12 @@
 			>;
 		};
 
+		pinctrl_pwm4: pwm4grp {
+			fsl,pins = <
+				MX6QDL_PAD_SD1_CMD__PWM4_OUT		0x1b0b1
+			>;
+		};
+
 		pinctrl_uart1: uart1grp {
 			fsl,pins = <
 				MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA	0x1b0b1
@@ -535,6 +549,12 @@
 	};
 };
 
+&pwm4 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pwm4>;
+	status = "okay";
+};
+
 &ssi1 {
 	fsl,mode = "i2s-slave";
 	status = "okay";
Signature · 1 line
1.8.3.2
author
#4 lore raw

PATCH 1/2 ARM: dts: imx: add LVDS backlight for Ventana

The GW54xx/GW53xx/GW52xx all support LVDS with a PWM controlled backlight.

---
 arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 19 +++++++++++++++++++
 arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | 19 +++++++++++++++++++
 arch/arm/boot/dts/imx6qdl-gw54xx.dtsi | 19 +++++++++++++++++++
 3 files changed, 57 insertions(+)
arch/arm/boot/dts/imx6qdl-gw52xx.dtsi +19 -0
index 1022197..62f533a 100644
@@ -27,6 +27,13 @@
 		bootargs = "console=ttymxc1,115200";
 	};
 
+	backlight {
+		compatible = "pwm-backlight";
+		pwms = <&pwm4 0 5000000>;
+		brightness-levels = <0 4 8 16 32 64 128 255>;
+		default-brightness-level = <7>;
+	};
+
 	leds {
 		compatible = "gpio-leds";
 
@@ -399,6 +406,12 @@
 			>;
 		};
 
+		pinctrl_pwm4: pwm4grp {
+			fsl,pins = <
+				MX6QDL_PAD_SD1_CMD__PWM4_OUT		0x1b0b1
+			>;
+		};
+
 		pinctrl_uart1: uart1grp {
 			fsl,pins = <
 				MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA	0x1b0b1
@@ -448,6 +461,12 @@
 	status = "okay";
 };
 
+&pwm4 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pwm4>;
+	status = "okay";
+};
+
 &ssi1 {
 	fsl,mode = "i2s-slave";
 	status = "okay";
arch/arm/boot/dts/imx6qdl-gw53xx.dtsi +19 -0
index ef7bd99..c2284c8 100644
@@ -30,6 +30,13 @@
 		bootargs = "console=ttymxc1,115200";
 	};
 
+	backlight {
+		compatible = "pwm-backlight";
+		pwms = <&pwm4 0 5000000>;
+		brightness-levels = <0 4 8 16 32 64 128 255>;
+		default-brightness-level = <7>;
+	};
+
 	leds {
 		compatible = "gpio-leds";
 
@@ -439,6 +446,12 @@
 			>;
 		};
 
+		pinctrl_pwm4: pwm4grp {
+			fsl,pins = <
+				MX6QDL_PAD_SD1_CMD__PWM4_OUT		0x1b0b1
+			>;
+		};
+
 		pinctrl_uart1: uart1grp {
 			fsl,pins = <
 				MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA	0x1b0b1
@@ -513,6 +526,12 @@
 	};
 };
 
+&pwm4 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pwm4>;
+	status = "okay";
+};
+
 &ssi1 {
 	fsl,mode = "i2s-slave";
 	status = "okay";
arch/arm/boot/dts/imx6qdl-gw54xx.dtsi +19 -0
index 4ce8f68..9aa95c8 100644
@@ -30,6 +30,13 @@
 		bootargs = "console=ttymxc1,115200";
 	};
 
+	backlight {
+		compatible = "pwm-backlight";
+		pwms = <&pwm4 0 5000000>;
+		brightness-levels = <0 4 8 16 32 64 128 255>;
+		default-brightness-level = <7>;
+	};
+
 	leds {
 		compatible = "gpio-leds";
 
@@ -461,6 +468,12 @@
 			>;
 		};
 
+		pinctrl_pwm4: pwm4grp {
+			fsl,pins = <
+				MX6QDL_PAD_SD1_CMD__PWM4_OUT		0x1b0b1
+			>;
+		};
+
 		pinctrl_uart1: uart1grp {
 			fsl,pins = <
 				MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA	0x1b0b1
@@ -535,6 +548,12 @@
 	};
 };
 
+&pwm4 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pwm4>;
+	status = "okay";
+};
+
 &ssi1 {
 	fsl,mode = "i2s-slave";
 	status = "okay";
Signature · 1 line
1.8.3.2
Applied
#5 lore raw

PATCH 1/2 ARM: dts: imx: add LVDS backlight for Ventana

Quoted 3 lines · Tim Harvey

The GW54xx/GW53xx/GW52xx all support LVDS with a PWM controlled backlight.

Applied both, thanks.

author
#6 lore raw

PATCH 3/3 ARM: dts: imx: Fix LVDS mapping for Ventana GW52xx

In reply to Tim Harvey

The GW52xx supports LVDS on channel 0. Remove the obsolete crtcs node and add display timings for the HanStar HSD100PXN1 display.

---
 arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)
arch/arm/boot/dts/imx6qdl-gw52xx.dtsi +19 -1
index 9c9259b..735e8e3 100644
@@ -455,8 +455,26 @@
 
 &ldb {
 	status = "okay";
+
 	lvds-channel at 0 {
-		crtcs = <&ipu1 0>, <&ipu1 1>;
+		fsl,data-mapping = "spwg";
+		fsl,data-width = <18>;
+		status = "okay";
+
+		display-timings {
+			native-mode = <&timing0>;
+			timing0: hsd100pxn1 {
+				clock-frequency = <65000000>;
+				hactive = <1024>;
+				vactive = <768>;
+				hback-porch = <220>;
+				hfront-porch = <40>;
+				vback-porch = <21>;
+				vfront-porch = <7>;
+				hsync-len = <60>;
+				vsync-len = <10>;
+			};
+		};
 	};
 };
 
Signature · 1 line
1.8.3.2
#7 lore raw

PATCH 3/3 ARM: dts: imx: Fix LVDS mapping for Ventana GW52xx

Quoted 2 lines · Tim Harvey

The GW52xx supports LVDS on channel 0. Remove the obsolete crtcs node and add display timings for the HanStar HSD100PXN1 display.

The obsolete crtcs property has been removed by one patch in my queue. So please rebase the patch on my for-next branch.

Shawn

Quoted 43 lines
---
 arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)
arch/arm/boot/dts/imx6qdl-gw52xx.dtsi +19 -1
index 9c9259b..735e8e3 100644
@@ -455,8 +455,26 @@
 
 &ldb {
 	status = "okay";
+
 	lvds-channel at 0 {
-		crtcs = <&ipu1 0>, <&ipu1 1>;
+		fsl,data-mapping = "spwg";
+		fsl,data-width = <18>;
+		status = "okay";
+
+		display-timings {
+			native-mode = <&timing0>;
+			timing0: hsd100pxn1 {
+				clock-frequency = <65000000>;
+				hactive = <1024>;
+				vactive = <768>;
+				hback-porch = <220>;
+				hfront-porch = <40>;
+				vback-porch = <21>;
+				vfront-porch = <7>;
+				hsync-len = <60>;
+				vsync-len = <10>;
+			};
+		};
 	};
 };
 
Signature · 1 line
1.8.3.2
author
#8 lore raw

PATCH 2/2 ARM: dts: imx: Fix LVDS mapping for Ventana GW52xx

The GW52xx supports LVDS on channel 0. Remove the obsolete crtcs node and add display timings for the HanStar HSD100PXN1 display.

---
 arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
arch/arm/boot/dts/imx6qdl-gw52xx.dtsi +21 -0
index 62f533a..367af3e 100644
@@ -454,6 +454,27 @@
 
 &ldb {
 	status = "okay";
+
+	lvds-channel at 0 {
+		fsl,data-mapping = "spwg";
+		fsl,data-width = <18>;
+		status = "okay";
+
+		display-timings {
+			native-mode = <&timing0>;
+			timing0: hsd100pxn1 {
+				clock-frequency = <65000000>;
+				hactive = <1024>;
+				vactive = <768>;
+				hback-porch = <220>;
+				hfront-porch = <40>;
+				vback-porch = <21>;
+				vfront-porch = <7>;
+				hsync-len = <60>;
+				vsync-len = <10>;
+			};
+		};
+	};
 };
 
 &pcie {
Signature · 1 line
1.8.3.2