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

Tomi Valkeinen
2026-04-23T13:16:40Z

Hi Marek,

On 23/04/2026 16:13, Tomi Valkeinen wrote:
> 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.
A question to Marek: Where did you get the timings for PH800480T013? Did
you find a datasheet?

Tomi