Skip to contentSkip to conversation

drm/panel: simple: Add Logic PD Type 28 display support

PATCH Superseded Adam Ford 2 participants 5 messages Sep 23, 2019 – Sep 24, 2019

Subsystems (4)

v2 of 5 Superseded Latest is v5 →

lore
Share & tools
lore

Adam Ford

author
#0 lore raw

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")

---
V2: No change

drivers/gpu/drm/panel/panel-simple.c +37 -0
index 5a93c4edf1e4..c86c30f3a8a1 100644
@@ -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,
Signature · 1 line
2.17.1
author
#1 lore raw

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.

---
V2: Use YAML instead of TXT for binding

Documentation/devicetree/bindings/display/panel/logicpd,type28.yaml new file +39 -0
new file mode 100644
index 000000000000..707e2a17c8c2
@@ -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>;
+			};
+		};
+	};
Signature · 1 line
2.17.1
author
#3 lore raw

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

Quoted 10 lines · Rob Herring
Quoted 7 lines · Adam Ford

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

---
V2: Use YAML instead of TXT for binding

Quoted 5 lines

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

Quoted 2 lines

Rob

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

author
#4 lore raw

PATCH v2 3/3 ARM: logicpd-torpedo-37xx-devkit-28: Reference new DRM panel

In reply to Adam Ford

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")

---
V2: Remove legacy 'label' from binding

arch/arm/boot/dts/logicpd-torpedo-37xx-devkit-28.dts +2 -18
index 07ac99b9cda6..cdb89b3e2a9b 100644
@@ -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";
 };
Signature · 1 line
2.17.1