On Mon, May 17, 2021 at 01:09:00PM -0700, Douglas Anderson wrote: > We want to be able to list an eDP panel as a child of a ti-sn65dsi86 > node to represent the fact that the panel is connected to the bridge's > DP AUX bus. Though the panel and the bridge chip are connected in > several ways, the DP AUX bus is the primary control interface between > the two and thus makes the most sense to model in device tree > hierarchy. > > Listing a panel in this way makes it possible for the panel driver to > easily get access to the DP AUX bus that it resides on, which can be > useful to help in auto-detecting the panel and for turning on various > bits. > > NOTE: it's still possible to continue using the bridge chip and point > to a panel that _isn't_ listed as a child of the bridge chip (since > it's worked that way previously), but that should be deprecated since > there is no downside to listing the panel under the bridge chip. > > The idea for this bus's design was hashed out over IRC [1]. > > [1] https://people.freedesktop.org/~cbrill/dri-log/?channel=dri-devel&date=2021-05-11 > > Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> > --- > Possibly we might want something fancier that could be included by > other eDP controller bindings. If we want to do this, I'd love to be > pointed at a good example to follow. > > Changes in v7: > - ti-sn65dsi86: Add aux-bus child patch new for v7. > > .../bindings/display/bridge/ti,sn65dsi86.yaml | 22 ++++++++++++++++++- > 1 file changed, 21 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml > index 26932d2e86ab..51f5a29e216c 100644 > --- a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml > +++ b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml > @@ -70,6 +70,11 @@ properties: > const: 1 > description: See ../../pwm/pwm.yaml for description of the cell formats. > > + aux-bus: As this is a node: type: object > + description: > + It is recommended that you place your panel under the aux-bus node > + here to represent the control hierarchy. > + > ports: > $ref: /schemas/graph.yaml#/properties/ports > > @@ -201,11 +206,26 @@ examples: > > port@1 { > reg = <1>; > - endpoint { > + sn65dsi86_out: endpoint { > remote-endpoint = <&panel_in_edp>; > }; > }; > }; > + > + aux-bus { > + panel { We should perhaps have a separate aux-bus schema. Something should define the child node is 'panel' and nothing else. Though perhaps connectors are valid too? > + compatible = "boe,nv133fhm-n62"; > + power-supply = <&pp3300_dx_edp>; > + backlight = <&backlight>; > + hpd-gpios = <&sn65dsi86_bridge 2 GPIO_ACTIVE_HIGH>; > + > + port { > + panel_in_edp: endpoint { > + remote-endpoint = <&sn65dsi86_out>; > + }; > + }; > + }; > + }; > }; > }; > - | > -- > 2.31.1.751.gd2f1c929bd-goog >