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

From: Jagan Teki
Date: Wed May 17 2023 - 12:33:05 EST


Hi,

Please don't post, use inline replies.

On Wed, May 17, 2023 at 6:34 PM Paulo <pavacic.p@xxxxxxxxx> wrote:
>
> On Wed, May 17 2023 at 05:50:22 PM +0530, Jagan Teki
> <jagan@xxxxxxxxxxxxxxxxxxxx> 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.