[v2,0/2] Add waveshare 7inch touchscreen panel support

Message ID 20240109070949.23957-1-shengyang.chen@starfivetech.com
Headers
Series Add waveshare 7inch touchscreen panel support |

Message

Shengyang Chen Jan. 9, 2024, 7:09 a.m. UTC
  This patchset adds waveshare 7inch touchscreen panel support
for the StarFive JH7110 SoC.


changes since v1:
- Rebased on tag v6.7.

patch 1:
- Gave up original changing.
- Changed the commit message.
- Add compatible in panel-simple.yaml

patch 2:
- Gave up original changing.
- Changed the commit message.
- Add new mode for the panel in panel-simple.c

v1: https://patchwork.kernel.org/project/dri-devel/cover/20231124104451.44271-1-shengyang.chen@starfivetech.com/

Shengyang Chen (2):
  dt-bindings: display: panel: panel-simple: Add compatible property for
    waveshare 7inch touchscreen panel
  gpu: drm: panel: panel-simple: add new display mode for waveshare
    7inch touchscreen panel

 .../bindings/display/panel/panel-simple.yaml  |  2 ++
 drivers/gpu/drm/panel/panel-simple.c          | 28 +++++++++++++++++++
 2 files changed, 30 insertions(+)
  

Comments

Neil Armstrong Jan. 9, 2024, 11:19 a.m. UTC | #1
Hi,

On 09/01/2024 08:09, Shengyang Chen wrote:
> This patchset adds waveshare 7inch touchscreen panel support
> for the StarFive JH7110 SoC.

Could you precise which SKU you're referring to ? is it 19885 => https://www.waveshare.com/7inch-dsi-lcd.htm ?

Are you sure it requires different timings from the RPi one ? In the Waveshare
wiki it explicitly uses the rpi setup (vc4-kms-dsi-7inch) to drive it: https://www.waveshare.com/wiki/7inch_DSI_LCD

Neil

> 
> 
> changes since v1:
> - Rebased on tag v6.7.
> 
> patch 1:
> - Gave up original changing.
> - Changed the commit message.
> - Add compatible in panel-simple.yaml
> 
> patch 2:
> - Gave up original changing.
> - Changed the commit message.
> - Add new mode for the panel in panel-simple.c
> 
> v1: https://patchwork.kernel.org/project/dri-devel/cover/20231124104451.44271-1-shengyang.chen@starfivetech.com/
> 
> Shengyang Chen (2):
>    dt-bindings: display: panel: panel-simple: Add compatible property for
>      waveshare 7inch touchscreen panel
>    gpu: drm: panel: panel-simple: add new display mode for waveshare
>      7inch touchscreen panel
> 
>   .../bindings/display/panel/panel-simple.yaml  |  2 ++
>   drivers/gpu/drm/panel/panel-simple.c          | 28 +++++++++++++++++++
>   2 files changed, 30 insertions(+)
>
  
Dave Stevenson Jan. 9, 2024, 5:28 p.m. UTC | #2
Hi

On Tue, 9 Jan 2024 at 11:19, <neil.armstrong@linaro.org> wrote:
>
> Hi,
>
> On 09/01/2024 08:09, Shengyang Chen wrote:
> > This patchset adds waveshare 7inch touchscreen panel support
> > for the StarFive JH7110 SoC.
>
> Could you precise which SKU you're referring to ? is it 19885 => https://www.waveshare.com/7inch-dsi-lcd.htm ?
>
> Are you sure it requires different timings from the RPi one ? In the Waveshare
> wiki it explicitly uses the rpi setup (vc4-kms-dsi-7inch) to drive it: https://www.waveshare.com/wiki/7inch_DSI_LCD

I raise the same question.

Keith Zhao earlier submitted effectively the same set of patches [1]
and the response for the updated timing was:
<quote>
My platform dphy tx hardware has certain limitations.
Only supports integer multiples of 10M bitrate:
such as 160M ,170M, 180M,190M,...1G(max)

as common dphy bitrate = pixclock*bpp/lanes.
This value cannot match successfully in most cases.

so in order to match bitrate , I choose a bitrate value around
pixclock*bpp/lanes,
Prevent overflow and underflow by fine-tuning the timing parameters:-(
that will make the new timming value.
</quote>

I then suggested mode_fixup should be used in the DSI host driver, and
Keith acknowledged that.

Is this new timing still because of the DSI host requirement?

  Dave

[1] https://lists.freedesktop.org/archives/dri-devel/2023-December/434150.html

> Neil
>
> >
> >
> > changes since v1:
> > - Rebased on tag v6.7.
> >
> > patch 1:
> > - Gave up original changing.
> > - Changed the commit message.
> > - Add compatible in panel-simple.yaml
> >
> > patch 2:
> > - Gave up original changing.
> > - Changed the commit message.
> > - Add new mode for the panel in panel-simple.c
> >
> > v1: https://patchwork.kernel.org/project/dri-devel/cover/20231124104451.44271-1-shengyang.chen@starfivetech.com/
> >
> > Shengyang Chen (2):
> >    dt-bindings: display: panel: panel-simple: Add compatible property for
> >      waveshare 7inch touchscreen panel
> >    gpu: drm: panel: panel-simple: add new display mode for waveshare
> >      7inch touchscreen panel
> >
> >   .../bindings/display/panel/panel-simple.yaml  |  2 ++
> >   drivers/gpu/drm/panel/panel-simple.c          | 28 +++++++++++++++++++
> >   2 files changed, 30 insertions(+)
> >
>
  
Shengyang Chen Jan. 16, 2024, 9:32 a.m. UTC | #3
Hi, Neil

Thanks for your comment.

> -----Original Message-----
> From: neil.armstrong@linaro.org <neil.armstrong@linaro.org>
> Sent: 2024年1月9日 19:19
> To: Shengyang Chen <shengyang.chen@starfivetech.com>;
> devicetree@vger.kernel.org; dri-devel@lists.freedesktop.org
> Cc: quic_jesszhan@quicinc.com; sam@ravnborg.org; airlied@gmail.com;
> daniel@ffwll.ch; maarten.lankhorst@linux.intel.com; mripard@kernel.org;
> tzimmermann@suse.de; robh+dt@kernel.org;
> krzysztof.kozlowski+dt@linaro.org; conor+dt@kernel.org; wahrenst@gmx.net;
> dave.stevenson@raspberrypi.com; thierry.reding@gmail.com; Changhuang
> Liang <changhuang.liang@starfivetech.com>; Keith Zhao
> <keith.zhao@starfivetech.com>; Jack Zhu <jack.zhu@starfivetech.com>;
> linux-kernel@vger.kernel.org
> Subject: Re: [PATCH v2 0/2] Add waveshare 7inch touchscreen panel support
> 
> Hi,
> 
> On 09/01/2024 08:09, Shengyang Chen wrote:
> > This patchset adds waveshare 7inch touchscreen panel support for the
> > StarFive JH7110 SoC.
> 
> Could you precise which SKU you're referring to ? is it 19885 =>
> https://www.waveshare.com/7inch-dsi-lcd.htm ?
> 

yes, it is
sorry for confusing you.

> Are you sure it requires different timings from the RPi one ? In the Waveshare
> wiki it explicitly uses the rpi setup (vc4-kms-dsi-7inch) to drive it:
> https://www.waveshare.com/wiki/7inch_DSI_LCD
> 

Referring to Keith's answer
https://lists.freedesktop.org/archives/dri-devel/2023-December/434200.html
the panel timing value is generated to fit phy's bitrate and prevent overflow and underflow.

Referring to the suggestion, we may try other timing from panel-simple to drive the panel.

> Neil
> 
> >
> >
> > changes since v1:
> > - Rebased on tag v6.7.
> >
> > patch 1:
> > - Gave up original changing.
> > - Changed the commit message.
> > - Add compatible in panel-simple.yaml
> >
> > patch 2:
> > - Gave up original changing.
> > - Changed the commit message.
> > - Add new mode for the panel in panel-simple.c
> >
> > v1:
> > https://patchwork.kernel.org/project/dri-devel/cover/20231124104451.44
> > 271-1-shengyang.chen@starfivetech.com/
> >
> > Shengyang Chen (2):
> >    dt-bindings: display: panel: panel-simple: Add compatible property for
> >      waveshare 7inch touchscreen panel
> >    gpu: drm: panel: panel-simple: add new display mode for waveshare
> >      7inch touchscreen panel
> >
> >   .../bindings/display/panel/panel-simple.yaml  |  2 ++
> >   drivers/gpu/drm/panel/panel-simple.c          | 28
> +++++++++++++++++++
> >   2 files changed, 30 insertions(+)
> >


Best Regards,
Shengyang
  
Neil Armstrong Jan. 16, 2024, 9:34 a.m. UTC | #4
On 16/01/2024 10:32, Shengyang Chen wrote:
> Hi, Neil
> 
> Thanks for your comment.
> 
>> -----Original Message-----
>> From: neil.armstrong@linaro.org <neil.armstrong@linaro.org>
>> Sent: 2024年1月9日 19:19
>> To: Shengyang Chen <shengyang.chen@starfivetech.com>;
>> devicetree@vger.kernel.org; dri-devel@lists.freedesktop.org
>> Cc: quic_jesszhan@quicinc.com; sam@ravnborg.org; airlied@gmail.com;
>> daniel@ffwll.ch; maarten.lankhorst@linux.intel.com; mripard@kernel.org;
>> tzimmermann@suse.de; robh+dt@kernel.org;
>> krzysztof.kozlowski+dt@linaro.org; conor+dt@kernel.org; wahrenst@gmx.net;
>> dave.stevenson@raspberrypi.com; thierry.reding@gmail.com; Changhuang
>> Liang <changhuang.liang@starfivetech.com>; Keith Zhao
>> <keith.zhao@starfivetech.com>; Jack Zhu <jack.zhu@starfivetech.com>;
>> linux-kernel@vger.kernel.org
>> Subject: Re: [PATCH v2 0/2] Add waveshare 7inch touchscreen panel support
>>
>> Hi,
>>
>> On 09/01/2024 08:09, Shengyang Chen wrote:
>>> This patchset adds waveshare 7inch touchscreen panel support for the
>>> StarFive JH7110 SoC.
>>
>> Could you precise which SKU you're referring to ? is it 19885 =>
>> https://www.waveshare.com/7inch-dsi-lcd.htm ?
>>
> 
> yes, it is
> sorry for confusing you.
> 
>> Are you sure it requires different timings from the RPi one ? In the Waveshare
>> wiki it explicitly uses the rpi setup (vc4-kms-dsi-7inch) to drive it:
>> https://www.waveshare.com/wiki/7inch_DSI_LCD
>>
> 
> Referring to Keith's answer
> https://lists.freedesktop.org/archives/dri-devel/2023-December/434200.html
> the panel timing value is generated to fit phy's bitrate and prevent overflow and underflow.
> 
> Referring to the suggestion, we may try other timing from panel-simple to drive the panel.

Please implement a mode_fixup in your DSI host driver instead.

Neil

> 
>> Neil
>>
>>>
>>>
>>> changes since v1:
>>> - Rebased on tag v6.7.
>>>
>>> patch 1:
>>> - Gave up original changing.
>>> - Changed the commit message.
>>> - Add compatible in panel-simple.yaml
>>>
>>> patch 2:
>>> - Gave up original changing.
>>> - Changed the commit message.
>>> - Add new mode for the panel in panel-simple.c
>>>
>>> v1:
>>> https://patchwork.kernel.org/project/dri-devel/cover/20231124104451.44
>>> 271-1-shengyang.chen@starfivetech.com/
>>>
>>> Shengyang Chen (2):
>>>     dt-bindings: display: panel: panel-simple: Add compatible property for
>>>       waveshare 7inch touchscreen panel
>>>     gpu: drm: panel: panel-simple: add new display mode for waveshare
>>>       7inch touchscreen panel
>>>
>>>    .../bindings/display/panel/panel-simple.yaml  |  2 ++
>>>    drivers/gpu/drm/panel/panel-simple.c          | 28
>> +++++++++++++++++++
>>>    2 files changed, 30 insertions(+)
>>>
> 
> 
> Best Regards,
> Shengyang
  
Shengyang Chen Jan. 16, 2024, 9:44 a.m. UTC | #5
Hi, Stefan

Thanks for your comment and suggestion.

> -----Original Message-----
> From: Stefan Wahren <wahrenst@gmx.net>
> Sent: 2024年1月10日 1:22
> To: neil.armstrong@linaro.org; Shengyang Chen
> <shengyang.chen@starfivetech.com>; devicetree@vger.kernel.org;
> dri-devel@lists.freedesktop.org
> Cc: quic_jesszhan@quicinc.com; sam@ravnborg.org; airlied@gmail.com;
> daniel@ffwll.ch; maarten.lankhorst@linux.intel.com; mripard@kernel.org;
> tzimmermann@suse.de; robh+dt@kernel.org;
> krzysztof.kozlowski+dt@linaro.org; conor+dt@kernel.org;
> dave.stevenson@raspberrypi.com; thierry.reding@gmail.com; Changhuang
> Liang <changhuang.liang@starfivetech.com>; Keith Zhao
> <keith.zhao@starfivetech.com>; Jack Zhu <jack.zhu@starfivetech.com>;
> linux-kernel@vger.kernel.org
> Subject: Re: [PATCH v2 0/2] Add waveshare 7inch touchscreen panel support
> 
> Hi Neil,
> 
> Am 09.01.24 um 12:19 schrieb neil.armstrong@linaro.org:
> > Hi,
> >
> > On 09/01/2024 08:09, Shengyang Chen wrote:
> >> This patchset adds waveshare 7inch touchscreen panel support for the
> >> StarFive JH7110 SoC.
> >
> > Could you precise which SKU you're referring to ? is it 19885 =>
> > https://www.waveshare.com/7inch-dsi-lcd.htm ?
> >
> > Are you sure it requires different timings from the RPi one ? In the
> > Waveshare wiki it explicitly uses the rpi setup (vc4-kms-dsi-7inch) to
> > drive it:
> > https://www.waveshare.com/wiki/7inch_DSI_LCD
> i don't have an anser for your question, but the Raspberry Pi vendor tree use
> different timings than the Mainline kernel:
> 
> https://github.com/raspberrypi/linux/commit/222b9baa97cc4c880d040a8c6a5
> da80d6a42c8e8
> 
> Additionally the
> arm64/boot/dts/freescale/imx8mm-venice-gw72xx-0x-rpidsi.dtso suggests that
> it uses the Raspberry Pi 7inch, but uses the timings of
> powertip,ph800480t013-idf02 from panel-simple.
> 
> Maybe Shengyang could test these timings with the Waveshare touch. At the
> end this rely on a proper implementation on the underlying drivers.
> 
> Sorry, for adding more confusion.
> 
Thanks for suggestion.
We will try other timing from panel-simple.
Maybe we are not going to commit new panel timing patch
if we find useful timing from panel-simple to drive the panel.

> Regards
> >
> > Neil
> >
> >>
> >>
> >> changes since v1:
> >> - Rebased on tag v6.7.
> >>
> >> patch 1:
> >> - Gave up original changing.
> >> - Changed the commit message.
> >> - Add compatible in panel-simple.yaml
> >>
> >> patch 2:
> >> - Gave up original changing.
> >> - Changed the commit message.
> >> - Add new mode for the panel in panel-simple.c
> >>
> >> v1:
> >> https://patchwork.kernel.org/project/dri-devel/cover/20231124104451.4
> >> 4271-1-shengyang.chen@starfivetech.com/
> >>
> >> Shengyang Chen (2):
> >>    dt-bindings: display: panel: panel-simple: Add compatible property
> >> for
> >>      waveshare 7inch touchscreen panel
> >>    gpu: drm: panel: panel-simple: add new display mode for waveshare
> >>      7inch touchscreen panel
> >>
> >>   .../bindings/display/panel/panel-simple.yaml  |  2 ++
> >>   drivers/gpu/drm/panel/panel-simple.c          | 28
> >> +++++++++++++++++++
> >>   2 files changed, 30 insertions(+)
> >>
> >

thanks

Best Regards,
Shengyang