public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
From: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
To: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Maxime Ripard <mripard@kernel.org>,
	Dave Stevenson <dave.stevenson@raspberrypi.com>,
	Neil Armstrong <neil.armstrong@linaro.org>,
	Jessica Zhang <jesszhan0024@gmail.com>,
	David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Sam Ravnborg <sam@ravnborg.org>,
	dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] drm/panel: simple: Add timings for Raspberry Pi 7" panel
Date: Thu, 23 Apr 2026 16:13:57 +0300	[thread overview]
Message-ID: <ced05a92-06b4-4f6f-95b6-c3dc104c35f3@ideasonboard.com> (raw)
In-Reply-To: <CAO9ioeVX6OChRTgUrUdgrPF+3s2_7vme7m0yb85pjYtH1MFskw@mail.gmail.com>

Hi,

On 23/04/2026 15:33, Dmitry Baryshkov wrote:
> On Thu, 23 Apr 2026 at 15:28, Tomi Valkeinen
> <tomi.valkeinen@ideasonboard.com> wrote:
>>
>> Hi,
>>
>> On 23/04/2026 15:14, Maxime Ripard wrote:
>>> Hi,
>>>
>>> On Thu, Apr 23, 2026 at 03:01:51PM +0300, Tomi Valkeinen wrote:
>>>> On 22/04/2026 22:22, Dmitry Baryshkov wrote:
>>>>> On Mon, Apr 20, 2026 at 04:13:36PM +0300, Tomi Valkeinen wrote:
>>>>>> Add timings for the panel used in Raspberry Pi 7" DSI Display module:
>>>>>> https://www.raspberrypi.com/products/raspberry-pi-touch-display/
>>>>>>
>>>>>> This has been tested with version v1.1 of the display module.
>>>>>>
>>>>>> The panel is very strict about the back-porch values, they must be
>>>>>> exactly 46 for hbp and 23 for vbp. Other timings can be defined quite
>>>>>> freely.
>>>>>>
>>>>>> The panel is exclusive to Raspberry Pi, and different versions of the
>>>>>> display module can have panels from different vendors which are fully
>>>>>> compatible. Also, as the panel vendors are not public, the compatible
>>>>>> string used is "raspberrypi,7inch-dsi".
>>>>>>
>>>>>> Note that while the display module has a DSI connector, and the
>>>>>> compatible has "dsi" in it, we use DRM_MODE_CONNECTOR_DPI as the panel
>>>>>> itself is a parallel video panel. The display module (as of v1.1) uses
>>>>>> TC358762 DSI-to-DPI bridge to do the conversion.
>>>>>>
>>>>>> We could use DRM_MODE_CONNECTOR_DSI here, which would have the benefit
>>>>>> of showing a "DSI-1" connector to the userspace. However, the panel IS a
>>>>>> DPI panel, and gets its input from a DSI-to-DPI bridge, and the
>>>>>> panel-simple.c behaves differently depending on the connector type used,
>>>>>> so, DRM_MODE_CONNECTOR_DPI it is.
>>>>>>
>>>>>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
>>>>>> ---
>>>>>>     drivers/gpu/drm/panel/panel-simple.c | 32 ++++++++++++++++++++++++++++++++
>>>>>>     1 file changed, 32 insertions(+)
>>>>>>
>>>>>> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
>>>>>> index 91ab280869ba..e75eb20301f2 100644
>>>>>> --- a/drivers/gpu/drm/panel/panel-simple.c
>>>>>> +++ b/drivers/gpu/drm/panel/panel-simple.c
>>>>>> @@ -4208,6 +4208,35 @@ static const struct panel_desc rocktech_rk043fn48h = {
>>>>>>             .connector_type = DRM_MODE_CONNECTOR_DPI,
>>>>>>     };
>>>>>> +static const struct display_timing raspberrypi_7inch_timing = {
>>>>>> +  .pixelclock = { 10000000, 30000000, 50000000 },
>>>>>> +  .hactive = { 800, 800, 800 },
>>>>>> +  .hfront_porch = { 16, 72, 354 },
>>>>>> +  .hsync_len = { 1, 32, 40 },
>>>>>> +  .hback_porch = { 46, 46, 46 },
>>>>>> +  .vactive = { 480, 480, 480 },
>>>>>> +  .vfront_porch = { 7, 21, 147 },
>>>>>> +  .vsync_len = { 1, 2, 20 },
>>>>>> +  .vback_porch = { 23, 23, 23 },
>>>>>> +  .flags = DISPLAY_FLAGS_VSYNC_HIGH | DISPLAY_FLAGS_HSYNC_HIGH,
>>>>>> +  /* Note: the rest of the flags are defined below in bus_flags */
>>>>>> +};
>>>>>
>>>>> This looks pretty close to powertip panels that have been used before
>>>>> hand in those modules. Are you sure that powertip,ph800480t013-idf02
>>>>> or powertip,ph800480t032-zhc19 don't work for you?
>>>>
>>>> I haven't tested those, but the hbp and vbp do not seem to be the same. For
>>>> me, they had to be exactly as they are here. This was also confirmed from
>>>> Raspberry Pi, the panel datasheet had min/typ/max values (i.e. not ranges)
>>>> of 46 and 23 for back porches.
>>>>
>>>> Where did the information come from that powertip,ph800480t013-idf02 or
>>>> powertip,ph800480t032-zhc19 are used in the display modules? Or did you mean
>>>> that while those models are not used in the Raspberry display module, people
>>>> have used them successfully?
> 
> For the zhc19 it's a wild guess, but for the idf02 it more of a certainity:
> 
> commit d69de69f2be105b2474c05a5ca4827aac3e80ad3
> Author: Marek Vasut <marex@denx.de>
> Date:   Tue Jul 28 14:12:46 2020 +0200
> 
>      drm/panel: simple: Add Powertip PH800480T013 panel
> 
>      Add support for Powertip PH800480T013 800x480 parallel LCD, this
>      one is used in the Raspberry Pi 7" touchscreen display unit.
> 
> In the past I used this panel compat instead of the
> panel-raspberrypi-touchscreen.c and it worked.
> IIRC Marek splitted the multi-function module into a regulator and the
> panel description.
Ok... Indeed https://pip.raspberrypi.com/categories/651-pcn lists 
PH800480T013 as one of the panels used. Although two variants are 
listed, and also a third panel model, possibly from another vendor.

My module is v1.1, and I think it has the PH800480T013-IAC21 
D/5624/KIT-LC variant.

  Tomi


  reply	other threads:[~2026-04-23 13:14 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-20 13:13 [PATCH 0/2] drm/panel: Add Raspberry Pi 7" panel Tomi Valkeinen
2026-04-20 13:13 ` [PATCH 1/2] dt-bindings: display: simple: Add Raspberry Pi 7" DSI Display module panel Tomi Valkeinen
2026-04-20 16:01   ` Conor Dooley
2026-04-20 13:13 ` [PATCH 2/2] drm/panel: simple: Add timings for Raspberry Pi 7" panel Tomi Valkeinen
2026-04-22 19:22   ` Dmitry Baryshkov
2026-04-23 12:01     ` Tomi Valkeinen
2026-04-23 12:14       ` Maxime Ripard
2026-04-23 12:28         ` Tomi Valkeinen
2026-04-23 12:33           ` Dmitry Baryshkov
2026-04-23 13:13             ` Tomi Valkeinen [this message]
2026-04-23 13:16               ` Tomi Valkeinen
2026-04-23 13:54                 ` Marek Vasut
2026-04-23 14:05                   ` Tomi Valkeinen
2026-04-23 15:01                   ` Tomi Valkeinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ced05a92-06b4-4f6f-95b6-c3dc104c35f3@ideasonboard.com \
    --to=tomi.valkeinen@ideasonboard.com \
    --cc=airlied@gmail.com \
    --cc=conor+dt@kernel.org \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jesszhan0024@gmail.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=robh@kernel.org \
    --cc=sam@ravnborg.org \
    --cc=simona@ffwll.ch \
    --cc=thierry.reding@gmail.com \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox