Skip to contentSkip to conversation

arm: dts: imx6qdl-icore: Add backlight support for lvds

PATCH Superseded Jagan Teki 2 participants 6 messages Feb 20, 2017

Subsystems (3)

v2 of 5 Superseded Latest is v5 →

lore
Share & tools
lore

Jagan Teki

author
#0 lore raw

PATCH v2 1/4 arm: dts: imx6qdl-icore: Add backlight support for lvds

From: Jagan Teki <[email protected]>

This patch add support for lvds backlight on i.CoreM6 QDL variant boards.

Cc Domenico Acri <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
Cc Shawn Guo <[email protected]>

---
Changes for v2:
- none

 arch/arm/boot/dts/imx6qdl-icore.dtsi | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
arch/arm/boot/dts/imx6qdl-icore.dtsi +20 -0
index 55bebfc..7dda608 100644
@@ -48,6 +48,14 @@
 		reg = <0x10000000 0x80000000>;
 	};
 
+	backlight {
+		compatible = "pwm-backlight";
+		pwms = <&pwm3 0 100000>;
+		brightness-levels = <0 4 8 16 32 64 128 255>;
+		default-brightness-level = <7>;
+		status = "okay";
+	};
+
 	reg_3p3v: regulator-3p3v {
 		compatible = "regulator-fixed";
 		regulator-name = "3P3V";
@@ -136,6 +144,12 @@
 	status = "okay";
 };
 
+&pwm3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pwm3>;
+	status = "okay";
+};
+
 &uart4 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_uart4>;
@@ -246,6 +260,12 @@
 		>;
 	};
 
+	pinctrl_pwm3: pwm3grp-1 {
+		fsl,pins = <
+			MX6QDL_PAD_SD4_DAT1__PWM3_OUT 0x1b0b1
+		>;
+	};
+
 	pinctrl_usbotg: usbotggrp {
 		fsl,pins = <
 			MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
Signature · 1 line
1.9.1
author
#1 lore raw

PATCH v2 2/4 arm: dts: imx6q: Add Engicam i.CoreM6 Quad/Dual OpenFrame Cap 10.1 initial support

From: Jagan Teki <[email protected]>

i.CoreM6 Quad/Dual OpenFrame modules are "system on modules plus openframe display carriers" which are good solution for develop user friendly graphic user interface.

General features:

CPU           NXP i.MX6Q rev1.2 at 792 MHz
RAM           1GB, 32, 64 bit, DDR3-800/1066
NAND          SLC,512MB
LVDS Display  TFT 10.1" industrial, 1280x800 resolution
Backlight     LED backlight, brightness 350 Cd/m2
Power supply  15 to 30 Vdc
Cc Domenico Acri <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
Cc Shawn Guo <[email protected]>

---
Changes for v2:
- none

 arch/arm/boot/dts/Makefile                |  1 +
 arch/arm/boot/dts/imx6q-icore-ofcap10.dts | 76 +++++++++++++++++++++++++++++++
 2 files changed, 77 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx6q-icore-ofcap10.dts
arch/arm/boot/dts/Makefile +1 -0
index 0118084..458ec09 100644
@@ -398,6 +398,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
 	imx6q-h100.dtb \
 	imx6q-hummingboard.dtb \
 	imx6q-icore.dtb \
+	imx6q-icore-ofcap10.dtb \
 	imx6q-icore-rqs.dtb \
 	imx6q-marsboard.dtb \
 	imx6q-mccmon6.dtb \
arch/arm/boot/dts/imx6q-icore-ofcap10.dts new file +76 -0

76 lines not on this page · raw message

Signature · 1 line
1.9.1
reviewer
#2 lore raw

Re: [PATCH v2 2/4] arm: dts: imx6q: Add Engicam i.CoreM6 Quad/Dual OpenFrame Cap 10.1 initial support

Quoted 10 lines · Jagan Teki

+&ldb {

arch/arm/boot/dts/imx6q-icore-ofcap10.dts new file +9 -0
+       status = "okay";
+
+       lvds-channel at 0 {
+               fsl,data-mapping = "spwg";
+               fsl,data-width = <24>;
+               status = "okay";
+
+               display-timings {
+                        native-mode = <&timing1>;

arch/arm/boot/dts/imx6q-icore-ofcap10.dts line 72

Quoted 10 lines
arch/arm/boot/dts/imx6q-icore-ofcap10.dts new file +10 -0
+                        timing1: hsd100pxn1 {
+                                clock-frequency = <60000000>;
+                                hactive = <1280>;
+                                vactive = <800>;
+                                hback-porch = <40>;
+                                hfront-porch = <40>;
+                                vback-porch = <10>;
+                                vfront-porch = <3>;
+                                hsync-len = <80>;
+                                vsync-len = <10>;

hsd100pxn1 is supported by the drm simple panel driver.

This allows you to remove the display-timings from the dts and use compatible = "hannstar,hsd100pxn1" instead.

reviewer
#3 lore raw

Re: [PATCH v2 2/4] arm: dts: imx6q: Add Engicam i.CoreM6 Quad/Dual OpenFrame Cap 10.1 initial support

Quoted 25 lines · Fabio Estevam
Quoted 10 lines · Jagan Teki

+&ldb {

arch/arm/boot/dts/imx6q-icore-ofcap10.dts new file +9 -0
+       status = "okay";
+
+       lvds-channel at 0 {
+               fsl,data-mapping = "spwg";
+               fsl,data-width = <24>;
+               status = "okay";
+
+               display-timings {
+                        native-mode = <&timing1>;

arch/arm/boot/dts/imx6q-icore-ofcap10.dts line 72

Quoted 10 lines
arch/arm/boot/dts/imx6q-icore-ofcap10.dts new file +10 -0
+                        timing1: hsd100pxn1 {
+                                clock-frequency = <60000000>;
+                                hactive = <1280>;
+                                vactive = <800>;
+                                hback-porch = <40>;
+                                hfront-porch = <40>;
+                                vback-porch = <10>;
+                                vfront-porch = <3>;
+                                hsync-len = <80>;
+                                vsync-len = <10>;

hsd100pxn1 is supported by the drm simple panel driver.

Quoted 2 lines

This allows you to remove the display-timings from the dts and use compatible = "hannstar,hsd100pxn1" instead.

After looking at the timings you provided they do not match with the timings from hsd100pxn1, so it seems you have a different panel on this board.

If this is the case, then you should not put a 'hsd100pxn1' reference in the dts.

author
#4 lore raw

PATCH v2 3/4 arm: dts: imx6q: Add Engicam i.CoreM6 Quad/Dual OpenFrame Cap 12.3 initial support

In reply to Jagan Teki

i.CoreM6 Quad/Dual OpenFrame modules are "system on modules plus openframe display carriers" which are good solution for develop user friendly graphic user interface.

General features:

CPU           NXP i.MX6Q rev1.2 at 792 MHz
RAM           1GB, 32, 64 bit, DDR3-800/1066
NAND          SLC,512MB
LVDS Display  TFT 12.3" industrial, 1280x480 resolution
Backlight     LED backlight, brightness 350 Cd/m2
Power supply  15 to 30 Vdc
Cc Domenico Acri <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
Cc Shawn Guo <[email protected]>

---
Changes for v2:
- newly added patch

 arch/arm/boot/dts/Makefile                |  1 +
 arch/arm/boot/dts/imx6q-icore-ofcap12.dts | 76 +++++++++++++++++++++++++++++++
 2 files changed, 77 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx6q-icore-ofcap12.dts
arch/arm/boot/dts/Makefile +1 -0
index 458ec09..adfdaee 100644
@@ -399,6 +399,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
 	imx6q-hummingboard.dtb \
 	imx6q-icore.dtb \
 	imx6q-icore-ofcap10.dtb \
+	imx6q-icore-ofcap12.dtb \
 	imx6q-icore-rqs.dtb \
 	imx6q-marsboard.dtb \
 	imx6q-mccmon6.dtb \
arch/arm/boot/dts/imx6q-icore-ofcap12.dts new file +76 -0

76 lines not on this page · raw message

Signature · 1 line
1.9.1
author
#5 lore raw

PATCH v2 4/4 arm: dts: imx6q-icore: Add LVDS support

In reply to Jagan Teki

Add LVDS display support for OpenFrame Capacitive touch 7 inc display which is supported by Engicam i.CoreM6 QDL Starter Kit.

Cc Domenico Acri <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>
Cc Shawn Guo <[email protected]>

---
Changes for v2:
- newly added patch

 arch/arm/boot/dts/imx6q-icore.dts | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
arch/arm/boot/dts/imx6q-icore.dts +25 -0
index 59eb7ad..e6216da 100644
@@ -57,3 +57,28 @@
 &can2 {
 	status = "okay";
 };
+
+&ldb {
+	status = "okay";
+
+	lvds-channel at 0 {
+		fsl,data-mapping = "spwg";
+		fsl,data-width = <18>;
+		status = "okay";
+
+		display-timings {
+                        native-mode = <&timing1>;
+                        timing1: hsd100pxn1 {
+                                clock-frequency = <60000000>;
+                                hactive = <800>;
+                                vactive = <480>;
+                                hback-porch = <30>;
+                                hfront-porch = <30>;
+                                vback-porch = <5>;
+                                vfront-porch = <5>;
+                                hsync-len = <64>;
+                                vsync-len = <20>;
+                        };
+                };
+	};
+};
Signature · 1 line
1.9.1