diff mbox

display: panel: Add Tianma tm070rvhg71 display support (800x480)

Message ID 1508537403-878-1-git-send-email-lukma@denx.de (mailing list archive)
State New, archived
Headers show

Commit Message

Lukasz Majewski Oct. 20, 2017, 10:10 p.m. UTC
Signed-off-by: Lukasz Majewski <lukma@denx.de>
---
 .../bindings/display/panel/tianma,tm070rvhg71.txt  |  7 ++++++
 drivers/gpu/drm/panel/panel-simple.c               | 27 ++++++++++++++++++++++
 2 files changed, 34 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt

Comments

Rob Herring (Arm) Oct. 27, 2017, 3:13 a.m. UTC | #1
On Sat, Oct 21, 2017 at 12:10:03AM +0200, Lukasz Majewski wrote:
> Signed-off-by: Lukasz Majewski <lukma@denx.de>
> ---
>  .../bindings/display/panel/tianma,tm070rvhg71.txt  |  7 ++++++
>  drivers/gpu/drm/panel/panel-simple.c               | 27 ++++++++++++++++++++++
>  2 files changed, 34 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt
> 
> 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 0000000..b84217f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt
> @@ -0,0 +1,7 @@
> +Tianma Micro-electronics TM070RVHG71 7.0" WXGA TFT LCD panel
> +
> +Required properties:
> +- compatible: should be "tianma,tm070rvhg71
> +
> +This binding is compatible with the simple-panel binding, which is specified
> +in simple-panel.txt in this directory.

No supplies? Still need to list power-supply here if so, so it is clear 
that this display has a single supply (or you need to list multiple ones 
if not).

Rob
Lukasz Majewski Oct. 27, 2017, 8:18 a.m. UTC | #2
Hi Rob,

> On Sat, Oct 21, 2017 at 12:10:03AM +0200, Lukasz Majewski wrote:
> > Signed-off-by: Lukasz Majewski <lukma@denx.de>
> > ---
> >  .../bindings/display/panel/tianma,tm070rvhg71.txt  |  7 ++++++
> >  drivers/gpu/drm/panel/panel-simple.c               | 27
> > ++++++++++++++++++++++ 2 files changed, 34 insertions(+)
> >  create mode 100644
> > Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt
> > 
> > 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 0000000..b84217f --- /dev/null
> > +++
> > b/Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt
> > @@ -0,0 +1,7 @@ +Tianma Micro-electronics TM070RVHG71 7.0" WXGA TFT
> > LCD panel +
> > +Required properties:
> > +- compatible: should be "tianma,tm070rvhg71
> > +
> > +This binding is compatible with the simple-panel binding, which is
> > specified +in simple-panel.txt in this directory.
> 
> No supplies? Still need to list power-supply here if so, so it is
> clear that this display has a single supply (or you need to list
> multiple ones if not).

I took the same approach as several other simple panels having
description in Documentation/devicetree/bindings/display/panel/*
directory (e.g. innolux,g121i1-l01.txt) .

In the description it is stated that this binding is compatible with
one documented in the simple-panel.txt, which defines following
properties:

Required properties:
- power-supply: regulator to provide the supply voltage

Optional properties:
- ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
- enable-gpios: GPIO pin to enable or disable the panel
- backlight: phandle of the backlight device attached to the panel


Do I need to do something more?

> 
> Rob


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. 5, 2017, 10:19 p.m. UTC | #3
Hi Rob,

> Hi Rob,
> 
> > On Sat, Oct 21, 2017 at 12:10:03AM +0200, Lukasz Majewski wrote:  
> > > Signed-off-by: Lukasz Majewski <lukma@denx.de>
> > > ---
> > >  .../bindings/display/panel/tianma,tm070rvhg71.txt  |  7 ++++++
> > >  drivers/gpu/drm/panel/panel-simple.c               | 27
> > > ++++++++++++++++++++++ 2 files changed, 34 insertions(+)
> > >  create mode 100644
> > > Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt
> > > 
> > > 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 0000000..b84217f --- /dev/null
> > > +++
> > > b/Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt
> > > @@ -0,0 +1,7 @@ +Tianma Micro-electronics TM070RVHG71 7.0" WXGA
> > > TFT LCD panel +
> > > +Required properties:
> > > +- compatible: should be "tianma,tm070rvhg71
> > > +
> > > +This binding is compatible with the simple-panel binding, which
> > > is specified +in simple-panel.txt in this directory.  
> > 
> > No supplies? Still need to list power-supply here if so, so it is
> > clear that this display has a single supply (or you need to list
> > multiple ones if not).  
> 
> I took the same approach as several other simple panels having
> description in Documentation/devicetree/bindings/display/panel/*
> directory (e.g. innolux,g121i1-l01.txt) .
> 
> In the description it is stated that this binding is compatible with
> one documented in the simple-panel.txt, which defines following
> properties:
> 
> Required properties:
> - power-supply: regulator to provide the supply voltage
> 
> Optional properties:
> - ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
> - enable-gpios: GPIO pin to enable or disable the panel
> - backlight: phandle of the backlight device attached to the panel
> 
> 
> Do I need to do something more?

Gentle ping...

> 
> > 
> > Rob  
> 
> 
> 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


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
Rob Herring (Arm) Nov. 6, 2017, 2:30 p.m. UTC | #4
On Fri, Oct 27, 2017 at 3:18 AM, Lukasz Majewski <lukma@denx.de> wrote:
> Hi Rob,
>
>> On Sat, Oct 21, 2017 at 12:10:03AM +0200, Lukasz Majewski wrote:
>> > Signed-off-by: Lukasz Majewski <lukma@denx.de>
>> > ---
>> >  .../bindings/display/panel/tianma,tm070rvhg71.txt  |  7 ++++++
>> >  drivers/gpu/drm/panel/panel-simple.c               | 27
>> > ++++++++++++++++++++++ 2 files changed, 34 insertions(+)
>> >  create mode 100644
>> > Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt
>> >
>> > 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 0000000..b84217f --- /dev/null
>> > +++
>> > b/Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt
>> > @@ -0,0 +1,7 @@ +Tianma Micro-electronics TM070RVHG71 7.0" WXGA TFT
>> > LCD panel +
>> > +Required properties:
>> > +- compatible: should be "tianma,tm070rvhg71
>> > +
>> > +This binding is compatible with the simple-panel binding, which is
>> > specified +in simple-panel.txt in this directory.
>>
>> No supplies? Still need to list power-supply here if so, so it is
>> clear that this display has a single supply (or you need to list
>> multiple ones if not).
>
> I took the same approach as several other simple panels having
> description in Documentation/devicetree/bindings/display/panel/*
> directory (e.g. innolux,g121i1-l01.txt) .
>
> In the description it is stated that this binding is compatible with
> one documented in the simple-panel.txt, which defines following
> properties:
>
> Required properties:
> - power-supply: regulator to provide the supply voltage
>
> Optional properties:
> - ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
> - enable-gpios: GPIO pin to enable or disable the panel
> - backlight: phandle of the backlight device attached to the panel
>
>
> Do I need to do something more?

Yes. How do I know this panel has a single power supply vs. it has
multiple supplies and you haven't thought about supplies yet or they
aren't s/w controlled on some boards. The latter is frequently the
case when I go read the datasheets.

And yes there are examples that don't do this, but we're stricter now.

Rob
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 0000000..b84217f
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/tianma,tm070rvhg71.txt
@@ -0,0 +1,7 @@ 
+Tianma Micro-electronics TM070RVHG71 7.0" WXGA TFT LCD panel
+
+Required properties:
+- compatible: should be "tianma,tm070rvhg71
+
+This binding is compatible with the simple-panel binding, which is specified
+in simple-panel.txt in this directory.
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 3d2cb8b..07188dc 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,
 	}, {