diff mbox series

[4/6] drm/panel: simple: Add support for Banana Pi 7" S070WV20-CT16 panel

Message ID 20180419093225.614-5-wens@csie.org
State Changes Requested, archived
Headers show
Series drm/sun4i: Support color dithering for LCD panels | expand

Commit Message

Chen-Yu Tsai April 19, 2018, 9:32 a.m. UTC
This panel is marketed as Banana Pi 7" LCD display. On the back is
a sticker denoting the model name S070WV20-CT16.

This is a 7" 800x480 panel connected through a 24-bit RGB interface.
However the panel only does 262k colors.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 .../display/panel/bananapi,s070wv20-ct16.txt  |  7 ++++++
 drivers/gpu/drm/panel/panel-simple.c          | 25 +++++++++++++++++++
 2 files changed, 32 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt

Comments

Giulio Benetti April 19, 2018, 12:31 p.m. UTC | #1
Hi,

Il 19/04/2018 11:32, Chen-Yu Tsai ha scritto:
> This panel is marketed as Banana Pi 7" LCD display. On the back is
> a sticker denoting the model name S070WV20-CT16.

Judging from the code, the real vendor should be CDTech.
Take a look at their website:
http://www.cdtech-lcd.com/en/standardscreen.html

I point you my patch for inserting another similar panel:
https://patchwork.freedesktop.org/patch/211914/

Maybe it would make sense to use CDTech as the vendor,
because maybe Bananapi resells only it.
Or maybe it is a custom panel done for them,
but the same is for other panels I've submitted patches.
Micronova srl custom, but vendor is CDTech.

What do you think?
Chen-Yu Tsai April 19, 2018, 12:45 p.m. UTC | #2
On Thu, Apr 19, 2018 at 8:31 PM, Giulio Benetti
<giulio.benetti@micronovasrl.com> wrote:
> Hi,
>
> Il 19/04/2018 11:32, Chen-Yu Tsai ha scritto:
>>
>> This panel is marketed as Banana Pi 7" LCD display. On the back is
>> a sticker denoting the model name S070WV20-CT16.
>
>
> Judging from the code, the real vendor should be CDTech.
> Take a look at their website:
> http://www.cdtech-lcd.com/en/standardscreen.html
>
> I point you my patch for inserting another similar panel:
> https://patchwork.freedesktop.org/patch/211914/
>
> Maybe it would make sense to use CDTech as the vendor,
> because maybe Bananapi resells only it.
> Or maybe it is a custom panel done for them,
> but the same is for other panels I've submitted patches.
> Micronova srl custom, but vendor is CDTech.
>
> What do you think?

That might be true. But for people without access to the vendors,
this is horribly hard to figure out. People are only going to look
at whatever marking there is on the LCD panel, and whatever the
seller says. This panel has the model number stickered on, but the
PCB attached to it only has the Banana Pi logo.

And given it's a custom piece, probably OEM or ODM, the real
manufacturer matters less. You don't mention "Foxconn" as the
vendor of the iPhone, do you?

ChenYu

>
> --
> Giulio Benetti
> CTO
>
> MICRONOVA SRL
> Sede: Via A. Niedda 3 - 35010 Vigonza (PD)
> Tel. 049/8931563 - Fax 049/8931346
> Cod.Fiscale - P.IVA 02663420285
> Capitale Sociale € 26.000 i.v.
> Iscritta al Reg. Imprese di Padova N. 02663420285
> Numero R.E.A. 258642
>
>
>>
>> This is a 7" 800x480 panel connected through a 24-bit RGB interface.
>> However the panel only does 262k colors.
>>
>> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
>> ---
>>   .../display/panel/bananapi,s070wv20-ct16.txt  |  7 ++++++
>>   drivers/gpu/drm/panel/panel-simple.c          | 25 +++++++++++++++++++
>>   2 files changed, 32 insertions(+)
>>   create mode 100644
>> Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
>>
>> diff --git
>> a/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
>> b/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
>> new file mode 100644
>> index 000000000000..2ec35ce36e9a
>> --- /dev/null
>> +++
>> b/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
>> @@ -0,0 +1,7 @@
>> +Banana Pi 7" (S070WV20-CT16) TFT LCD Panel
>> +
>> +Required properties:
>> +- compatible: should be "bananapi,s070wv20-ct16"
>> +
>> +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 cbf1ab404ee7..9bc037f74d6c 100644
>> --- a/drivers/gpu/drm/panel/panel-simple.c
>> +++ b/drivers/gpu/drm/panel/panel-simple.c
>> @@ -745,6 +745,28 @@ static const struct panel_desc avic_tm070ddh03 = {
>>         },
>>   };
>>   +static const struct drm_display_mode bananapi_s070wv20_ct16_mode = {
>> +       .clock = 30000,
>> +       .hdisplay = 800,
>> +       .hsync_start = 800 + 40,
>> +       .hsync_end = 800 + 40 + 48,
>> +       .htotal = 800 + 40 + 48 + 40,
>> +       .vdisplay = 480,
>> +       .vsync_start = 480 + 13,
>> +       .vsync_end = 480 + 13 + 3,
>> +       .vtotal = 480 + 13 + 3 + 29,
>> +};
>> +
>> +static const struct panel_desc bananapi_s070wv20_ct16 = {
>> +       .modes = &bananapi_s070wv20_ct16_mode,
>> +       .num_modes = 1,
>> +       .bpc = 6,
>> +       .size = {
>> +               .width = 154,
>> +               .height = 86,
>> +       },
>> +};
>> +
>>   static const struct drm_display_mode boe_nv101wxmn51_modes[] = {
>>         {
>>                 .clock = 71900,
>> @@ -2112,6 +2134,9 @@ static const struct of_device_id platform_of_match[]
>> = {
>>         }, {
>>                 .compatible = "avic,tm070ddh03",
>>                 .data = &avic_tm070ddh03,
>> +       }, {
>> +               .compatible = "bananapi,s070wv20-ct16",
>> +               .data = &bananapi_s070wv20_ct16,
>>         }, {
>>                 .compatible = "boe,nv101wxmn51",
>>                 .data = &boe_nv101wxmn51,
>>
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Giulio Benetti April 19, 2018, 1:15 p.m. UTC | #3
Hi,

Il 19/04/2018 14:45, Chen-Yu Tsai ha scritto:
> On Thu, Apr 19, 2018 at 8:31 PM, Giulio Benetti
> <giulio.benetti@micronovasrl.com> wrote:
>> Hi,
>>
>> Il 19/04/2018 11:32, Chen-Yu Tsai ha scritto:
>>>
>>> This panel is marketed as Banana Pi 7" LCD display. On the back is
>>> a sticker denoting the model name S070WV20-CT16.
>>
>>
>> Judging from the code, the real vendor should be CDTech.
>> Take a look at their website:
>> http://www.cdtech-lcd.com/en/standardscreen.html
>>
>> I point you my patch for inserting another similar panel:
>> https://patchwork.freedesktop.org/patch/211914/
>>
>> Maybe it would make sense to use CDTech as the vendor,
>> because maybe Bananapi resells only it.
>> Or maybe it is a custom panel done for them,
>> but the same is for other panels I've submitted patches.
>> Micronova srl custom, but vendor is CDTech.
>>
>> What do you think?
> 
> That might be true. But for people without access to the vendors,
> this is horribly hard to figure out. People are only going to look
> at whatever marking there is on the LCD panel, and whatever the
> seller says. This panel has the model number stickered on, but the
> PCB attached to it only has the Banana Pi logo.

Ah ok, my fault, I didn't see it has a PCB attached with Banana Pi logo.
Also it makes a lot of sense what you say about people looking for display.

> 
> And given it's a custom piece, probably OEM or ODM, the real
> manufacturer matters less. You don't mention "Foxconn" as the
> vendor of the iPhone, do you?

:) that's right.

Best regards
Rob Herring (Arm) April 24, 2018, 4:42 p.m. UTC | #4
On Thu, Apr 19, 2018 at 05:32:23PM +0800, Chen-Yu Tsai wrote:
> This panel is marketed as Banana Pi 7" LCD display. On the back is
> a sticker denoting the model name S070WV20-CT16.
> 
> This is a 7" 800x480 panel connected through a 24-bit RGB interface.
> However the panel only does 262k colors.
> 
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> ---
>  .../display/panel/bananapi,s070wv20-ct16.txt  |  7 ++++++
>  drivers/gpu/drm/panel/panel-simple.c          | 25 +++++++++++++++++++
>  2 files changed, 32 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt b/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
> new file mode 100644
> index 000000000000..2ec35ce36e9a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
> @@ -0,0 +1,7 @@
> +Banana Pi 7" (S070WV20-CT16) TFT LCD Panel
> +
> +Required properties:
> +- compatible: should be "bananapi,s070wv20-ct16"
> +
> +This binding is compatible with the simple-panel binding, which is specified
> +in simple-panel.txt in this directory.

Does this panel have a power supply (or more than 1) or backlight? I 
can't know that by just refering to simple-panel.txt.

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jagan Teki May 14, 2018, 6:03 p.m. UTC | #5
On Thu, Apr 19, 2018 at 3:02 PM, Chen-Yu Tsai <wens@csie.org> wrote:
> This panel is marketed as Banana Pi 7" LCD display. On the back is
> a sticker denoting the model name S070WV20-CT16.
>
> This is a 7" 800x480 panel connected through a 24-bit RGB interface.
> However the panel only does 262k colors.
>
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> ---
>  .../display/panel/bananapi,s070wv20-ct16.txt  |  7 ++++++
>  drivers/gpu/drm/panel/panel-simple.c          | 25 +++++++++++++++++++
>  2 files changed, 32 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
>
> diff --git a/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt b/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
> new file mode 100644
> index 000000000000..2ec35ce36e9a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
> @@ -0,0 +1,7 @@
> +Banana Pi 7" (S070WV20-CT16) TFT LCD Panel
> +
> +Required properties:
> +- compatible: should be "bananapi,s070wv20-ct16"
> +
> +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 cbf1ab404ee7..9bc037f74d6c 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -745,6 +745,28 @@ static const struct panel_desc avic_tm070ddh03 = {
>         },
>  };
>
> +static const struct drm_display_mode bananapi_s070wv20_ct16_mode = {
> +       .clock = 30000,
> +       .hdisplay = 800,
> +       .hsync_start = 800 + 40,
> +       .hsync_end = 800 + 40 + 48,
> +       .htotal = 800 + 40 + 48 + 40,
> +       .vdisplay = 480,
> +       .vsync_start = 480 + 13,
> +       .vsync_end = 480 + 13 + 3,
> +       .vtotal = 480 + 13 + 3 + 29,
> +};
> +
> +static const struct panel_desc bananapi_s070wv20_ct16 = {
> +       .modes = &bananapi_s070wv20_ct16_mode,
> +       .num_modes = 1,
> +       .bpc = 6,
> +       .size = {
> +               .width = 154,
> +               .height = 86,
> +       },
> +};

I think this parallel RGB interface right? I too have same display
with DSI I'm sure these setting will not useful right? do we need to
write separate panel driver for that?
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Chen-Yu Tsai May 16, 2018, 6:42 a.m. UTC | #6
On Mon, May 14, 2018 at 11:03 AM, Jagan Teki <jagan@amarulasolutions.com> wrote:
> On Thu, Apr 19, 2018 at 3:02 PM, Chen-Yu Tsai <wens@csie.org> wrote:
>> This panel is marketed as Banana Pi 7" LCD display. On the back is
>> a sticker denoting the model name S070WV20-CT16.
>>
>> This is a 7" 800x480 panel connected through a 24-bit RGB interface.
>> However the panel only does 262k colors.
>>
>> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
>> ---
>>  .../display/panel/bananapi,s070wv20-ct16.txt  |  7 ++++++
>>  drivers/gpu/drm/panel/panel-simple.c          | 25 +++++++++++++++++++
>>  2 files changed, 32 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
>>
>> diff --git a/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt b/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
>> new file mode 100644
>> index 000000000000..2ec35ce36e9a
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
>> @@ -0,0 +1,7 @@
>> +Banana Pi 7" (S070WV20-CT16) TFT LCD Panel
>> +
>> +Required properties:
>> +- compatible: should be "bananapi,s070wv20-ct16"
>> +
>> +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 cbf1ab404ee7..9bc037f74d6c 100644
>> --- a/drivers/gpu/drm/panel/panel-simple.c
>> +++ b/drivers/gpu/drm/panel/panel-simple.c
>> @@ -745,6 +745,28 @@ static const struct panel_desc avic_tm070ddh03 = {
>>         },
>>  };
>>
>> +static const struct drm_display_mode bananapi_s070wv20_ct16_mode = {
>> +       .clock = 30000,
>> +       .hdisplay = 800,
>> +       .hsync_start = 800 + 40,
>> +       .hsync_end = 800 + 40 + 48,
>> +       .htotal = 800 + 40 + 48 + 40,
>> +       .vdisplay = 480,
>> +       .vsync_start = 480 + 13,
>> +       .vsync_end = 480 + 13 + 3,
>> +       .vtotal = 480 + 13 + 3 + 29,
>> +};
>> +
>> +static const struct panel_desc bananapi_s070wv20_ct16 = {
>> +       .modes = &bananapi_s070wv20_ct16_mode,
>> +       .num_modes = 1,
>> +       .bpc = 6,
>> +       .size = {
>> +               .width = 154,
>> +               .height = 86,
>> +       },
>> +};
>
> I think this parallel RGB interface right? I too have same display
> with DSI I'm sure these setting will not useful right? do we need to
> write separate panel driver for that?

AFAIK the DSI model is an RGB panel with a MIPI DSI bridge on the
connector board. The model I have is dual interface.

ChenYu
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jagan Teki May 16, 2018, 7:20 a.m. UTC | #7
On Wed, May 16, 2018 at 12:12 PM, Chen-Yu Tsai <wens@csie.org> wrote:
> On Mon, May 14, 2018 at 11:03 AM, Jagan Teki <jagan@amarulasolutions.com> wrote:
>> On Thu, Apr 19, 2018 at 3:02 PM, Chen-Yu Tsai <wens@csie.org> wrote:
>>> This panel is marketed as Banana Pi 7" LCD display. On the back is
>>> a sticker denoting the model name S070WV20-CT16.
>>>
>>> This is a 7" 800x480 panel connected through a 24-bit RGB interface.
>>> However the panel only does 262k colors.
>>>
>>> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
>>> ---
>>>  .../display/panel/bananapi,s070wv20-ct16.txt  |  7 ++++++
>>>  drivers/gpu/drm/panel/panel-simple.c          | 25 +++++++++++++++++++
>>>  2 files changed, 32 insertions(+)
>>>  create mode 100644 Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
>>>
>>> diff --git a/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt b/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
>>> new file mode 100644
>>> index 000000000000..2ec35ce36e9a
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
>>> @@ -0,0 +1,7 @@
>>> +Banana Pi 7" (S070WV20-CT16) TFT LCD Panel
>>> +
>>> +Required properties:
>>> +- compatible: should be "bananapi,s070wv20-ct16"
>>> +
>>> +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 cbf1ab404ee7..9bc037f74d6c 100644
>>> --- a/drivers/gpu/drm/panel/panel-simple.c
>>> +++ b/drivers/gpu/drm/panel/panel-simple.c
>>> @@ -745,6 +745,28 @@ static const struct panel_desc avic_tm070ddh03 = {
>>>         },
>>>  };
>>>
>>> +static const struct drm_display_mode bananapi_s070wv20_ct16_mode = {
>>> +       .clock = 30000,
>>> +       .hdisplay = 800,
>>> +       .hsync_start = 800 + 40,
>>> +       .hsync_end = 800 + 40 + 48,
>>> +       .htotal = 800 + 40 + 48 + 40,
>>> +       .vdisplay = 480,
>>> +       .vsync_start = 480 + 13,
>>> +       .vsync_end = 480 + 13 + 3,
>>> +       .vtotal = 480 + 13 + 3 + 29,
>>> +};
>>> +
>>> +static const struct panel_desc bananapi_s070wv20_ct16 = {
>>> +       .modes = &bananapi_s070wv20_ct16_mode,
>>> +       .num_modes = 1,
>>> +       .bpc = 6,
>>> +       .size = {
>>> +               .width = 154,
>>> +               .height = 86,
>>> +       },
>>> +};
>>
>> I think this parallel RGB interface right? I too have same display
>> with DSI I'm sure these setting will not useful right? do we need to
>> write separate panel driver for that?
>
> AFAIK the DSI model is an RGB panel with a MIPI DSI bridge on the
> connector board. The model I have is dual interface.

Yes, this is what I have [1] where same strip can use for both RGB and
MIPI DSI. can bananapi,s070wv20-ct16 work for DSI interface as well?

[1] https://www.aliexpress.com/item/New-Arrival-Banana-Pro-Pi-7-inch-LCD-Display-Touch-Screen-Raspberry-Pi-Car-GPS-FreeShipping/32335608836.html

Jagan.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Chen-Yu Tsai May 16, 2018, 7:56 a.m. UTC | #8
On Wed, May 16, 2018 at 12:20 AM, Jagan Teki <jagan@amarulasolutions.com> wrote:
> On Wed, May 16, 2018 at 12:12 PM, Chen-Yu Tsai <wens@csie.org> wrote:
>> On Mon, May 14, 2018 at 11:03 AM, Jagan Teki <jagan@amarulasolutions.com> wrote:
>>> On Thu, Apr 19, 2018 at 3:02 PM, Chen-Yu Tsai <wens@csie.org> wrote:
>>>> This panel is marketed as Banana Pi 7" LCD display. On the back is
>>>> a sticker denoting the model name S070WV20-CT16.
>>>>
>>>> This is a 7" 800x480 panel connected through a 24-bit RGB interface.
>>>> However the panel only does 262k colors.
>>>>
>>>> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
>>>> ---
>>>>  .../display/panel/bananapi,s070wv20-ct16.txt  |  7 ++++++
>>>>  drivers/gpu/drm/panel/panel-simple.c          | 25 +++++++++++++++++++
>>>>  2 files changed, 32 insertions(+)
>>>>  create mode 100644 Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt b/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
>>>> new file mode 100644
>>>> index 000000000000..2ec35ce36e9a
>>>> --- /dev/null
>>>> +++ b/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
>>>> @@ -0,0 +1,7 @@
>>>> +Banana Pi 7" (S070WV20-CT16) TFT LCD Panel
>>>> +
>>>> +Required properties:
>>>> +- compatible: should be "bananapi,s070wv20-ct16"
>>>> +
>>>> +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 cbf1ab404ee7..9bc037f74d6c 100644
>>>> --- a/drivers/gpu/drm/panel/panel-simple.c
>>>> +++ b/drivers/gpu/drm/panel/panel-simple.c
>>>> @@ -745,6 +745,28 @@ static const struct panel_desc avic_tm070ddh03 = {
>>>>         },
>>>>  };
>>>>
>>>> +static const struct drm_display_mode bananapi_s070wv20_ct16_mode = {
>>>> +       .clock = 30000,
>>>> +       .hdisplay = 800,
>>>> +       .hsync_start = 800 + 40,
>>>> +       .hsync_end = 800 + 40 + 48,
>>>> +       .htotal = 800 + 40 + 48 + 40,
>>>> +       .vdisplay = 480,
>>>> +       .vsync_start = 480 + 13,
>>>> +       .vsync_end = 480 + 13 + 3,
>>>> +       .vtotal = 480 + 13 + 3 + 29,
>>>> +};
>>>> +
>>>> +static const struct panel_desc bananapi_s070wv20_ct16 = {
>>>> +       .modes = &bananapi_s070wv20_ct16_mode,
>>>> +       .num_modes = 1,
>>>> +       .bpc = 6,
>>>> +       .size = {
>>>> +               .width = 154,
>>>> +               .height = 86,
>>>> +       },
>>>> +};
>>>
>>> I think this parallel RGB interface right? I too have same display
>>> with DSI I'm sure these setting will not useful right? do we need to
>>> write separate panel driver for that?
>>
>> AFAIK the DSI model is an RGB panel with a MIPI DSI bridge on the
>> connector board. The model I have is dual interface.
>
> Yes, this is what I have [1] where same strip can use for both RGB and
> MIPI DSI. can bananapi,s070wv20-ct16 work for DSI interface as well?

In theory yes. You can use RGB with Banana Pi M1+ and DSI with Banana Pi M3.
However, DSI on A83T is not supported yet, and I don't intend to spend my
time writing a driver for the MIPI DSI bridge on that panel. The bridge IC
is the one on top of the DSI FPC connector.

ChenYu

> [1] https://www.aliexpress.com/item/New-Arrival-Banana-Pro-Pi-7-inch-LCD-Display-Touch-Screen-Raspberry-Pi-Car-GPS-FreeShipping/32335608836.html
>
> Jagan.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt b/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
new file mode 100644
index 000000000000..2ec35ce36e9a
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/bananapi,s070wv20-ct16.txt
@@ -0,0 +1,7 @@ 
+Banana Pi 7" (S070WV20-CT16) TFT LCD Panel
+
+Required properties:
+- compatible: should be "bananapi,s070wv20-ct16"
+
+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 cbf1ab404ee7..9bc037f74d6c 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -745,6 +745,28 @@  static const struct panel_desc avic_tm070ddh03 = {
 	},
 };
 
+static const struct drm_display_mode bananapi_s070wv20_ct16_mode = {
+	.clock = 30000,
+	.hdisplay = 800,
+	.hsync_start = 800 + 40,
+	.hsync_end = 800 + 40 + 48,
+	.htotal = 800 + 40 + 48 + 40,
+	.vdisplay = 480,
+	.vsync_start = 480 + 13,
+	.vsync_end = 480 + 13 + 3,
+	.vtotal = 480 + 13 + 3 + 29,
+};
+
+static const struct panel_desc bananapi_s070wv20_ct16 = {
+	.modes = &bananapi_s070wv20_ct16_mode,
+	.num_modes = 1,
+	.bpc = 6,
+	.size = {
+		.width = 154,
+		.height = 86,
+	},
+};
+
 static const struct drm_display_mode boe_nv101wxmn51_modes[] = {
 	{
 		.clock = 71900,
@@ -2112,6 +2134,9 @@  static const struct of_device_id platform_of_match[] = {
 	}, {
 		.compatible = "avic,tm070ddh03",
 		.data = &avic_tm070ddh03,
+	}, {
+		.compatible = "bananapi,s070wv20-ct16",
+		.data = &bananapi_s070wv20_ct16,
 	}, {
 		.compatible = "boe,nv101wxmn51",
 		.data = &boe_nv101wxmn51,