[PATCH v2] dt-bindings: display: panel: add panel-mipi-dsi-bringup

Paulo pavacic.p at gmail.com
Wed May 17 13:04:29 UTC 2023


On Wed, May 17 2023 at 05:50:22 PM +0530, Jagan Teki
<jagan at amarulasolutions.com> wrote:
 > Just to add a few pieces of information for you to understand better
 > on the context of dsi panels. DSI panels can be part of 
panel-simple.c
 > or panel-<vendor-part>.c DSI panels whose init and exit sequence is
 > generic are suitable to add it in panel-simple and have bindings on
 > panel-simple.yml.

This panel doesn't fit that well into panel-simple.c since it has
initialization sequence. For that reason it would fit more into
panel-sortofsimple.c which didn't exist so I have created new driver
and called it panel-mipi-dsi-bringup.c.

 > Some DSI panels have specific init and exit
 > sequences in terms of power, reset and DCS then those have separate
 > drivers to handle and whose driver name must be panel-<vendor-part>.c
 > or similar and bindings also follow a similar naming convention.

I have made a driver exactly for that purpose. Driver that allows
adding new panels which have specific init sequences (and of course 
timings and other stuff). fannal,c3004 can be seen as a working example.

Here is code snippet from the driver:
```
static const struct brup_panel_info brup_fannal_c3004_panel_info = {
 .display_mode = &brup_fannal_c3004_display_mode,
 .num_of_dsi_lanes = 2, //how many wires are connected to the panel
 .video_mode = BRUP_VIDEO_MODES[BRUP_SYNC_PULSE],
 .mipi_dsi_format = MIPI_DSI_FMT_RGB888,
 .mipi_dsi_mode_flags =
  MIPI_DSI_CLOCK_NON_CONTINUOUS | MIPI_DSI_MODE_VSYNC_FLUSH |
  MIPI_DSI_MODE_VIDEO_HSE | MIPI_DSI_MODE_NO_EOT_PACKET,
 .bus_flags = DRM_BUS_FLAG_DE_LOW | DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE,
 .panel_enable_function = &brup_panel_fannal_c3004_enable_function
};
```
where enable function is function with init sequence and other values 
are values that might be different for different displays.

All the inputs are appreciated as this is my first time submitting 
patch. If you see anything that is odd to you please reach out to me.
All in all I believe I now understand how should device tree look and 
the reasons/ideology behind it.

Best regards,
Paulo





More information about the dri-devel mailing list