Re: [PATCH 2/2] drm/panel: simple: Add timings for Raspberry Pi 7" panel

Dmitry Baryshkov
2026-04-23T12:33:34Z

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.

> > It also looks like we have panel-raspberrypi-touchscreen.c and raspberrypi,dsi-7inch in
> > panel-ilitek-ili9881c.c.
> >
> > There's clearly more than one "7-inch rpi panel" so clarifying how it
> > compares to the other two drivers would help.
> Indeed, it's confusing. I'm a bit new to this so I don't know all the
> details. From Dave's mail to me about panel-ilitek-ili9881c.c:

--
With best wishes
Dmitry