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

Jagan Teki jagan at amarulasolutions.com
Wed May 17 16:32:47 UTC 2023


Hi,

Please don't post, use inline replies.

On Wed, May 17, 2023 at 6:34 PM Paulo <pavacic.p at gmail.com> wrote:
>
> 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.

So, the driver has to be panel-fannal-c3004.c and binding to be
fannal,c3004.yaml.

Thanks,
Jagan.


More information about the dri-devel mailing list