Message ID | 20210607100234.v9.2.Id3c048d22e72a9f90084a543b5b4e3f43bc9ab62@changeid |
---|---|
State | Accepted |
Commit | feac44bad7d7bcbac3f91bc38392e94133813ac8 |
Headers | show |
Series | [v9,01/11] dt-bindings: display: simple: List hpd properties in panel-simple | expand |
On Mon, Jun 7, 2021 at 7:06 PM Douglas Anderson <dianders@chromium.org> wrote: > We want to be able to list an eDP panel as a child of an eDP > controller node to represent the fact that the panel is connected to > the controller's DP AUX bus. Though the panel and the controller 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: historically eDP panels were _not_ listed under their controller > but were listed at the top level of the device tree. This will still > be supported for backward compatibility (and while DP controller > drivers are adapted to support the new DT syntax) but should be > considered deprecated since there is no downside to listing the panel > under the controller. > > For now, the DP AUX bus bindings will only support an eDP panel > underneath. It's possible it could be extended to allow having a DP > connector under it in the future. > > NOTE: there is no "Example" in this bindings file. Yikes! This avoids > duplicating the same example lots of places. See users of the aux bus > (like ti-sn65dsi86) for examples. > > 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@chromium.org> > Reviewed-by: Rob Herring <robh@kernel.org> I overall like this approach a lot: Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij
diff --git a/Documentation/devicetree/bindings/display/dp-aux-bus.yaml b/Documentation/devicetree/bindings/display/dp-aux-bus.yaml new file mode 100644 index 000000000000..5e4afe9f98fb --- /dev/null +++ b/Documentation/devicetree/bindings/display/dp-aux-bus.yaml @@ -0,0 +1,37 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/dp-aux-bus.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: DisplayPort AUX bus + +maintainers: + - Douglas Anderson <dianders@chromium.org> + +description: + DisplayPort controllers provide a control channel to the sinks that + are hooked up to them. This is the DP AUX bus. Over the DP AUX bus + we can query properties about a sink and also configure it. In + particular, DP sinks support DDC over DP AUX which allows tunneling + a standard I2C DDC connection over the AUX channel. + + To model this relationship, DP sinks should be placed as children + of the DP controller under the "aux-bus" node. + + At the moment, this binding only handles the eDP case. It is + possible it will be extended in the future to handle the DP case. + For DP, presumably a connector would be listed under the DP AUX + bus instead of a panel. + +properties: + $nodename: + const: "aux-bus" + + panel: + $ref: panel/panel-common.yaml# + +additionalProperties: false + +required: + - panel