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 > > > --- > > > 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? 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. Maxime