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: + 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 { + 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