diff mbox

[v2] display: panel: Add Tianma tm070rvhg71 display support (800x480)

Message ID 20171107153058.5554-1-lukma@denx.de (mailing list archive)
State New, archived
Headers show

Commit Message

Lukasz Majewski Nov. 7, 2017, 3:30 p.m. UTC
Signed-off-by: Lukasz Majewski <lukma@denx.de>

---
Changes for v2:
- Provide more detailed ./Documentation/devicetree/bindings/display/panel
  entry to describe this panel device.
---
 .../bindings/display/panel/tianma,tm070rvhg71.txt  | 29 ++++++++++++++++++++++
 drivers/gpu/drm/panel/panel-simple.c               | 27 ++++++++++++++++++++
 2 files changed, 56 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt

Comments

Rob Herring Nov. 10, 2017, 9:24 p.m. UTC | #1
On Tue, Nov 07, 2017 at 04:30:58PM +0100, Lukasz Majewski wrote:
> Signed-off-by: Lukasz Majewski <lukma@denx.de>
> 
> ---
> Changes for v2:
> - Provide more detailed ./Documentation/devicetree/bindings/display/panel
>   entry to describe this panel device.
> ---
>  .../bindings/display/panel/tianma,tm070rvhg71.txt  | 29 ++++++++++++++++++++++
>  drivers/gpu/drm/panel/panel-simple.c               | 27 ++++++++++++++++++++
>  2 files changed, 56 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt

Acked-by: Rob Herring <robh@kernel.org>
Lukasz Majewski Nov. 17, 2017, 10:02 a.m. UTC | #2
Dear All,

> On Tue, Nov 07, 2017 at 04:30:58PM +0100, Lukasz Majewski wrote:
> > Signed-off-by: Lukasz Majewski <lukma@denx.de>
> > 
> > ---
> > Changes for v2:
> > - Provide more
> > detailed ./Documentation/devicetree/bindings/display/panel entry to
> > describe this panel device. ---
> >  .../bindings/display/panel/tianma,tm070rvhg71.txt  | 29
> > ++++++++++++++++++++++
> > drivers/gpu/drm/panel/panel-simple.c               | 27
> > ++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode
> > 100644
> > Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt  
> 
> Acked-by: Rob Herring <robh@kernel.org>

Is there a chance that this patch will find its way to v4.15-rc1 ?

Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
Thierry Reding Nov. 17, 2017, 11:36 a.m. UTC | #3
On Tue, Nov 07, 2017 at 04:30:58PM +0100, Lukasz Majewski wrote:
> Signed-off-by: Lukasz Majewski <lukma@denx.de>
> 
> ---
> Changes for v2:
> - Provide more detailed ./Documentation/devicetree/bindings/display/panel
>   entry to describe this panel device.
> ---
>  .../bindings/display/panel/tianma,tm070rvhg71.txt  | 29 ++++++++++++++++++++++
>  drivers/gpu/drm/panel/panel-simple.c               | 27 ++++++++++++++++++++
>  2 files changed, 56 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt

I've applied this, though I had to make a few modifications. First, I
added a commit message. Commits should always have one.

Also, please send DT bindings and driver changes as separate patches in
the future.

Device tree bindings should have a subject prefixed with any of these:

	dt-bindings:
	dt-bindings: display:
	dt-bindings: display: panel:

Though the latter two are fairly long by themselves, so you don't have a
lot of room for the important bits.

Please also prefix the subject of panel driver patches with a:

	drm/panel:

Which makes it easier to identify relevant patches among loads and loads
of other email.

> 
> diff --git a/Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt b/Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt
> new file mode 100644
> index 000000000000..02562867444d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt
> @@ -0,0 +1,29 @@
> +Tianma Micro-electronics TM070RVHG71 7.0" WXGA TFT LCD panel
> +
> +Required properties:
> +- compatible: should be "tianma,tm070rvhg71

Added a missing " at the end here.

> +- power-supply: single regulator to provide the supply voltage
> +- backlight: phandle of the backlight device attached to the panel
> +
> +Required nodes:
> +- port: LVDS port mapping to connect this display
> +
> +This panel needs single power supply voltage. Its backlight is conntrolled
> +via PWM signal.
> +
> +Example:
> +--------
> +
> +Example device-tree definition when connected to iMX6Q based board
> +
> +	panel: panel-lvds0 {
> +		compatible = "tianma,tm070rvhg71";
> +		backlight = <&backlight_lvds>;
> +		power-supply = <&reg_lvds>;
> +
> +		port {
> +			panel_in_lvds0: endpoint {
> +				remote-endpoint = <&lvds0_out>;
> +			};
> +		};
> +	};
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index 3d2cb8bc4d94..07188dc084df 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -1831,6 +1831,30 @@ static const struct panel_desc tianma_tm070jdhg30 = {
>  	.bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG,
>  };
>  
> +static const struct display_timing tianma_tm070rvhg71_timing = {
> +	.pixelclock = { 27700000, 29200000, 39600000 },
> +	.hactive = { 800, 800, 800 },
> +	.hfront_porch = { 12, 40, 212 },
> +	.hback_porch = { 88, 88, 88 },
> +	.hsync_len = { 1, 1, 40 },
> +	.vactive = { 480, 480, 480 },
> +	.vfront_porch = { 1, 13, 88 },
> +	.vback_porch = { 32, 32, 32 },
> +	.vsync_len = { 1, 1, 3 },
> +	.flags = DISPLAY_FLAGS_DE_HIGH,
> +};
> +
> +static const struct panel_desc tianma_tm070rvhg71 = {
> +	.timings = &tianma_tm070rvhg71_timing,
> +	.num_timings = 1,
> +	.bpc = 8,
> +	.size = {
> +		.width = 154,
> +		.height = 86,
> +	},
> +	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
> +};
> +
>  static const struct drm_display_mode tpk_f07a_0102_mode = {
>  	.clock = 33260,
>  	.hdisplay = 800,
> @@ -2113,6 +2137,9 @@ static const struct of_device_id platform_of_match[] = {
>  		.compatible = "tianma,tm070jdhg30",
>  		.data = &tianma_tm070jdhg30,
>  	}, {
> +		.compatible = "tianma,tm070rvhg71",
> +		.data = &tianma_tm070rvhg71,
> +	}, {
>  		.compatible = "tpk,f07a-0102",
>  		.data = &tpk_f07a_0102,
>  	}, {

Looks like these are actually sorted correctly in your patch. However,
when applying these got added after the Toshiba panel that was recently
added, so I resorted again.

Thierry
Thierry Reding Nov. 17, 2017, 11:41 a.m. UTC | #4
On Fri, Nov 17, 2017 at 11:02:47AM +0100, Lukasz Majewski wrote:
> Dear All,
> 
> > On Tue, Nov 07, 2017 at 04:30:58PM +0100, Lukasz Majewski wrote:
> > > Signed-off-by: Lukasz Majewski <lukma@denx.de>
> > > 
> > > ---
> > > Changes for v2:
> > > - Provide more
> > > detailed ./Documentation/devicetree/bindings/display/panel entry to
> > > describe this panel device. ---
> > >  .../bindings/display/panel/tianma,tm070rvhg71.txt  | 29
> > > ++++++++++++++++++++++
> > > drivers/gpu/drm/panel/panel-simple.c               | 27
> > > ++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode
> > > 100644
> > > Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt  
> > 
> > Acked-by: Rob Herring <robh@kernel.org>
> 
> Is there a chance that this patch will find its way to v4.15-rc1 ?

No, that's very unlikely. We're in the middle of the merge window, no
new patches are accepted at that point.

If you want to make sure a patch goes into the next release, make sure
it is posted and reviewed at least a few days before -rc6 of the prior
release. -rc6 is a common cut-off point for subsystems (though not all)
in the kernel.

Thierry
Lukasz Majewski Nov. 17, 2017, 12:14 p.m. UTC | #5
Hi Thierry,

> On Tue, Nov 07, 2017 at 04:30:58PM +0100, Lukasz Majewski wrote:
> > Signed-off-by: Lukasz Majewski <lukma@denx.de>
> > 
> > ---
> > Changes for v2:
> > - Provide more
> > detailed ./Documentation/devicetree/bindings/display/panel entry to
> > describe this panel device. ---
> >  .../bindings/display/panel/tianma,tm070rvhg71.txt  | 29
> > ++++++++++++++++++++++
> > drivers/gpu/drm/panel/panel-simple.c               | 27
> > ++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode
> > 100644
> > Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt  
> 
> I've applied this, though I had to make a few modifications. 

Thanks :-)

> First, I
> added a commit message. Commits should always have one.
> 
> Also, please send DT bindings and driver changes as separate patches
> in the future.
> 
> Device tree bindings should have a subject prefixed with any of these:
> 
> 	dt-bindings:
> 	dt-bindings: display:
> 	dt-bindings: display: panel:
> 
> Though the latter two are fairly long by themselves, so you don't
> have a lot of room for the important bits.
> 
> Please also prefix the subject of panel driver patches with a:
> 
> 	drm/panel:
> 
> Which makes it easier to identify relevant patches among loads and
> loads of other email.

Ok. I see. Thanks for explanation.

> 
> > 
> > diff --git
> > a/Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt
> > b/Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt
> > new file mode 100644 index 000000000000..02562867444d --- /dev/null
> > +++
> > b/Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt
> > @@ -0,0 +1,29 @@ +Tianma Micro-electronics TM070RVHG71 7.0" WXGA
> > TFT LCD panel +
> > +Required properties:
> > +- compatible: should be "tianma,tm070rvhg71  
> 
> Added a missing " at the end here.

Ok.

> 
> > +- power-supply: single regulator to provide the supply voltage
> > +- backlight: phandle of the backlight device attached to the panel
> > +
> > +Required nodes:
> > +- port: LVDS port mapping to connect this display
> > +
> > +This panel needs single power supply voltage. Its backlight is
> > conntrolled +via PWM signal.
> > +
> > +Example:
> > +--------
> > +
> > +Example device-tree definition when connected to iMX6Q based board
> > +
> > +	panel: panel-lvds0 {
> > +		compatible = "tianma,tm070rvhg71";
> > +		backlight = <&backlight_lvds>;
> > +		power-supply = <&reg_lvds>;
> > +
> > +		port {
> > +			panel_in_lvds0: endpoint {
> > +				remote-endpoint = <&lvds0_out>;
> > +			};
> > +		};
> > +	};
> > diff --git a/drivers/gpu/drm/panel/panel-simple.c
> > b/drivers/gpu/drm/panel/panel-simple.c index
> > 3d2cb8bc4d94..07188dc084df 100644 ---
> > a/drivers/gpu/drm/panel/panel-simple.c +++
> > b/drivers/gpu/drm/panel/panel-simple.c @@ -1831,6 +1831,30 @@
> > static const struct panel_desc tianma_tm070jdhg30 = { .bus_format =
> > MEDIA_BUS_FMT_RGB666_1X7X3_SPWG, };
> >  
> > +static const struct display_timing tianma_tm070rvhg71_timing = {
> > +	.pixelclock = { 27700000, 29200000, 39600000 },
> > +	.hactive = { 800, 800, 800 },
> > +	.hfront_porch = { 12, 40, 212 },
> > +	.hback_porch = { 88, 88, 88 },
> > +	.hsync_len = { 1, 1, 40 },
> > +	.vactive = { 480, 480, 480 },
> > +	.vfront_porch = { 1, 13, 88 },
> > +	.vback_porch = { 32, 32, 32 },
> > +	.vsync_len = { 1, 1, 3 },
> > +	.flags = DISPLAY_FLAGS_DE_HIGH,
> > +};
> > +
> > +static const struct panel_desc tianma_tm070rvhg71 = {
> > +	.timings = &tianma_tm070rvhg71_timing,
> > +	.num_timings = 1,
> > +	.bpc = 8,
> > +	.size = {
> > +		.width = 154,
> > +		.height = 86,
> > +	},
> > +	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
> > +};
> > +
> >  static const struct drm_display_mode tpk_f07a_0102_mode = {
> >  	.clock = 33260,
> >  	.hdisplay = 800,
> > @@ -2113,6 +2137,9 @@ static const struct of_device_id
> > platform_of_match[] = { .compatible = "tianma,tm070jdhg30",
> >  		.data = &tianma_tm070jdhg30,
> >  	}, {
> > +		.compatible = "tianma,tm070rvhg71",
> > +		.data = &tianma_tm070rvhg71,
> > +	}, {
> >  		.compatible = "tpk,f07a-0102",
> >  		.data = &tpk_f07a_0102,
> >  	}, {  
> 
> Looks like these are actually sorted correctly in your patch. However,
> when applying these got added after the Toshiba panel that was
> recently added, so I resorted again.

Thanks one more time.

> 
> Thierry



Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
Lukasz Majewski Nov. 17, 2017, 12:17 p.m. UTC | #6
Hi Thierry,

> On Fri, Nov 17, 2017 at 11:02:47AM +0100, Lukasz Majewski wrote:
> > Dear All,
> >   
> > > On Tue, Nov 07, 2017 at 04:30:58PM +0100, Lukasz Majewski wrote:  
> > > > Signed-off-by: Lukasz Majewski <lukma@denx.de>
> > > > 
> > > > ---
> > > > Changes for v2:
> > > > - Provide more
> > > > detailed ./Documentation/devicetree/bindings/display/panel
> > > > entry to describe this panel device. ---
> > > >  .../bindings/display/panel/tianma,tm070rvhg71.txt  | 29
> > > > ++++++++++++++++++++++
> > > > drivers/gpu/drm/panel/panel-simple.c               | 27
> > > > ++++++++++++++++++++ 2 files changed, 56 insertions(+) create
> > > > mode 100644
> > > > Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt    
> > > 
> > > Acked-by: Rob Herring <robh@kernel.org>  
> > 
> > Is there a chance that this patch will find its way to v4.15-rc1 ?  
> 
> No, that's very unlikely. We're in the middle of the merge window, no
> new patches are accepted at that point.

Ok. I see. I should have sent the ping earlier.

> 
> If you want to make sure a patch goes into the next release, make sure
> it is posted and reviewed at least a few days before -rc6 of the prior
> release. -rc6 is a common cut-off point for subsystems (though not
> all) in the kernel.

Understood, thanks.

> 
> Thierry



Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
Thierry Reding Nov. 17, 2017, 12:27 p.m. UTC | #7
On Fri, Nov 17, 2017 at 01:17:12PM +0100, Lukasz Majewski wrote:
> Hi Thierry,
> 
> > On Fri, Nov 17, 2017 at 11:02:47AM +0100, Lukasz Majewski wrote:
> > > Dear All,
> > >   
> > > > On Tue, Nov 07, 2017 at 04:30:58PM +0100, Lukasz Majewski wrote:  
> > > > > Signed-off-by: Lukasz Majewski <lukma@denx.de>
> > > > > 
> > > > > ---
> > > > > Changes for v2:
> > > > > - Provide more
> > > > > detailed ./Documentation/devicetree/bindings/display/panel
> > > > > entry to describe this panel device. ---
> > > > >  .../bindings/display/panel/tianma,tm070rvhg71.txt  | 29
> > > > > ++++++++++++++++++++++
> > > > > drivers/gpu/drm/panel/panel-simple.c               | 27
> > > > > ++++++++++++++++++++ 2 files changed, 56 insertions(+) create
> > > > > mode 100644
> > > > > Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt    
> > > > 
> > > > Acked-by: Rob Herring <robh@kernel.org>  
> > > 
> > > Is there a chance that this patch will find its way to v4.15-rc1 ?  
> > 
> > No, that's very unlikely. We're in the middle of the merge window, no
> > new patches are accepted at that point.
> 
> Ok. I see. I should have sent the ping earlier.

Looking at the timeline of this patch even that wouldn't have been
enough. You sent the original patch on October 21, which is one day
after the final drm-misc feature pull request was tagged. So this
wouldn't have made it into v4.15-rc1 no matter how early you would
have pinged. =)

Thierry
Lukasz Majewski Nov. 17, 2017, 12:29 p.m. UTC | #8
On Fri, 17 Nov 2017 13:27:13 +0100
Thierry Reding <thierry.reding@gmail.com> wrote:

> On Fri, Nov 17, 2017 at 01:17:12PM +0100, Lukasz Majewski wrote:
> > Hi Thierry,
> >   
> > > On Fri, Nov 17, 2017 at 11:02:47AM +0100, Lukasz Majewski wrote:  
> > > > Dear All,
> > > >     
> > > > > On Tue, Nov 07, 2017 at 04:30:58PM +0100, Lukasz Majewski
> > > > > wrote:    
> > > > > > Signed-off-by: Lukasz Majewski <lukma@denx.de>
> > > > > > 
> > > > > > ---
> > > > > > Changes for v2:
> > > > > > - Provide more
> > > > > > detailed ./Documentation/devicetree/bindings/display/panel
> > > > > > entry to describe this panel device. ---
> > > > > >  .../bindings/display/panel/tianma,tm070rvhg71.txt  | 29
> > > > > > ++++++++++++++++++++++
> > > > > > drivers/gpu/drm/panel/panel-simple.c               | 27
> > > > > > ++++++++++++++++++++ 2 files changed, 56 insertions(+)
> > > > > > create mode 100644
> > > > > > Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt      
> > > > > 
> > > > > Acked-by: Rob Herring <robh@kernel.org>    
> > > > 
> > > > Is there a chance that this patch will find its way to
> > > > v4.15-rc1 ?    
> > > 
> > > No, that's very unlikely. We're in the middle of the merge
> > > window, no new patches are accepted at that point.  
> > 
> > Ok. I see. I should have sent the ping earlier.  
> 
> Looking at the timeline of this patch even that wouldn't have been
> enough. You sent the original patch on October 21, which is one day
> after the final drm-misc feature pull request was tagged. So this
> wouldn't have made it into v4.15-rc1 no matter how early you would
> have pinged. =)

Time's flying :-)

Anyway, thanks for help.

> 
> Thierry



Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt b/Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt
new file mode 100644
index 000000000000..02562867444d
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt
@@ -0,0 +1,29 @@ 
+Tianma Micro-electronics TM070RVHG71 7.0" WXGA TFT LCD panel
+
+Required properties:
+- compatible: should be "tianma,tm070rvhg71
+- power-supply: single regulator to provide the supply voltage
+- backlight: phandle of the backlight device attached to the panel
+
+Required nodes:
+- port: LVDS port mapping to connect this display
+
+This panel needs single power supply voltage. Its backlight is conntrolled
+via PWM signal.
+
+Example:
+--------
+
+Example device-tree definition when connected to iMX6Q based board
+
+	panel: panel-lvds0 {
+		compatible = "tianma,tm070rvhg71";
+		backlight = <&backlight_lvds>;
+		power-supply = <&reg_lvds>;
+
+		port {
+			panel_in_lvds0: endpoint {
+				remote-endpoint = <&lvds0_out>;
+			};
+		};
+	};
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 3d2cb8bc4d94..07188dc084df 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -1831,6 +1831,30 @@  static const struct panel_desc tianma_tm070jdhg30 = {
 	.bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG,
 };
 
+static const struct display_timing tianma_tm070rvhg71_timing = {
+	.pixelclock = { 27700000, 29200000, 39600000 },
+	.hactive = { 800, 800, 800 },
+	.hfront_porch = { 12, 40, 212 },
+	.hback_porch = { 88, 88, 88 },
+	.hsync_len = { 1, 1, 40 },
+	.vactive = { 480, 480, 480 },
+	.vfront_porch = { 1, 13, 88 },
+	.vback_porch = { 32, 32, 32 },
+	.vsync_len = { 1, 1, 3 },
+	.flags = DISPLAY_FLAGS_DE_HIGH,
+};
+
+static const struct panel_desc tianma_tm070rvhg71 = {
+	.timings = &tianma_tm070rvhg71_timing,
+	.num_timings = 1,
+	.bpc = 8,
+	.size = {
+		.width = 154,
+		.height = 86,
+	},
+	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
+};
+
 static const struct drm_display_mode tpk_f07a_0102_mode = {
 	.clock = 33260,
 	.hdisplay = 800,
@@ -2113,6 +2137,9 @@  static const struct of_device_id platform_of_match[] = {
 		.compatible = "tianma,tm070jdhg30",
 		.data = &tianma_tm070jdhg30,
 	}, {
+		.compatible = "tianma,tm070rvhg71",
+		.data = &tianma_tm070rvhg71,
+	}, {
 		.compatible = "tpk,f07a-0102",
 		.data = &tpk_f07a_0102,
 	}, {