Skip to contentSkip to conversation

add Gopher 2b LCD panel

PATCH In review Artjom Vejsel 3 participants 9 messages Aug 4, 2021 – Aug 5, 2021

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

v4 cover add Gopher 2b LCD panel

The Gopher 2b LCD panel is used in Gopher 2b handhelds. It's simple panel with NewVision NV3047 driver,
but SPI lines are not connected.
It has no specific name, since it's unique to that handhelds. lot name at AliExpress: 4.3 inch 40PIN TFT LCD Screen COG NV3047 Drive IC 480(RGB)*272 No Touch 24Bit RGB Interface

Changelog:
v2: remove .num_modes
v3: sort QiShenglong vendor prefix,
sort qishenglong_gopher2b_lcd_panel_modes struct
v4: rename lcd-panel to lcd

Artjom Vejsel (3):
dt-bindings: Add QiShenglong vendor prefix
dt-bindings: Add DT bindings for QiShenglong Gopher 2b panel drm/panel-simple: add Gopher 2b LCD panel

 .../bindings/display/panel/panel-simple.yaml  |  2 +
 .../devicetree/bindings/vendor-prefixes.yaml  |  2 +
 drivers/gpu/drm/panel/panel-simple.c          | 43 +++++++++++++++++++
 3 files changed, 47 insertions(+)

--
2.32.0

#1 lore raw

PATCH v4 1/3 dt-bindings: Add QiShenglong vendor prefix

Add vendor prefix for Shenzhen QiShenglong Industrialist Co., Ltd. QiShenglong is a Chinese manufacturer of handheld gaming consoles, most of which run (very old) versions of Linux.
QiShenglong is known as Hamy.

---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)
Documentation/devicetree/bindings/vendor-prefixes.yaml +2 -0
index b868cefc7c55..1d45a2d7a7bb 100644
@@ -926,6 +926,8 @@ patternProperties:
     description: Chengdu Kaixuan Information Technology Co., Ltd.
   "^qiaodian,.*":
     description: QiaoDian XianShi Corporation
+  "^qishenglong,.*":
+    description: Shenzhen QiShenglong Industrialist Co., Ltd.
   "^qnap,.*":
     description: QNAP Systems, Inc.
   "^radxa,.*":
Signature · 1 line
2.32.0
#2 lore raw

Re: [PATCH v4 1/3] dt-bindings: Add QiShenglong vendor prefix

Quoted 6 lines · Artjom Vejsel

Add vendor prefix for Shenzhen QiShenglong Industrialist Co., Ltd. QiShenglong is a Chinese manufacturer of handheld gaming consoles, most of which run (very old) versions of Linux.
QiShenglong is known as Hamy.

This is already applied - see

f98f273f3a98 ("dt-bindings: Add QiShenglong vendor prefix")

in drm-misc-next.

Sam

Quoted 19 lines
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)
Documentation/devicetree/bindings/vendor-prefixes.yaml +2 -0
index b868cefc7c55..1d45a2d7a7bb 100644
@@ -926,6 +926,8 @@ patternProperties:
     description: Chengdu Kaixuan Information Technology Co., Ltd.
   "^qiaodian,.*":
     description: QiaoDian XianShi Corporation
+  "^qishenglong,.*":
+    description: Shenzhen QiShenglong Industrialist Co., Ltd.
   "^qnap,.*":
     description: QNAP Systems, Inc.
   "^radxa,.*":
Signature · 1 line
2.32.0
#3 lore raw

PATCH v4 2/3 dt-bindings: Add DT bindings for QiShenglong Gopher 2b panel

In reply to Artjom Vejsel

Add DT bindings for QiShenglong Gopher 2b 4.3" 480(RGB)x272 TFT LCD panel.

---
 .../devicetree/bindings/display/panel/panel-simple.yaml         | 2 ++
 1 file changed, 2 insertions(+)
Documentation/devicetree/bindings/display/panel/panel-simple.yaml +2 -0
index 3624363938dd..d7e9e516751d 100644
@@ -244,6 +244,8 @@ properties:
       - powertip,ph800480t013-idf02
         # QiaoDian XianShi Corporation 4"3 TFT LCD panel
       - qiaodian,qd43003c0-40
+        # Shenzhen QiShenglong Industrialist Co., Ltd. Gopher 2b 4.3" 480(RGB)x272 TFT LCD panel
+      - qishenglong,gopher2b-lcd
         # Rocktech Displays Ltd. RK101II01D-CT 10.1" TFT 1280x800
       - rocktech,rk101ii01d-ct
         # Rocktech Display Ltd. RK070ER9427 800(RGB)x480 TFT LCD panel
Signature · 1 line
2.32.0
#5 lore raw

Re: [PATCH v4 2/3] dt-bindings: Add DT bindings for QiShenglong Gopher 2b panel

Hi Sam,

Quoted 8 lines · Sam Ravnborg
Quoted 4 lines · Artjom Vejsel

Add DT bindings for QiShenglong Gopher 2b 4.3" 480(RGB)x272 TFT LCD
panel.

Paul, I assume you will apply when you are happy with the driver.

I just pushed to drm-misc-next... but forgot to add your Reviewed-by when applying the patches. What should we do about it?

Sorry about that.

Cheers,
-Paul

#6 lore raw

Re: [PATCH v4 2/3] dt-bindings: Add DT bindings for QiShenglong Gopher 2b panel

Quoted 8 lines · Paul Cercueil

Hi Sam,

Le mer., août 4 2021 at 20:25:23 +0200, Sam Ravnborg <[email protected]> a écrit :

Quoted 4 lines · Artjom Vejsel
Quoted 3 lines

Add DT bindings for QiShenglong Gopher 2b 4.3" 480(RGB)x272 TFT LCD
panel.

Quoted 7 lines
Quoted 4 lines
Quoted 1 line

Paul, I assume you will apply when you are happy with the driver.

I just pushed to drm-misc-next... but forgot to add your Reviewed-by when applying the patches. What should we do about it?

No worries,

Sam

#7 lore raw

PATCH v4 3/3 drm/panel-simple: add Gopher 2b LCD panel

In reply to Artjom Vejsel

The Gopher 2b LCD panel is used in Gopher 2b handhelds.
It's simple panel with NewVision NV3047 driver, but SPI lines are not connected.
It has no specific name, since it's unique to that handhelds.
lot name at AliExpress: 4.3 inch 40PIN TFT LCD Screen COG NV3047 Drive IC 480(RGB)*272 No Touch 24Bit RGB Interface

---
 drivers/gpu/drm/panel/panel-simple.c | 43 ++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)
drivers/gpu/drm/panel/panel-simple.c +43 -0
index 9b286bd4444f..2c391ed6ec1a 100644
@@ -3563,6 +3563,46 @@ static const struct panel_desc qd43003c0_40 = {
 	.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
 };
 
+static const struct drm_display_mode qishenglong_gopher2b_lcd_modes[] = {
+	{ /* 60 Hz */
+		.clock = 10800,
+		.hdisplay = 480,
+		.hsync_start = 480 + 77,
+		.hsync_end = 480 + 77 + 41,
+		.htotal = 480 + 77 + 41 + 2,
+		.vdisplay = 272,
+		.vsync_start = 272 + 16,
+		.vsync_end = 272 + 16 + 10,
+		.vtotal = 272 + 16 + 10 + 2,
+		.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
+	},
+	{ /* 50 Hz */
+		.clock = 10800,
+		.hdisplay = 480,
+		.hsync_start = 480 + 17,
+		.hsync_end = 480 + 17 + 41,
+		.htotal = 480 + 17 + 41 + 2,
+		.vdisplay = 272,
+		.vsync_start = 272 + 116,
+		.vsync_end = 272 + 116 + 10,
+		.vtotal = 272 + 116 + 10 + 2,
+		.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
+	},
+};
+
+static const struct panel_desc qishenglong_gopher2b_lcd = {
+	.modes = qishenglong_gopher2b_lcd_modes,
+	.num_modes = ARRAY_SIZE(qishenglong_gopher2b_lcd_modes),
+	.bpc = 8,
+	.size = {
+		.width = 95,
+		.height = 54,
+	},
+	.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
+	.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE,
+	.connector_type = DRM_MODE_CONNECTOR_DPI,
+};
+
 static const struct display_timing rocktech_rk070er9427_timing = {
 	.pixelclock = { 26400000, 33300000, 46800000 },
 	.hactive = { 800, 800, 800 },
@@ -4651,6 +4691,9 @@ static const struct of_device_id platform_of_match[] = {
 	}, {
 		.compatible = "qiaodian,qd43003c0-40",
 		.data = &qd43003c0_40,
+	}, {
+		.compatible = "qishenglong,gopher2b-lcd",
+		.data = &qishenglong_gopher2b_lcd,
 	}, {
 		.compatible = "rocktech,rk070er9427",
 		.data = &rocktech_rk070er9427,
Signature · 1 line
2.32.0
Reviewed-by on v4 3/3
#8 lore raw

Re: [PATCH v4 3/3] drm/panel-simple: add Gopher 2b LCD panel

Hi Artjom,

Quoted 6 lines · Artjom Vejsel

The Gopher 2b LCD panel is used in Gopher 2b handhelds.
It's simple panel with NewVision NV3047 driver, but SPI lines are not connected.
It has no specific name, since it's unique to that handhelds.
lot name at AliExpress: 4.3 inch 40PIN TFT LCD Screen COG NV3047 Drive IC 480(RGB)*272 No Touch 24Bit RGB Interface