Discussion:
[PATCH v4 1/2] ARM: dts: imx7d-sdb: Add DRM panel support
Marco Franchi
2017-07-17 16:12:13 UTC
Permalink
It is preferred to use the panel compatible string rather than passing the
LCD timming in the device tree.

So pass the "innolux,at043tn24" compatible string to describe the parallel
LCD on this board.

Signed-off-by: Marco Franchi <***@nxp.com>
---
Changes since v3:
- none
arch/arm/boot/dts/imx7d-sdb.dts | 36 +++++++++++++-----------------------
1 file changed, 13 insertions(+), 23 deletions(-)

diff --git a/arch/arm/boot/dts/imx7d-sdb.dts b/arch/arm/boot/dts/imx7d-sdb.dts
index 2dce141..5827ae3 100644
--- a/arch/arm/boot/dts/imx7d-sdb.dts
+++ b/arch/arm/boot/dts/imx7d-sdb.dts
@@ -117,6 +117,16 @@
regulator-max-microvolt = <3300000>;
startup-delay-us = <200000>;
};
+
+ panel {
+ compatible = "innolux,at043tn24";
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&display_out>;
+ };
+ };
+ };
};

&adc1 {
@@ -323,31 +333,11 @@
&lcdif {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcdif>;
- display = <&display0>;
status = "okay";

- display0: display {
- bits-per-pixel = <16>;
- bus-width = <24>;
-
- display-timings {
- native-mode = <&timing0>;
-
- timing0: timing0 {
- clock-frequency = <9200000>;
- hactive = <480>;
- vactive = <272>;
- hfront-porch = <8>;
- hback-porch = <4>;
- hsync-len = <41>;
- vback-porch = <2>;
- vfront-porch = <4>;
- vsync-len = <10>;
- hsync-active = <0>;
- vsync-active = <0>;
- de-active = <1>;
- pixelclk-active = <0>;
- };
+ port {
+ display_out: endpoint {
+ remote-endpoint = <&panel_in>;
};
};
};
--
2.7.4
Marco Franchi
2017-07-17 16:12:14 UTC
Permalink
Currently the LCD is turned on thanks to the bootloader initialization.

In order to make the kernel to turn on the LCD on is own, pass the
'enable-gpios' and 'power-supply' properties.

Also, the GPIO1_IO01 is not used as PWM functionality on this board. It is
connected to the PWREN pin of connector J14 and has a GPIO function, so
remove the PWM1 node and change the GPIO1_IO01 IOMUX to GPIO function.

Signed-off-by: Marco Franchi <***@nxp.com>
---
Changes since v3:
- fix subject name
arch/arm/boot/dts/imx7d-sdb.dts | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/arch/arm/boot/dts/imx7d-sdb.dts b/arch/arm/boot/dts/imx7d-sdb.dts
index 1600c7d..a01e6b3 100644
--- a/arch/arm/boot/dts/imx7d-sdb.dts
+++ b/arch/arm/boot/dts/imx7d-sdb.dts
@@ -118,8 +118,19 @@
startup-delay-us = <200000>;
};

+ reg_lcd_3v3: regulator-lcd-3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "lcd-3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&extended_io 7 GPIO_ACTIVE_LOW>;
+ };
+
panel {
compatible = "innolux,at043tn24";
+ pinctrl-0 = <&pinctrl_backlight>;
+ enable-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
+ power-supply = <&reg_lcd_3v3>;

port {
panel_in: endpoint {
@@ -347,12 +358,6 @@
status = "okay";
};

-&pwm1 {
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_pwm1>;
- status = "okay";
-};
-
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
@@ -684,9 +689,9 @@
;
};

- pinctrl_pwm1: pwm1grp {
+ pinctrl_backlight: backlightgrp {
fsl,pins = <
- MX7D_PAD_LPSR_GPIO1_IO01__PWM1_OUT 0x110b0
+ MX7D_PAD_LPSR_GPIO1_IO01__GPIO1_IO1 0x110b0
;
pinctrl_spi4: spi4grp {
--
2.7.4
Shawn Guo
2017-07-25 08:49:13 UTC
Permalink
Post by Marco Franchi
It is preferred to use the panel compatible string rather than passing the
LCD timming in the device tree.
So pass the "innolux,at043tn24" compatible string to describe the parallel
LCD on this board.
Applied both, thanks.

Loading...