diff mbox series

[1/4] dt-bindings: display: panel: ili9881c: Add dsi-lanes property

Message ID 20250408-feature_sfto340xc-v1-1-f303d1b9a996@bootlin.com (mailing list archive)
State New, archived
Headers show
Series Add support for Saef SFTO340XC panel. | expand

Commit Message

Kory Maincent April 8, 2025, 3:27 p.m. UTC
Add the dsi-lanes property to specify the number of DSI lanes used by the
panel. This allows configuring the panel for either two, three or four
lanes.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
---
 Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Kory Maincent April 9, 2025, 9:28 a.m. UTC | #1
On Tue, 8 Apr 2025 17:44:32 +0200
Maxime Ripard <mripard@kernel.org> wrote:

> hi,
> 
> On Tue, Apr 08, 2025 at 05:27:00PM +0200, Kory Maincent wrote:
> > Add the dsi-lanes property to specify the number of DSI lanes used by the
> > panel. This allows configuring the panel for either two, three or four
> > lanes.
> > 
> > Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
> > ---
> >  Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml | 5
> > +++++ 1 file changed, 5 insertions(+)
> > 
> > diff --git
> > a/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml
> > b/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml
> > index
> > baf5dfe5f5ebdd92f460a78d0e56e1b45e7dd323..e36550616f6aac86c79832a48132ce8c11ebcf7a
> > 100644 ---
> > a/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml +++
> > b/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml @@
> > -27,6 +27,11 @@ properties: reg: maxItems: 1 
> > +  dsi-lanes:
> > +    description: Number of DSI lanes to be used must be <2>, <3> or <4>
> > +    $ref: /schemas/types.yaml#/definitions/uint32
> > +    enum: [2, 3, 4]
> > +  
> 
> We have the data-lanes property for that already

Indeed but there is no such usage in panel bindings, only in bridge bindings.

You are saying that I should add something like that:
  port:                                                                        
    $ref: /schemas/graph.yaml#/properties/port

    properties:                                                             
      endpoint:                                                             
        $ref: /schemas/media/video-interfaces.yaml#                         
        unevaluatedProperties: false                                        

        data-lanes:
          minItems: 2
          maxItems: 4                                               

And use drm_of_get_data_lanes_count in the drivers.

If we do so, maybe this binding should land in panel-common.yaml instead?

Regards,
Dmitry Baryshkov April 10, 2025, 9:33 a.m. UTC | #2
On Wed, Apr 09, 2025 at 11:28:46AM +0200, Kory Maincent wrote:
> On Tue, 8 Apr 2025 17:44:32 +0200
> Maxime Ripard <mripard@kernel.org> wrote:
> 
> > hi,
> > 
> > On Tue, Apr 08, 2025 at 05:27:00PM +0200, Kory Maincent wrote:
> > > Add the dsi-lanes property to specify the number of DSI lanes used by the
> > > panel. This allows configuring the panel for either two, three or four
> > > lanes.
> > > 
> > > Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
> > > ---
> > >  Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml | 5
> > > +++++ 1 file changed, 5 insertions(+)
> > > 
> > > diff --git
> > > a/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml
> > > b/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml
> > > index
> > > baf5dfe5f5ebdd92f460a78d0e56e1b45e7dd323..e36550616f6aac86c79832a48132ce8c11ebcf7a
> > > 100644 ---
> > > a/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml +++
> > > b/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml @@
> > > -27,6 +27,11 @@ properties: reg: maxItems: 1 
> > > +  dsi-lanes:
> > > +    description: Number of DSI lanes to be used must be <2>, <3> or <4>
> > > +    $ref: /schemas/types.yaml#/definitions/uint32
> > > +    enum: [2, 3, 4]
> > > +  
> > 
> > We have the data-lanes property for that already
> 
> Indeed but there is no such usage in panel bindings, only in bridge bindings.

It is expected that the DSI host sets mipi_dsi_device::lanes correctly.
If it is not the case, please fix the DSI host driver. The panel driver
can then use this data field in the probe function.

> 
> You are saying that I should add something like that:
>   port:                                                                        
>     $ref: /schemas/graph.yaml#/properties/port
> 
>     properties:                                                             
>       endpoint:                                                             
>         $ref: /schemas/media/video-interfaces.yaml#                         
>         unevaluatedProperties: false                                        
> 
>         data-lanes:
>           minItems: 2
>           maxItems: 4                                               
> 
> And use drm_of_get_data_lanes_count in the drivers.
> 
> If we do so, maybe this binding should land in panel-common.yaml instead?
> 
> Regards,
> -- 
> Köry Maincent, Bootlin
> Embedded Linux and kernel engineering
> https://bootlin.com
Dmitry Baryshkov April 10, 2025, 9:47 a.m. UTC | #3
On Thu, Apr 10, 2025 at 12:33:35PM +0300, Dmitry Baryshkov wrote:
> On Wed, Apr 09, 2025 at 11:28:46AM +0200, Kory Maincent wrote:
> > On Tue, 8 Apr 2025 17:44:32 +0200
> > Maxime Ripard <mripard@kernel.org> wrote:
> > 
> > > hi,
> > > 
> > > On Tue, Apr 08, 2025 at 05:27:00PM +0200, Kory Maincent wrote:
> > > > Add the dsi-lanes property to specify the number of DSI lanes used by the
> > > > panel. This allows configuring the panel for either two, three or four
> > > > lanes.
> > > > 
> > > > Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
> > > > ---
> > > >  Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml | 5
> > > > +++++ 1 file changed, 5 insertions(+)
> > > > 
> > > > diff --git
> > > > a/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml
> > > > b/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml
> > > > index
> > > > baf5dfe5f5ebdd92f460a78d0e56e1b45e7dd323..e36550616f6aac86c79832a48132ce8c11ebcf7a
> > > > 100644 ---
> > > > a/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml +++
> > > > b/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml @@
> > > > -27,6 +27,11 @@ properties: reg: maxItems: 1 
> > > > +  dsi-lanes:
> > > > +    description: Number of DSI lanes to be used must be <2>, <3> or <4>
> > > > +    $ref: /schemas/types.yaml#/definitions/uint32
> > > > +    enum: [2, 3, 4]
> > > > +  
> > > 
> > > We have the data-lanes property for that already
> > 
> > Indeed but there is no such usage in panel bindings, only in bridge bindings.
> 
> It is expected that the DSI host sets mipi_dsi_device::lanes correctly.
> If it is not the case, please fix the DSI host driver. The panel driver
> can then use this data field in the probe function.

And I should have refreshed my memory before writing the comment... It
is checked by DSI host rather than being set by it.

> 
> > 
> > You are saying that I should add something like that:
> >   port:                                                                        
> >     $ref: /schemas/graph.yaml#/properties/port
> > 
> >     properties:                                                             
> >       endpoint:                                                             
> >         $ref: /schemas/media/video-interfaces.yaml#                         
> >         unevaluatedProperties: false                                        
> > 
> >         data-lanes:
> >           minItems: 2
> >           maxItems: 4                                               
> > 
> > And use drm_of_get_data_lanes_count in the drivers.

Yes.

> > 
> > If we do so, maybe this binding should land in panel-common.yaml instead?

I'd say, no, because some panels might support single-lane config. You
will end up tuning the property in your bindings too.

> > 
> > Regards,
> > -- 
> > Köry Maincent, Bootlin
> > Embedded Linux and kernel engineering
> > https://bootlin.com
> 
> -- 
> With best wishes
> Dmitry
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml b/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml
index baf5dfe5f5ebdd92f460a78d0e56e1b45e7dd323..e36550616f6aac86c79832a48132ce8c11ebcf7a 100644
--- a/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml
+++ b/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml
@@ -27,6 +27,11 @@  properties:
   reg:
     maxItems: 1
 
+  dsi-lanes:
+    description: Number of DSI lanes to be used must be <2>, <3> or <4>
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum: [2, 3, 4]
+
   backlight: true
   power-supply: true
   reset-gpios: true