2019-09-25 14:17:40

by Adam Ford

[permalink] [raw]
Subject: [PATCH V2 1/3] drm/panel: simple: Add Logic PD Type 28 display support

Previously, there was an omap panel-dpi driver that would
read generic timings from the device tree and set the display
timing accordingly. This driver was removed so the screen
no longer functions. This patch modifies the panel-simple
file to setup the timings to the same values previously used.

Fixes: 8bf4b1621178 ("drm/omap: Remove panel-dpi driver")

Signed-off-by: Adam Ford <[email protected]>
Reviewed-by: Sam Ravnborg <[email protected]>
---
V2: No change

diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 5a93c4edf1e4..c86c30f3a8a1 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -1900,6 +1900,40 @@ static const struct drm_display_mode mitsubishi_aa070mc01_mode = {
.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
};

+static const struct drm_display_mode logicpd_type_28_mode = {
+ .clock = 9000,
+ .hdisplay = 480,
+ .hsync_start = 480 + 3,
+ .hsync_end = 480 + 3 + 42,
+ .htotal = 480 + 3 + 42 + 2,
+
+ .vdisplay = 272,
+ .vsync_start = 272 + 2,
+ .vsync_end = 272 + 2 + 11,
+ .vtotal = 272 + 2 + 11 + 3,
+ .vrefresh = 60,
+ .flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC,
+};
+
+static const struct panel_desc logicpd_type_28 = {
+ .modes = &logicpd_type_28_mode,
+ .num_modes = 1,
+ .bpc = 8,
+ .size = {
+ .width = 105,
+ .height = 67,
+ },
+ .delay = {
+ .prepare = 200,
+ .enable = 200,
+ .unprepare = 200,
+ .disable = 200,
+ },
+ .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
+ .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE |
+ DRM_BUS_FLAG_SYNC_DRIVE_NEGEDGE,
+};
+
static const struct panel_desc mitsubishi_aa070mc01 = {
.modes = &mitsubishi_aa070mc01_mode,
.num_modes = 1,
@@ -2948,6 +2982,9 @@ static const struct of_device_id platform_of_match[] = {
}, {
.compatible = "lg,lp129qe",
.data = &lg_lp129qe,
+ }, {
+ .compatible = "logicpd,type28",
+ .data = &logicpd_type_28,
}, {
.compatible = "mitsubishi,aa070mc01-ca1",
.data = &mitsubishi_aa070mc01,
--
2.17.1


2019-09-25 14:17:46

by Adam Ford

[permalink] [raw]
Subject: [PATCH V2 2/3] dt-bindings: Add Logic PD Type 28 display panel

This patch adds documentation of device tree bindings for the WVGA panel
Logic PD Type 28 display.

Signed-off-by: Adam Ford <[email protected]>
---
V2: Use YAML instead of TXT for binding

diff --git a/Documentation/devicetree/bindings/display/panel/logicpd,type28.yaml b/Documentation/devicetree/bindings/display/panel/logicpd,type28.yaml
new file mode 100644
index 000000000000..707e2a17c8c2
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/logicpd,type28.yaml
@@ -0,0 +1,39 @@
+# SPDX-License-Identifier: (GPL-2.0+ OR X11)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/ronbo,rb070d30.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Logic PD Type 28 4.3" WQVGA TFT LCD panel
+
+properties:
+ compatible:
+ const: logicpd,type28
+
+ power-supply:
+ description: Regulator to provide the supply voltage
+ maxItems: 1
+
+ enable-gpios:
+ description: GPIO pin to enable or disable the panel
+ maxItems: 1
+
+ backlight:
+ description: Backlight used by the panel
+ $ref: "/schemas/types.yaml#/definitions/phandle"
+
+required:
+ - compatible
+
+additionalProperties: false
+
+examples:
+ lcd0: display {
+ compatible = "logicpd,type28";
+ enable-gpios = <&gpio5 27 GPIO_ACTIVE_HIGH>;
+ port {
+ lcd_in: endpoint {
+ remote-endpoint = <&dpi_out>;
+ };
+ };
+ };
--
2.17.1

2019-09-25 14:18:00

by Adam Ford

[permalink] [raw]
Subject: [PATCH V2 3/3] ARM: logicpd-torpedo-37xx-devkit-28: Reference new DRM panel

With the removal of the panel-dpi from the omap drivers, the
LCD no longer works. This patch points the device tree to
a newly created panel named "logicpd,type28"

Fixes: 8bf4b1621178 ("drm/omap: Remove panel-dpi driver")

Signed-off-by: Adam Ford <[email protected]>
Acked-by: Sam Ravnborg <[email protected]>
---
V2: Remove legacy 'label' from binding

diff --git a/arch/arm/boot/dts/logicpd-torpedo-37xx-devkit-28.dts b/arch/arm/boot/dts/logicpd-torpedo-37xx-devkit-28.dts
index 07ac99b9cda6..cdb89b3e2a9b 100644
--- a/arch/arm/boot/dts/logicpd-torpedo-37xx-devkit-28.dts
+++ b/arch/arm/boot/dts/logicpd-torpedo-37xx-devkit-28.dts
@@ -11,22 +11,6 @@
#include "logicpd-torpedo-37xx-devkit.dts"

&lcd0 {
-
- label = "28";
-
- panel-timing {
- clock-frequency = <9000000>;
- hactive = <480>;
- vactive = <272>;
- hfront-porch = <3>;
- hback-porch = <2>;
- hsync-len = <42>;
- vback-porch = <3>;
- vfront-porch = <2>;
- vsync-len = <11>;
- hsync-active = <1>;
- vsync-active = <1>;
- de-active = <1>;
- pixelclk-active = <0>;
- };
+ /* To make it work, set CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=4 */
+ compatible = "logicpd,type28";
};
--
2.17.1

2019-09-26 08:41:00

by Adam Ford

[permalink] [raw]
Subject: Re: [PATCH V2 2/3] dt-bindings: Add Logic PD Type 28 display panel

On Tue, Sep 24, 2019 at 1:56 PM Rob Herring <[email protected]> wrote:
>
> On Mon, Sep 23, 2019 at 8:45 AM Adam Ford <[email protected]> wrote:
> >
> > This patch adds documentation of device tree bindings for the WVGA panel
> > Logic PD Type 28 display.
> >
> > Signed-off-by: Adam Ford <[email protected]>
> > ---
> > V2: Use YAML instead of TXT for binding
>
> Fails to build with 'make dt_binding_check':
>
> https://patchwork.ozlabs.org/patch/1166057/
>
> Looks like a tab character used perhaps.

I am not familiar with yaml. I thought I copied an existing file but
apparently it didn't work. Is there a recommended editor that know
this markup language? Better yet, is there a script I can run to
convert a text file to the yaml?

adam
>
> Rob

2019-09-26 08:41:51

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH V2 2/3] dt-bindings: Add Logic PD Type 28 display panel

On Mon, Sep 23, 2019 at 8:45 AM Adam Ford <[email protected]> wrote:
>
> This patch adds documentation of device tree bindings for the WVGA panel
> Logic PD Type 28 display.
>
> Signed-off-by: Adam Ford <[email protected]>
> ---
> V2: Use YAML instead of TXT for binding

Fails to build with 'make dt_binding_check':

https://patchwork.ozlabs.org/patch/1166057/

Looks like a tab character used perhaps.

Rob