devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] drm/panel: simple: add Tianma P0700WXF1MBAA and improve Tianma TM070JDHG34-00
@ 2025-04-07 16:33 Luca Ceresoli
  2025-04-07 16:33 ` [PATCH v2 1/3] dt-bindings: display: simple: Add Tianma P0700WXF1MBAA panel Luca Ceresoli
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Luca Ceresoli @ 2025-04-07 16:33 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, David Airlie, Simona Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg
  Cc: Thomas Petazzoni, Pu, Hui, dri-devel, devicetree, linux-kernel,
	Luca Ceresoli, Conor Dooley

This short series adds power on/off timings to the Tianma TM070JDHG34-00
panel and adds support for the the Tianma P0700WXF1MBAA panel.

Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
Changes in v2:
- Rebased on current drm-misc-next
- Added Conor's R-by on the bindings
- Link to v1: https://lore.kernel.org/r/20250307-tianma-p0700wxf1mbaa-v1-0-1c31039a3790@bootlin.com

---
Luca Ceresoli (3):
      dt-bindings: display: simple: Add Tianma P0700WXF1MBAA panel
      drm/panel: simple: Tianma TM070JDHG34-00: add delays
      drm/panel: simple: add Tianma P0700WXF1MBAA panel

 .../bindings/display/panel/panel-simple.yaml       |  2 ++
 drivers/gpu/drm/panel/panel-simple.c               | 39 +++++++++++++++++++---
 2 files changed, 37 insertions(+), 4 deletions(-)
---
base-commit: fbe43810d563a293e3de301141d33caf1f5d5c5a
change-id: 20250307-tianma-p0700wxf1mbaa-056be88fdef9

Best regards,
-- 
Luca Ceresoli <luca.ceresoli@bootlin.com>


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

* [PATCH v2 1/3] dt-bindings: display: simple: Add Tianma P0700WXF1MBAA panel
  2025-04-07 16:33 [PATCH v2 0/3] drm/panel: simple: add Tianma P0700WXF1MBAA and improve Tianma TM070JDHG34-00 Luca Ceresoli
@ 2025-04-07 16:33 ` Luca Ceresoli
  2025-04-07 16:34 ` [PATCH v2 2/3] drm/panel: simple: Tianma TM070JDHG34-00: add delays Luca Ceresoli
  2025-04-07 16:34 ` [PATCH v2 3/3] drm/panel: simple: add Tianma P0700WXF1MBAA panel Luca Ceresoli
  2 siblings, 0 replies; 7+ messages in thread
From: Luca Ceresoli @ 2025-04-07 16:33 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, David Airlie, Simona Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg
  Cc: Thomas Petazzoni, Pu, Hui, dri-devel, devicetree, linux-kernel,
	Luca Ceresoli, Conor Dooley

Add the Tianma Micro-electronics P0700WXF1MBAA 7.0" LVDS LCD TFT panel.

Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
 Documentation/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 b5c8eb4fa2d166d0c3c33cdc8bae35853dba2223..1b593e092e3196da4a1ca11fe08f5c2e0e87854f 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
+++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
@@ -286,6 +286,8 @@ properties:
       - startek,kd070wvfpa
         # Team Source Display Technology TST043015CMHX 4.3" WQVGA TFT LCD panel
       - team-source-display,tst043015cmhx
+        # Tianma Micro-electronics P0700WXF1MBAA 7.0" WXGA (1280x800) LVDS TFT LCD panel
+      - tianma,p0700wxf1mbaa
         # Tianma Micro-electronics TM070JDHG30 7.0" WXGA TFT LCD panel
       - tianma,tm070jdhg30
         # Tianma Micro-electronics TM070JDHG34-00 7.0" WXGA (1280x800) LVDS TFT LCD panel

-- 
2.49.0


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

* [PATCH v2 2/3] drm/panel: simple: Tianma TM070JDHG34-00: add delays
  2025-04-07 16:33 [PATCH v2 0/3] drm/panel: simple: add Tianma P0700WXF1MBAA and improve Tianma TM070JDHG34-00 Luca Ceresoli
  2025-04-07 16:33 ` [PATCH v2 1/3] dt-bindings: display: simple: Add Tianma P0700WXF1MBAA panel Luca Ceresoli
@ 2025-04-07 16:34 ` Luca Ceresoli
  2025-04-08 12:52   ` Dmitry Baryshkov
  2025-04-07 16:34 ` [PATCH v2 3/3] drm/panel: simple: add Tianma P0700WXF1MBAA panel Luca Ceresoli
  2 siblings, 1 reply; 7+ messages in thread
From: Luca Ceresoli @ 2025-04-07 16:34 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, David Airlie, Simona Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg
  Cc: Thomas Petazzoni, Pu, Hui, dri-devel, devicetree, linux-kernel,
	Luca Ceresoli

Add power on/off delays for the Tianma TM070JDHG34-00.

Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
 drivers/gpu/drm/panel/panel-simple.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index df718c4a86cb7dc0cd126e807d33306e5a21d8a0..3496ed3e62056938ccc0ed2389ea46eed8d17ea2 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -4452,6 +4452,12 @@ static const struct panel_desc tianma_tm070jdhg34_00 = {
 		.width = 150, /* 149.76 */
 		.height = 94, /* 93.60 */
 	},
+	.delay = {
+		.prepare = 18,		/* Tr + Tp1 */
+		.enable = 150,		/* Tp2 */
+		.disable = 150,		/* Tp4 */
+		.unprepare = 120,	/* Tp3 */
+	},
 	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
 	.connector_type = DRM_MODE_CONNECTOR_LVDS,
 };

-- 
2.49.0


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

* [PATCH v2 3/3] drm/panel: simple: add Tianma P0700WXF1MBAA panel
  2025-04-07 16:33 [PATCH v2 0/3] drm/panel: simple: add Tianma P0700WXF1MBAA and improve Tianma TM070JDHG34-00 Luca Ceresoli
  2025-04-07 16:33 ` [PATCH v2 1/3] dt-bindings: display: simple: Add Tianma P0700WXF1MBAA panel Luca Ceresoli
  2025-04-07 16:34 ` [PATCH v2 2/3] drm/panel: simple: Tianma TM070JDHG34-00: add delays Luca Ceresoli
@ 2025-04-07 16:34 ` Luca Ceresoli
  2025-04-08 12:52   ` Dmitry Baryshkov
  2 siblings, 1 reply; 7+ messages in thread
From: Luca Ceresoli @ 2025-04-07 16:34 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, David Airlie, Simona Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg
  Cc: Thomas Petazzoni, Pu, Hui, dri-devel, devicetree, linux-kernel,
	Luca Ceresoli

Add the Tianma P0700WXF1MBAA 7" 1280x800 LVDS RGB TFT LCD panel.

Reuse the timings of the TM070JDHG34-00 as they are identical, even though
they are described differently by the datasheet as noted in the
comment. Power up/down timing are slightly different, so add a new struct
panel_desc for that.

Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
 drivers/gpu/drm/panel/panel-simple.c | 33 +++++++++++++++++++++++++++++----
 1 file changed, 29 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 3496ed3e62056938ccc0ed2389ea46eed8d17ea2..0bc20547fc3b3b7164e7f5743d30332c479414b5 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -4418,10 +4418,10 @@ static const struct panel_desc tianma_tm070jvhg33 = {
 };
 
 /*
- * The datasheet computes total blanking as back porch + front porch, not
- * including sync pulse width. This is for both H and V. To make the total
- * blanking and period correct, subtract the pulse width from the front
- * porch.
+ * The TM070JDHG34-00 datasheet computes total blanking as back porch +
+ * front porch, not including sync pulse width. This is for both H and
+ * V. To make the total blanking and period correct, subtract the pulse
+ * width from the front porch.
  *
  * This works well for the Min and Typ values, but for Max values the sync
  * pulse width is higher than back porch + front porch, so work around that
@@ -4430,6 +4430,10 @@ static const struct panel_desc tianma_tm070jvhg33 = {
  *
  * Exact datasheet values are added as a comment where they differ from the
  * ones implemented for the above reason.
+ *
+ * The P0700WXF1MBAA datasheet is even less detailed, only listing period
+ * and total blanking time, however the resulting values are the same as
+ * the TM070JDHG34-00.
  */
 static const struct display_timing tianma_tm070jdhg34_00_timing = {
 	.pixelclock = { 68400000, 71900000, 78100000 },
@@ -4462,6 +4466,24 @@ static const struct panel_desc tianma_tm070jdhg34_00 = {
 	.connector_type = DRM_MODE_CONNECTOR_LVDS,
 };
 
+static const struct panel_desc tianma_p0700wxf1mbaa = {
+	.timings = &tianma_tm070jdhg34_00_timing,
+	.num_timings = 1,
+	.bpc = 8,
+	.size = {
+		.width = 150, /* 149.76 */
+		.height = 94, /* 93.60 */
+	},
+	.delay = {
+		.prepare = 18,		/* Tr + Tp1 */
+		.enable = 152,		/* Tp2 + Tp5 */
+		.disable = 152,		/* Tp6 + Tp4 */
+		.unprepare = 120,	/* Tp3 */
+	},
+	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
+	.connector_type = DRM_MODE_CONNECTOR_LVDS,
+};
+
 static const struct display_timing tianma_tm070rvhg71_timing = {
 	.pixelclock = { 27700000, 29200000, 39600000 },
 	.hactive = { 800, 800, 800 },
@@ -5247,6 +5269,9 @@ static const struct of_device_id platform_of_match[] = {
 	}, {
 		.compatible = "tfc,s9700rtwv43tr-01b",
 		.data = &tfc_s9700rtwv43tr_01b,
+	}, {
+		.compatible = "tianma,p0700wxf1mbaa",
+		.data = &tianma_p0700wxf1mbaa,
 	}, {
 		.compatible = "tianma,tm070jdhg30",
 		.data = &tianma_tm070jdhg30,

-- 
2.49.0


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

* Re: [PATCH v2 2/3] drm/panel: simple: Tianma TM070JDHG34-00: add delays
  2025-04-07 16:34 ` [PATCH v2 2/3] drm/panel: simple: Tianma TM070JDHG34-00: add delays Luca Ceresoli
@ 2025-04-08 12:52   ` Dmitry Baryshkov
  2025-04-08 15:29     ` Luca Ceresoli
  0 siblings, 1 reply; 7+ messages in thread
From: Dmitry Baryshkov @ 2025-04-08 12:52 UTC (permalink / raw)
  To: Luca Ceresoli
  Cc: Neil Armstrong, Jessica Zhang, David Airlie, Simona Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
	Thomas Petazzoni, Pu, Hui, dri-devel, devicetree, linux-kernel

On Mon, Apr 07, 2025 at 06:34:00PM +0200, Luca Ceresoli wrote:
> Add power on/off delays for the Tianma TM070JDHG34-00.
> 
> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
> ---
>  drivers/gpu/drm/panel/panel-simple.c | 6 ++++++
>  1 file changed, 6 insertions(+)

Fixes: bf6daaa281f7 ("drm/panel: simple: Add Tianma TM070JDHG34-00 panel support")

> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index df718c4a86cb7dc0cd126e807d33306e5a21d8a0..3496ed3e62056938ccc0ed2389ea46eed8d17ea2 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -4452,6 +4452,12 @@ static const struct panel_desc tianma_tm070jdhg34_00 = {
>  		.width = 150, /* 149.76 */
>  		.height = 94, /* 93.60 */
>  	},
> +	.delay = {
> +		.prepare = 18,		/* Tr + Tp1 */

I think this should be 15, Tr is handled by the regulator, so no need to
handled it in the panel driver.

> +		.enable = 150,		/* Tp2 */
> +		.disable = 150,		/* Tp4 */
> +		.unprepare = 120,	/* Tp3 */
> +	},
>  	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
>  	.connector_type = DRM_MODE_CONNECTOR_LVDS,
>  };
> 
> -- 
> 2.49.0
> 

-- 
With best wishes
Dmitry

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

* Re: [PATCH v2 3/3] drm/panel: simple: add Tianma P0700WXF1MBAA panel
  2025-04-07 16:34 ` [PATCH v2 3/3] drm/panel: simple: add Tianma P0700WXF1MBAA panel Luca Ceresoli
@ 2025-04-08 12:52   ` Dmitry Baryshkov
  0 siblings, 0 replies; 7+ messages in thread
From: Dmitry Baryshkov @ 2025-04-08 12:52 UTC (permalink / raw)
  To: Luca Ceresoli
  Cc: Neil Armstrong, Jessica Zhang, David Airlie, Simona Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
	Thomas Petazzoni, Pu, Hui, dri-devel, devicetree, linux-kernel

On Mon, Apr 07, 2025 at 06:34:01PM +0200, Luca Ceresoli wrote:
> Add the Tianma P0700WXF1MBAA 7" 1280x800 LVDS RGB TFT LCD panel.
> 
> Reuse the timings of the TM070JDHG34-00 as they are identical, even though
> they are described differently by the datasheet as noted in the
> comment. Power up/down timing are slightly different, so add a new struct
> panel_desc for that.
> 
> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
> ---
>  drivers/gpu/drm/panel/panel-simple.c | 33 +++++++++++++++++++++++++++++----
>  1 file changed, 29 insertions(+), 4 deletions(-)
> 

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> 

-- 
With best wishes
Dmitry

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

* Re: [PATCH v2 2/3] drm/panel: simple: Tianma TM070JDHG34-00: add delays
  2025-04-08 12:52   ` Dmitry Baryshkov
@ 2025-04-08 15:29     ` Luca Ceresoli
  0 siblings, 0 replies; 7+ messages in thread
From: Luca Ceresoli @ 2025-04-08 15:29 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Neil Armstrong, Jessica Zhang, David Airlie, Simona Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
	Thomas Petazzoni, Pu, Hui, dri-devel, devicetree, linux-kernel

Hi Dmitry,

Thanks for reviewing.

On Tue, 8 Apr 2025 15:52:19 +0300
Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> wrote:

> On Mon, Apr 07, 2025 at 06:34:00PM +0200, Luca Ceresoli wrote:
> > Add power on/off delays for the Tianma TM070JDHG34-00.
> > 
> > Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
> > ---
> >  drivers/gpu/drm/panel/panel-simple.c | 6 ++++++
> >  1 file changed, 6 insertions(+)  
> 
> Fixes: bf6daaa281f7 ("drm/panel: simple: Add Tianma TM070JDHG34-00 panel support")
> 
> > 
> > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> > index df718c4a86cb7dc0cd126e807d33306e5a21d8a0..3496ed3e62056938ccc0ed2389ea46eed8d17ea2 100644
> > --- a/drivers/gpu/drm/panel/panel-simple.c
> > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > @@ -4452,6 +4452,12 @@ static const struct panel_desc tianma_tm070jdhg34_00 = {
> >  		.width = 150, /* 149.76 */
> >  		.height = 94, /* 93.60 */
> >  	},
> > +	.delay = {
> > +		.prepare = 18,		/* Tr + Tp1 */  
> 
> I think this should be 15, Tr is handled by the regulator, so no need to
> handled it in the panel driver.

Hm, I think you are right.

I'm applying both changes but I'll wait a few days before sending v3,
in case of further feedback.

Luca

-- 
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

end of thread, other threads:[~2025-04-08 15:29 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-07 16:33 [PATCH v2 0/3] drm/panel: simple: add Tianma P0700WXF1MBAA and improve Tianma TM070JDHG34-00 Luca Ceresoli
2025-04-07 16:33 ` [PATCH v2 1/3] dt-bindings: display: simple: Add Tianma P0700WXF1MBAA panel Luca Ceresoli
2025-04-07 16:34 ` [PATCH v2 2/3] drm/panel: simple: Tianma TM070JDHG34-00: add delays Luca Ceresoli
2025-04-08 12:52   ` Dmitry Baryshkov
2025-04-08 15:29     ` Luca Ceresoli
2025-04-07 16:34 ` [PATCH v2 3/3] drm/panel: simple: add Tianma P0700WXF1MBAA panel Luca Ceresoli
2025-04-08 12:52   ` Dmitry Baryshkov

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