Skip to contentSkip to conversation

ARM: dts: use simple-panel for nitrogen6x and sabrelite

PATCH Superseded Eric Nelson 4 participants 13 messages May 16, 2015 – May 21, 2015

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

cover ARM: dts: use simple-panel for nitrogen6x and sabrelite

Patch originated with informal submission by Philipp Zabel:

	http://lists.infradead.org/pipermail/linux-arm-kernel/2015-April/337115.html

Update the LVDS0 configuration for imx6qdl-nitrogen6x and imx6qdl-sabrelite to use simple panel to allow the connection of backlights and simplify the process of (re)configuring displays.

A U-Boot script to configure the displays based on detection of the touch controller is available for reference here:

https://github.com/boundarydevices/u-boot-imx6/blob/staging/board/boundary/nitrogen6x/6x_bootscript-mainline.txt

Addition of panel hannstar,hsd100pxn1 is queued for 4.2:

	https://patchwork.kernel.org/patch/6212451/

Eric Nelson (2):
ARM: dts: nitrogen6x: use simple-panel instead of display-timings for
LVDS0
ARM: dts: sabrelite: use simple-panel instead of display-timings for
LVDS0

 arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi | 30 +++++++++++++++++-------------
 arch/arm/boot/dts/imx6qdl-sabrelite.dtsi  | 30 +++++++++++++++++-------------
 2 files changed, 34 insertions(+), 26 deletions(-)
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/2 ARM: dts: nitrogen6x: use simple-panel instead of display-timings for LVDS0

Also add alias for backlight_lvds and connect it to the display.

---
 arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)
arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi +17 -13
index fd096dc..712c5ec 100644
@@ -122,7 +122,7 @@
 		status = "okay";
 	};
 
-	backlight_lvds {
+	backlight_lvds: backlight_lvds {
 		compatible = "pwm-backlight";
 		pwms = <&pwm4 0 5000000>;
 		brightness-levels = <0 4 8 16 32 64 128 255>;
@@ -130,6 +130,17 @@
 		power-supply = <&reg_3p3v>;
 		status = "okay";
 	};
+
+	panel {
+		compatible = "hannstar,hsd100pxn1";
+		backlight = <&backlight_lvds>;
+
+		port {
+			panel_in: endpoint {
+				remote-endpoint = <&lvds0_out>;
+			};
+		};
+	};
 };
 
 &audmux {
@@ -379,18 +390,11 @@
 		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>;
+		port at 4 {
+			reg = <4>;
+
+			lvds0_out: endpoint {
+				remote-endpoint = <&panel_in>;
 			};
 		};
 	};
Signature · 1 line
2.1.4
#2 lore raw

PATCH 1/2 ARM: dts: nitrogen6x: use simple-panel instead of display-timings for LVDS0

Hi,

Quoted 12 lines

Also add alias for backlight_lvds and connect it to the display.

---
 arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)
arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi +0 -0
index fd096dc..712c5ec 100644

arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi line 126

Quoted 6 lines
arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi +1 -1
@@ -122,7 +122,7 @@
 		status = "okay";
 	};
 
-	backlight_lvds {
+	backlight_lvds: backlight_lvds {
 

The patch does not add an 'alias', but a 'label'.

Lothar Wa?mann

Signature · 9 lines
___________________________________________________________

Ka-Ro electronics GmbH | Pascalstra?e 22 | D - 52076 Aachen
Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
Gesch?ftsf?hrer: Matthias Kaussen
Handelsregistereintrag: Amtsgericht Aachen, HRB 4996

www.karo-electronics.de | info at karo-electronics.de
___________________________________________________________
#3 lore raw

PATCH 1/2 ARM: dts: nitrogen6x: use simple-panel instead of display-timings for LVDS0

Quoted 17 lines · Lothar Wa?mann

Hi,

Quoted 15 lines

Also add alias for backlight_lvds and connect it to the display.

---
 arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)
arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi +0 -0
index fd096dc..712c5ec 100644
@@ -122,7 +122,7 @@
 		status = "okay";
 	};
 
Quoted 5 lines

arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi

Quoted 3 lines
arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi +1 -1
-	backlight_lvds {
+	backlight_lvds: backlight_lvds {
 

The patch does not add an 'alias', but a 'label'.

Good catch.

Thanks for the clarification.

#4 lore raw

v2 cover ARM: dts: use simple-panel for nitrogen6x and sabrelite

In reply to Lothar Waßmann

Patch originated with informal submission by Philipp Zabel:

	http://lists.infradead.org/pipermail/linux-arm-kernel/2015-April/337115.html

Update the LVDS0 configuration for imx6qdl-nitrogen6x and imx6qdl-sabrelite to use simple panel to allow the connection of backlights and simplify the process of (re)configuring displays.

A U-Boot script to configure the displays based on detection of the touch controller is available for reference here:

https://github.com/boundarydevices/u-boot-imx6/blob/staging/board/boundary/nitrogen6x/6x_bootscript-mainline.txt

Addition of panel hannstar,hsd100pxn1 is queued for 4.2:

	https://patchwork.kernel.org/patch/6212451/

Eric Nelson (2):
ARM: dts: nitrogen6x: use simple-panel instead of display-timings for
LVDS0
ARM: dts: sabrelite: use simple-panel instead of display-timings for
LVDS0

V2 changes commit messages to use proper name of 'label' instead of 'alias'

 arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi | 30 +++++++++++++++++-------------
 arch/arm/boot/dts/imx6qdl-sabrelite.dtsi  | 30 +++++++++++++++++-------------
 2 files changed, 34 insertions(+), 26 deletions(-)
Signature · 1 line
2.1.4
#5 lore raw

PATCH v2 1/2 ARM: dts: nitrogen6x: use simple-panel instead of display-timings for LVDS0

Also add label for backlight_lvds and connect it to the display.

---
V2 changes 'alias' in commit message to 'label'

 arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)
arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi +17 -13
index fd096dc..712c5ec 100644
@@ -122,7 +122,7 @@
 		status = "okay";
 	};
 
-	backlight_lvds {
+	backlight_lvds: backlight_lvds {
 		compatible = "pwm-backlight";
 		pwms = <&pwm4 0 5000000>;
 		brightness-levels = <0 4 8 16 32 64 128 255>;
@@ -130,6 +130,17 @@
 		power-supply = <&reg_3p3v>;
 		status = "okay";
 	};
+
+	panel {
+		compatible = "hannstar,hsd100pxn1";
+		backlight = <&backlight_lvds>;
+
+		port {
+			panel_in: endpoint {
+				remote-endpoint = <&lvds0_out>;
+			};
+		};
+	};
 };
 
 &audmux {
@@ -379,18 +390,11 @@
 		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>;
+		port at 4 {
+			reg = <4>;
+
+			lvds0_out: endpoint {
+				remote-endpoint = <&panel_in>;
 			};
 		};
 	};
Signature · 1 line
2.1.4
#6 lore raw

PATCH 2/2 ARM: dts: sabrelite: use simple-panel instead of display-timings for LVDS0

In reply to Eric Nelson

Also add label for backlight_lvds and connect it to the LVDS display.

---
V2 changes 'alias' in commit message to 'label'

 arch/arm/boot/dts/imx6qdl-sabrelite.dtsi | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)
arch/arm/boot/dts/imx6qdl-sabrelite.dtsi +17 -13
index 483856e2..6ed80b8 100644
@@ -121,7 +121,7 @@
 		status = "okay";
 	};
 
-	backlight_lvds {
+	backlight_lvds: backlight_lvds {
 		compatible = "pwm-backlight";
 		pwms = <&pwm4 0 5000000>;
 		brightness-levels = <0 4 8 16 32 64 128 255>;
@@ -129,6 +129,17 @@
 		power-supply = <&reg_3p3v>;
 		status = "okay";
 	};
+
+	panel {
+		compatible = "hannstar,hsd100pxn1";
+		backlight = <&backlight_lvds>;
+
+		port {
+			panel_in: endpoint {
+				remote-endpoint = <&lvds0_out>;
+			};
+		};
+	};
 };
 
 &audmux {
@@ -374,18 +385,11 @@
 		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>;
+		port at 4 {
+			reg = <4>;
+
+			lvds0_out: endpoint {
+				remote-endpoint = <&panel_in>;
 			};
 		};
 	};
Signature · 1 line
2.1.4
#7 lore raw

PATCH 2/2 ARM: dts: sabrelite: use simple-panel instead of display-timings for LVDS0

Hi Eric,

Am Dienstag, den 19.05.2015, 08:50 -0700 schrieb Eric Nelson:

Quoted 4 lines

Also add label for backlight_lvds and connect it to the LVDS display.

---

[...]

Quoted 19 lines
arch/arm/boot/dts/imx6qdl-sabrelite.dtsi +11 -0
@@ -129,6 +129,17 @@
 		power-supply = <&reg_3p3v>;
 		status = "okay";
 	};
+
+	panel {
+		compatible = "hannstar,hsd100pxn1";
+		backlight = <&backlight_lvds>;
+
+		port {
+			panel_in: endpoint {
+				remote-endpoint = <&lvds0_out>;
+			};
+		};
+	};
 };
 
 &audmux {

arch/arm/boot/dts/imx6qdl-sabrelite.dtsi line 385

Quoted 1 line
arch/arm/boot/dts/imx6qdl-sabrelite.dtsi +0 -0
@@ -374,18 +385,11 @@
 		fsl,data-width = <18>;

The fsl,data-width property shouldn't be needed anymore if you set .bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG for the hsd100pxn1 panel in panel-simple.c.

regards
Philipp

#8 lore raw

PATCH 2/2 ARM: dts: sabrelite: use simple-panel instead of display-timings for LVDS0

Quoted 25 lines · Philipp Zabel

Hi Eric,

Am Dienstag, den 19.05.2015, 08:50 -0700 schrieb Eric Nelson:

Quoted 4 lines

Also add label for backlight_lvds and connect it to the LVDS display.

---

[...]

Quoted 17 lines
arch/arm/boot/dts/imx6qdl-sabrelite.dtsi +11 -0
@@ -129,6 +129,17 @@
 		power-supply = <&reg_3p3v>;
 		status = "okay";
 	};
+
+	panel {
+		compatible = "hannstar,hsd100pxn1";
+		backlight = <&backlight_lvds>;
+
+		port {
+			panel_in: endpoint {
+				remote-endpoint = <&lvds0_out>;
+			};
+		};
+	};
 };
 
Quoted 8 lines

arch/arm/boot/dts/imx6qdl-sabrelite.dtsi line 385

Quoted 3 lines
arch/arm/boot/dts/imx6qdl-sabrelite.dtsi +0 -0
 &audmux {
@@ -374,18 +385,11 @@
 		fsl,data-width = <18>;

The fsl,data-width property shouldn't be needed anymore if you set .bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG for the hsd100pxn1 panel in panel-simple.c.

Thanks again Philipp.

That's a much better place to put it, since this is a panel feature, not a feature of the LVDS channel.

#9 lore raw

PATCH 2/2 ARM: dts: sabrelite: use simple-panel instead of display-timings for LVDS0

Hi Philipp,

Quoted 10 lines · Eric Nelson
Quoted 9 lines · Philipp Zabel

Hi Eric,

Am Dienstag, den 19.05.2015, 08:50 -0700 schrieb Eric Nelson:

Quoted 4 lines

Also add label for backlight_lvds and connect it to the LVDS display.

---

[...]

Quoted 1 line
Quoted 8 lines
Quoted 8 lines

arch/arm/boot/dts/imx6qdl-sabrelite.dtsi line 385

Quoted 3 lines

&audmux {

arch/arm/boot/dts/imx6qdl-sabrelite.dtsi +0 -0
@@ -374,18 +385,11 @@
 		fsl,data-width = <18>;

The fsl,data-width property shouldn't be needed anymore if you set .bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG for the hsd100pxn1 panel in panel-simple.c.

Are you planning to submit a patch to panel-simple.c for this?

Because of the dependency, I'd like to handle this in a separate patch instead of V3 of this patch set.

Please advise,

Eric

#10 lore raw

PATCH 2/2 ARM: dts: sabrelite: use simple-panel instead of display-timings for LVDS0

Hi Eric,

Am Dienstag, den 19.05.2015, 11:52 -0700 schrieb Eric Nelson:

Quoted 22 lines

Hi Philipp,

Quoted 10 lines · Eric Nelson
Quoted 9 lines · Philipp Zabel

Hi Eric,

Am Dienstag, den 19.05.2015, 08:50 -0700 schrieb Eric Nelson:

Quoted 4 lines

Also add label for backlight_lvds and connect it to the LVDS display.

---

[...]

Quoted 1 line
Quoted 8 lines
Quoted 8 lines

arch/arm/boot/dts/imx6qdl-sabrelite.dtsi line 385

Quoted 3 lines

&audmux {

arch/arm/boot/dts/imx6qdl-sabrelite.dtsi +0 -0
@@ -374,18 +385,11 @@
 		fsl,data-width = <18>;

The fsl,data-width property shouldn't be needed anymore if you set .bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG for the hsd100pxn1 panel in panel-simple.c.

Quoted 1 line

Are you planning to submit a patch to panel-simple.c for this?

Done.

Quoted 2 lines

Because of the dependency, I'd like to handle this in a separate patch instead of V3 of this patch set.

I agree, it's better to remove this in a separate step after the panel driver is merged.

regards
Philipp

Applied
#11 lore raw

v2 cover ARM: dts: use simple-panel for nitrogen6x and sabrelite

In reply to Eric Nelson
Quoted 5 lines · Eric Nelson

Eric Nelson (2):
ARM: dts: nitrogen6x: use simple-panel instead of display-timings for
LVDS0
ARM: dts: sabrelite: use simple-panel instead of display-timings for
LVDS0

Applied both, thanks.

#12 lore raw

PATCH 2/2 ARM: dts: sabrelite: use simple-panel instead of display-timings for LVDS0

In reply to Eric Nelson

Also add alias for backlight_lvds and connect it to the LVDS display.

---
 arch/arm/boot/dts/imx6qdl-sabrelite.dtsi | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)
arch/arm/boot/dts/imx6qdl-sabrelite.dtsi +17 -13
index 483856e2..6ed80b8 100644
@@ -121,7 +121,7 @@
 		status = "okay";
 	};
 
-	backlight_lvds {
+	backlight_lvds: backlight_lvds {
 		compatible = "pwm-backlight";
 		pwms = <&pwm4 0 5000000>;
 		brightness-levels = <0 4 8 16 32 64 128 255>;
@@ -129,6 +129,17 @@
 		power-supply = <&reg_3p3v>;
 		status = "okay";
 	};
+
+	panel {
+		compatible = "hannstar,hsd100pxn1";
+		backlight = <&backlight_lvds>;
+
+		port {
+			panel_in: endpoint {
+				remote-endpoint = <&lvds0_out>;
+			};
+		};
+	};
 };
 
 &audmux {
@@ -374,18 +385,11 @@
 		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>;
+		port at 4 {
+			reg = <4>;
+
+			lvds0_out: endpoint {
+				remote-endpoint = <&panel_in>;
 			};
 		};
 	};
Signature · 1 line
2.1.4