linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/3] add Gopher 2b LCD panel
@ 2021-07-25 22:15 Artjom Vejsel
  2021-07-25 22:15 ` [PATCH v3 1/3] dt-bindings: Add QiShenglong vendor prefix Artjom Vejsel
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Artjom Vejsel @ 2021-07-25 22:15 UTC (permalink / raw)
  Cc: thierry.reding, sam, dri-devel, robh+dt, devicetree,
	linux-kernel, paul, akawolf0

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

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v3 1/3] dt-bindings: Add QiShenglong vendor prefix
  2021-07-25 22:15 [PATCH v3 0/3] add Gopher 2b LCD panel Artjom Vejsel
@ 2021-07-25 22:15 ` Artjom Vejsel
  2021-07-25 23:06   ` Paul Cercueil
  2021-07-26 22:49   ` Rob Herring
  2021-07-25 22:15 ` [PATCH v3 2/3] dt-bindings: Add DT bindings for QiShenglong Gopher 2b panel Artjom Vejsel
  2021-07-25 22:15 ` [PATCH v3 3/3] drm/panel-simple: add Gopher 2b LCD panel Artjom Vejsel
  2 siblings, 2 replies; 11+ messages in thread
From: Artjom Vejsel @ 2021-07-25 22:15 UTC (permalink / raw)
  Cc: thierry.reding, sam, dri-devel, robh+dt, devicetree,
	linux-kernel, paul, akawolf0

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.

Signed-off-by: Artjom Vejsel <akawolf0@gmail.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index b868cefc7c55..1d45a2d7a7bb 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -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,.*":
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v3 2/3] dt-bindings: Add DT bindings for QiShenglong Gopher 2b panel
  2021-07-25 22:15 [PATCH v3 0/3] add Gopher 2b LCD panel Artjom Vejsel
  2021-07-25 22:15 ` [PATCH v3 1/3] dt-bindings: Add QiShenglong vendor prefix Artjom Vejsel
@ 2021-07-25 22:15 ` Artjom Vejsel
  2021-07-25 23:06   ` Paul Cercueil
  2021-07-26 22:51   ` Rob Herring
  2021-07-25 22:15 ` [PATCH v3 3/3] drm/panel-simple: add Gopher 2b LCD panel Artjom Vejsel
  2 siblings, 2 replies; 11+ messages in thread
From: Artjom Vejsel @ 2021-07-25 22:15 UTC (permalink / raw)
  Cc: thierry.reding, sam, dri-devel, robh+dt, devicetree,
	linux-kernel, paul, akawolf0

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

Signed-off-by: Artjom Vejsel <akawolf0@gmail.com>
---
 .../devicetree/bindings/display/panel/panel-simple.yaml         | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
index 3624363938dd..e7f3db118c5d 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
+++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
@@ -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-panel
         # Rocktech Displays Ltd. RK101II01D-CT 10.1" TFT 1280x800
       - rocktech,rk101ii01d-ct
         # Rocktech Display Ltd. RK070ER9427 800(RGB)x480 TFT LCD panel
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v3 3/3] drm/panel-simple: add Gopher 2b LCD panel
  2021-07-25 22:15 [PATCH v3 0/3] add Gopher 2b LCD panel Artjom Vejsel
  2021-07-25 22:15 ` [PATCH v3 1/3] dt-bindings: Add QiShenglong vendor prefix Artjom Vejsel
  2021-07-25 22:15 ` [PATCH v3 2/3] dt-bindings: Add DT bindings for QiShenglong Gopher 2b panel Artjom Vejsel
@ 2021-07-25 22:15 ` Artjom Vejsel
  2021-07-25 23:07   ` Paul Cercueil
  2021-07-26  9:02   ` Paul Cercueil
  2 siblings, 2 replies; 11+ messages in thread
From: Artjom Vejsel @ 2021-07-25 22:15 UTC (permalink / raw)
  Cc: thierry.reding, sam, dri-devel, robh+dt, devicetree,
	linux-kernel, paul, akawolf0

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

Signed-off-by: Artjom Vejsel <akawolf0@gmail.com>
---
 drivers/gpu/drm/panel/panel-simple.c | 43 ++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 9b286bd4444f..6b69c0c70814 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -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_panel_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_panel = {
+	.modes = qishenglong_gopher2b_lcd_panel_modes,
+	.num_modes = ARRAY_SIZE(qishenglong_gopher2b_lcd_panel_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-panel",
+		.data = &qishenglong_gopher2b_lcd_panel,
 	}, {
 		.compatible = "rocktech,rk070er9427",
 		.data = &rocktech_rk070er9427,
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 1/3] dt-bindings: Add QiShenglong vendor prefix
  2021-07-25 22:15 ` [PATCH v3 1/3] dt-bindings: Add QiShenglong vendor prefix Artjom Vejsel
@ 2021-07-25 23:06   ` Paul Cercueil
  2021-07-26 22:49   ` Rob Herring
  1 sibling, 0 replies; 11+ messages in thread
From: Paul Cercueil @ 2021-07-25 23:06 UTC (permalink / raw)
  To: Artjom Vejsel
  Cc: thierry.reding, sam, dri-devel, robh+dt, devicetree, linux-kernel

Hi Artjom,

Le lun., juil. 26 2021 at 01:15:25 +0300, Artjom Vejsel 
<akawolf0@gmail.com> a écrit :
> 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.
> 
> Signed-off-by: Artjom Vejsel <akawolf0@gmail.com>

Reviewed-by: Paul Cercueil <paul@crapouillou.net>

Cheers,
-Paul

> ---
>  Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml 
> b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> index b868cefc7c55..1d45a2d7a7bb 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> @@ -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,.*":
> --
> 2.32.0
> 



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 2/3] dt-bindings: Add DT bindings for QiShenglong Gopher 2b panel
  2021-07-25 22:15 ` [PATCH v3 2/3] dt-bindings: Add DT bindings for QiShenglong Gopher 2b panel Artjom Vejsel
@ 2021-07-25 23:06   ` Paul Cercueil
  2021-07-26 22:51   ` Rob Herring
  1 sibling, 0 replies; 11+ messages in thread
From: Paul Cercueil @ 2021-07-25 23:06 UTC (permalink / raw)
  To: Artjom Vejsel
  Cc: thierry.reding, sam, dri-devel, robh+dt, devicetree, linux-kernel

Hi Artjom,

Le lun., juil. 26 2021 at 01:15:26 +0300, Artjom Vejsel 
<akawolf0@gmail.com> a écrit :
> Add DT bindings for QiShenglong Gopher 2b 4.3" 480(RGB)x272 TFT LCD 
> panel.
> 
> Signed-off-by: Artjom Vejsel <akawolf0@gmail.com>

Reviewed-by: Paul Cercueil <paul@crapouillou.net>

Cheers,
-Paul

> ---
>  .../devicetree/bindings/display/panel/panel-simple.yaml         | 2 
> ++
>  1 file changed, 2 insertions(+)
> 
> diff --git 
> a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml 
> b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> index 3624363938dd..e7f3db118c5d 100644
> --- 
> a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> +++ 
> b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> @@ -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-panel
>          # Rocktech Displays Ltd. RK101II01D-CT 10.1" TFT 1280x800
>        - rocktech,rk101ii01d-ct
>          # Rocktech Display Ltd. RK070ER9427 800(RGB)x480 TFT LCD 
> panel
> --
> 2.32.0
> 



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 3/3] drm/panel-simple: add Gopher 2b LCD panel
  2021-07-25 22:15 ` [PATCH v3 3/3] drm/panel-simple: add Gopher 2b LCD panel Artjom Vejsel
@ 2021-07-25 23:07   ` Paul Cercueil
  2021-07-26  9:02   ` Paul Cercueil
  1 sibling, 0 replies; 11+ messages in thread
From: Paul Cercueil @ 2021-07-25 23:07 UTC (permalink / raw)
  To: Artjom Vejsel
  Cc: thierry.reding, sam, dri-devel, robh+dt, devicetree, linux-kernel



Le lun., juil. 26 2021 at 01:15:27 +0300, Artjom Vejsel 
<akawolf0@gmail.com> a écrit :
> 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
> 
> Signed-off-by: Artjom Vejsel <akawolf0@gmail.com>

Reviewed-by: Paul Cercueil <paul@crapouillou.net>

Cheers,
-Paul

> ---
>  drivers/gpu/drm/panel/panel-simple.c | 43 
> ++++++++++++++++++++++++++++
>  1 file changed, 43 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c 
> b/drivers/gpu/drm/panel/panel-simple.c
> index 9b286bd4444f..6b69c0c70814 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -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_panel_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_panel = {
> +	.modes = qishenglong_gopher2b_lcd_panel_modes,
> +	.num_modes = ARRAY_SIZE(qishenglong_gopher2b_lcd_panel_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-panel",
> +		.data = &qishenglong_gopher2b_lcd_panel,
>  	}, {
>  		.compatible = "rocktech,rk070er9427",
>  		.data = &rocktech_rk070er9427,
> --
> 2.32.0
> 



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 3/3] drm/panel-simple: add Gopher 2b LCD panel
  2021-07-25 22:15 ` [PATCH v3 3/3] drm/panel-simple: add Gopher 2b LCD panel Artjom Vejsel
  2021-07-25 23:07   ` Paul Cercueil
@ 2021-07-26  9:02   ` Paul Cercueil
  2021-07-26 11:11     ` Artjom Vejsel
  1 sibling, 1 reply; 11+ messages in thread
From: Paul Cercueil @ 2021-07-26  9:02 UTC (permalink / raw)
  To: Artjom Vejsel
  Cc: thierry.reding, sam, dri-devel, robh+dt, devicetree, linux-kernel

Hi Artjom,

Le lun., juil. 26 2021 at 01:15:27 +0300, Artjom Vejsel 
<akawolf0@gmail.com> a écrit :
> 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

 From what I gathered the Gopher2's LCD panel is the exact same that is 
inside the RS-07 handheld. According to the teardown (in [1]), the 
RS-07 panel is a Amelin AML043056B0-40 (see [2]).

Could you verify that? According to the photos, the product code is 
written on the flexible connector.

If that's the case, instead of using the 
"qishenglong,gopher2b-lcd-panel" compatible string, could you use 
"amelin,aml043056b0-40"?

Cheers,
-Paul

[1]: https://steward-fu.github.io/website/handheld/rs07/teardown.htm
[2]: http://www.amelin.com.cn/en/h-pd-355.html

> 
> Signed-off-by: Artjom Vejsel <akawolf0@gmail.com>
> ---
>  drivers/gpu/drm/panel/panel-simple.c | 43 
> ++++++++++++++++++++++++++++
>  1 file changed, 43 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c 
> b/drivers/gpu/drm/panel/panel-simple.c
> index 9b286bd4444f..6b69c0c70814 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -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_panel_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_panel = {
> +	.modes = qishenglong_gopher2b_lcd_panel_modes,
> +	.num_modes = ARRAY_SIZE(qishenglong_gopher2b_lcd_panel_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-panel",
> +		.data = &qishenglong_gopher2b_lcd_panel,
>  	}, {
>  		.compatible = "rocktech,rk070er9427",
>  		.data = &rocktech_rk070er9427,
> --
> 2.32.0
> 



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 3/3] drm/panel-simple: add Gopher 2b LCD panel
  2021-07-26  9:02   ` Paul Cercueil
@ 2021-07-26 11:11     ` Artjom Vejsel
  0 siblings, 0 replies; 11+ messages in thread
From: Artjom Vejsel @ 2021-07-26 11:11 UTC (permalink / raw)
  To: Paul Cercueil
  Cc: thierry.reding, sam, dri-devel, robh+dt, devicetree, linux-kernel

Hello, Paul!


Thanks for your investigation.

But while this two panels are compatible with the timing set in the 
driver, their timing ranges are different ([1], [2]) and therefore 
should have different compatible strings.


[1]: https://wendangmao.net/doc/753b5635102de2bd960588e2-51.html

[2]: https://www.newhavendisplay.com/appnotes/datasheets/LCDs/ST7282.pdf


Artjom.

On 26/07/2021 12.02, Paul Cercueil wrote:
> Hi Artjom,
>
> Le lun., juil. 26 2021 at 01:15:27 +0300, Artjom Vejsel 
> <akawolf0@gmail.com> a écrit :
>> 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
>
> From what I gathered the Gopher2's LCD panel is the exact same that is 
> inside the RS-07 handheld. According to the teardown (in [1]), the 
> RS-07 panel is a Amelin AML043056B0-40 (see [2]).
>
> Could you verify that? According to the photos, the product code is 
> written on the flexible connector.
>
> If that's the case, instead of using the 
> "qishenglong,gopher2b-lcd-panel" compatible string, could you use 
> "amelin,aml043056b0-40"?
>
> Cheers,
> -Paul
>
> [1]: https://steward-fu.github.io/website/handheld/rs07/teardown.htm
> [2]: http://www.amelin.com.cn/en/h-pd-355.html
>
>>
>> Signed-off-by: Artjom Vejsel <akawolf0@gmail.com>
>> ---
>>  drivers/gpu/drm/panel/panel-simple.c | 43 ++++++++++++++++++++++++++++
>>  1 file changed, 43 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/panel/panel-simple.c 
>> b/drivers/gpu/drm/panel/panel-simple.c
>> index 9b286bd4444f..6b69c0c70814 100644
>> --- a/drivers/gpu/drm/panel/panel-simple.c
>> +++ b/drivers/gpu/drm/panel/panel-simple.c
>> @@ -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_panel_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_panel = {
>> +    .modes = qishenglong_gopher2b_lcd_panel_modes,
>> +    .num_modes = ARRAY_SIZE(qishenglong_gopher2b_lcd_panel_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-panel",
>> +        .data = &qishenglong_gopher2b_lcd_panel,
>>      }, {
>>          .compatible = "rocktech,rk070er9427",
>>          .data = &rocktech_rk070er9427,
>> -- 
>> 2.32.0
>>
>
>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 1/3] dt-bindings: Add QiShenglong vendor prefix
  2021-07-25 22:15 ` [PATCH v3 1/3] dt-bindings: Add QiShenglong vendor prefix Artjom Vejsel
  2021-07-25 23:06   ` Paul Cercueil
@ 2021-07-26 22:49   ` Rob Herring
  1 sibling, 0 replies; 11+ messages in thread
From: Rob Herring @ 2021-07-26 22:49 UTC (permalink / raw)
  To: Artjom Vejsel
  Cc: devicetree, thierry.reding, paul, sam, linux-kernel, robh+dt, dri-devel

On Mon, 26 Jul 2021 01:15:25 +0300, Artjom Vejsel wrote:
> 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.
> 
> Signed-off-by: Artjom Vejsel <akawolf0@gmail.com>
> ---
>  Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 

Acked-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 2/3] dt-bindings: Add DT bindings for QiShenglong Gopher 2b panel
  2021-07-25 22:15 ` [PATCH v3 2/3] dt-bindings: Add DT bindings for QiShenglong Gopher 2b panel Artjom Vejsel
  2021-07-25 23:06   ` Paul Cercueil
@ 2021-07-26 22:51   ` Rob Herring
  1 sibling, 0 replies; 11+ messages in thread
From: Rob Herring @ 2021-07-26 22:51 UTC (permalink / raw)
  To: Artjom Vejsel
  Cc: thierry.reding, sam, dri-devel, devicetree, linux-kernel, paul

On Mon, Jul 26, 2021 at 01:15:26AM +0300, Artjom Vejsel wrote:
> Add DT bindings for QiShenglong Gopher 2b 4.3" 480(RGB)x272 TFT LCD panel.
> 
> Signed-off-by: Artjom Vejsel <akawolf0@gmail.com>
> ---
>  .../devicetree/bindings/display/panel/panel-simple.yaml         | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> index 3624363938dd..e7f3db118c5d 100644
> --- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> @@ -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-panel

Does 'gopher2b' refer to anything besides this panel? If not, then 
'-lcd-panel' is redundant. Otherwise, '-panel' is redundant. Every LCD 
is a panel.

>          # Rocktech Displays Ltd. RK101II01D-CT 10.1" TFT 1280x800
>        - rocktech,rk101ii01d-ct
>          # Rocktech Display Ltd. RK070ER9427 800(RGB)x480 TFT LCD panel
> -- 
> 2.32.0
> 
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2021-07-26 22:51 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-25 22:15 [PATCH v3 0/3] add Gopher 2b LCD panel Artjom Vejsel
2021-07-25 22:15 ` [PATCH v3 1/3] dt-bindings: Add QiShenglong vendor prefix Artjom Vejsel
2021-07-25 23:06   ` Paul Cercueil
2021-07-26 22:49   ` Rob Herring
2021-07-25 22:15 ` [PATCH v3 2/3] dt-bindings: Add DT bindings for QiShenglong Gopher 2b panel Artjom Vejsel
2021-07-25 23:06   ` Paul Cercueil
2021-07-26 22:51   ` Rob Herring
2021-07-25 22:15 ` [PATCH v3 3/3] drm/panel-simple: add Gopher 2b LCD panel Artjom Vejsel
2021-07-25 23:07   ` Paul Cercueil
2021-07-26  9:02   ` Paul Cercueil
2021-07-26 11:11     ` Artjom Vejsel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).