diff mbox

[v2] drm/panel: simple: add support for Sharp LQ150X1LG11 panels

Message ID 1474104862-16957-1-git-send-email-peda@axentia.se (mailing list archive)
State New, archived
Headers show

Commit Message

Peter Rosin Sept. 17, 2016, 9:34 a.m. UTC
From: Gustaf Lindström <gl@axentia.se>

The Sharp 15" LQ150X1LG11 panel is an XGA TFT LCD panel.

Signed-off-by: Gustaf Lindström <gl@axentia.se>
Signed-off-by: Peter Rosin <peda@axentia.se>
---
 .../bindings/display/panel/sharp,lq150x1lg11.txt   |  7 ++++++
 drivers/gpu/drm/panel/panel-simple.c               | 27 ++++++++++++++++++++++
 2 files changed, 34 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.txt

v1->v2: correct author

Comments

Rob Herring Sept. 23, 2016, 5:39 p.m. UTC | #1
On Sat, Sep 17, 2016 at 11:34:22AM +0200, Peter Rosin wrote:
> From: Gustaf Lindström <gl@axentia.se>
> 
> The Sharp 15" LQ150X1LG11 panel is an XGA TFT LCD panel.
> 
> Signed-off-by: Gustaf Lindström <gl@axentia.se>
> Signed-off-by: Peter Rosin <peda@axentia.se>
> ---
>  .../bindings/display/panel/sharp,lq150x1lg11.txt   |  7 ++++++
>  drivers/gpu/drm/panel/panel-simple.c               | 27 ++++++++++++++++++++++
>  2 files changed, 34 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.txt
> 
> v1->v2: correct author
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.txt b/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.txt
> new file mode 100644
> index 000000000000..014428c984c8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.txt
> @@ -0,0 +1,7 @@
> +Sharp 15" LQ150X1LG11 XGA TFT LCD panel
> +
> +Required properties:
> +- compatible: should be "sharp,lq150x1lg11"

Looking at the spec, what about 12V VDD, 3.3V VCC, XSTABY (backlight 
ctrl), VBR (PWM), RL/UD, SELLVDS signals?

Rob
Peter Rosin Sept. 23, 2016, 9:39 p.m. UTC | #2
On 2016-09-23 19:39, Rob Herring wrote:
> On Sat, Sep 17, 2016 at 11:34:22AM +0200, Peter Rosin wrote:
>> From: Gustaf Lindström <gl@axentia.se>
>>
>> The Sharp 15" LQ150X1LG11 panel is an XGA TFT LCD panel.
>>
>> Signed-off-by: Gustaf Lindström <gl@axentia.se>
>> Signed-off-by: Peter Rosin <peda@axentia.se>
>> ---
>>  .../bindings/display/panel/sharp,lq150x1lg11.txt   |  7 ++++++
>>  drivers/gpu/drm/panel/panel-simple.c               | 27 ++++++++++++++++++++++
>>  2 files changed, 34 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.txt
>>
>> v1->v2: correct author
>>
>> diff --git a/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.txt b/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.txt
>> new file mode 100644
>> index 000000000000..014428c984c8
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.txt
>> @@ -0,0 +1,7 @@
>> +Sharp 15" LQ150X1LG11 XGA TFT LCD panel
>> +
>> +Required properties:
>> +- compatible: should be "sharp,lq150x1lg11"
> 
> Looking at the spec, what about 12V VDD, 3.3V VCC, XSTABY (backlight 
> ctrl), VBR (PWM), RL/UD, SELLVDS signals?

I guess you're saying that simple-panel isn't the best match? Is it
ok to make the DT bindings more complete but still leave it to the
simple-panel driver to support part of it? Or should we just give
up for the time being, and carry a local patch pending a custom
driver?

Cheers,
Peter
Rob Herring Sept. 23, 2016, 11:49 p.m. UTC | #3
On Fri, Sep 23, 2016 at 4:39 PM, Peter Rosin <peda@axentia.se> wrote:
> On 2016-09-23 19:39, Rob Herring wrote:
>> On Sat, Sep 17, 2016 at 11:34:22AM +0200, Peter Rosin wrote:
>>> From: Gustaf Lindström <gl@axentia.se>
>>>
>>> The Sharp 15" LQ150X1LG11 panel is an XGA TFT LCD panel.
>>>
>>> Signed-off-by: Gustaf Lindström <gl@axentia.se>
>>> Signed-off-by: Peter Rosin <peda@axentia.se>
>>> ---
>>>  .../bindings/display/panel/sharp,lq150x1lg11.txt   |  7 ++++++
>>>  drivers/gpu/drm/panel/panel-simple.c               | 27 ++++++++++++++++++++++
>>>  2 files changed, 34 insertions(+)
>>>  create mode 100644 Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.txt
>>>
>>> v1->v2: correct author
>>>
>>> diff --git a/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.txt b/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.txt
>>> new file mode 100644
>>> index 000000000000..014428c984c8
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.txt
>>> @@ -0,0 +1,7 @@
>>> +Sharp 15" LQ150X1LG11 XGA TFT LCD panel
>>> +
>>> +Required properties:
>>> +- compatible: should be "sharp,lq150x1lg11"
>>
>> Looking at the spec, what about 12V VDD, 3.3V VCC, XSTABY (backlight
>> ctrl), VBR (PWM), RL/UD, SELLVDS signals?
>
> I guess you're saying that simple-panel isn't the best match?

No, I'm only saying the h/w description should be complete.

> Is it
> ok to make the DT bindings more complete but still leave it to the
> simple-panel driver to support part of it?

Sure, all the properties can be optional though you should define the
default if not present. You're the first one, so you get to pick
defaults.

> Or should we just give
> up for the time being, and carry a local patch pending a custom
> driver?

Not at all.

Rob
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.txt b/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.txt
new file mode 100644
index 000000000000..014428c984c8
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.txt
@@ -0,0 +1,7 @@ 
+Sharp 15" LQ150X1LG11 XGA TFT LCD panel
+
+Required properties:
+- compatible: should be "sharp,lq150x1lg11"
+
+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 85143d1b9b31..58cfe0a7a9d6 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -1386,6 +1386,30 @@  static const struct panel_desc sharp_lq123p1jx31 = {
 	},
 };
 
+static const struct drm_display_mode sharp_lq150x1lg11_mode = {
+	.clock = 71100,
+	.hdisplay = 1024,
+	.hsync_start = 1024 + 168,
+	.hsync_end = 1024 + 168 + 64,
+	.htotal = 1024 + 168 + 64 + 88,
+	.vdisplay = 768,
+	.vsync_start = 768 + 37,
+	.vsync_end = 768 + 37 + 2,
+	.vtotal = 768 + 37 + 2 + 8,
+	.vrefresh = 60,
+};
+
+static const struct panel_desc sharp_lq150x1lg11 = {
+	.modes = &sharp_lq150x1lg11_mode,
+	.num_modes = 1,
+	.bpc = 8,
+	.size = {
+		.width = 304,
+		.height = 228,
+	},
+	.bus_format = MEDIA_BUS_FMT_RGB565_1X16,
+};
+
 static const struct drm_display_mode shelly_sca07010_bfn_lnn_mode = {
 	.clock = 33300,
 	.hdisplay = 800,
@@ -1641,6 +1665,9 @@  static const struct of_device_id platform_of_match[] = {
 		.compatible = "sharp,lq123p1jx31",
 		.data = &sharp_lq123p1jx31,
 	}, {
+		.compatible = "sharp,lq150x1lg11",
+		.data = &sharp_lq150x1lg11,
+	}, {
 		.compatible = "shelly,sca07010-bfn-lnn",
 		.data = &shelly_sca07010_bfn_lnn,
 	}, {