[PATCH v6] drm/panel: Add generic DSI display controller YAML bindings

Rob Herring robh at kernel.org
Mon Dec 2 22:28:05 UTC 2019


On Thu, Nov 28, 2019 at 3:07 AM Linus Walleij <linus.walleij at linaro.org> wrote:
>
> This adds a starting point for processing and defining generic
> bindings used by DSI display controllers and panels attached to
> the virtual DSI ports.
>
> Cc: Stephan Gerhold <stephan at gerhold.net>
> Cc: devicetree at vger.kernel.org
> Suggested-by: Rob Herring <robh at kernel.org>
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
> ---
> ChangeLog v5->v6:
> - Rename subject to pertain to DSI display controllers in general.
> - Change some of the wording in the DSI controller description text,
>   making it clear that the binding pertains to the combination of a
>   DSI controller with at least one panel attached.
> - Add a proper compiling example.
> ChangeLog v4->v5:
> - Drop the example.
> - I still have a vert annoying error message in the Sony
>   panel bindings that uses this schema:
>   sony,acx424akp.example.dt.yaml: panel at 0: $nodename:0: 'panel at 0' does not match '^dsi-controller(@.*)?$'
>   As this is modeled very closely to
>   Documentation/devicetree/bindings/net/mdio.yaml
>   and that one doesn't emit this type of warning for its ethernet-phy at 0
>   etc I am pretty much clueless and just can't see what the problem
>   is.
> - If I can't figure this out the only viable next step is to drop the
>   ambition to create yaml bindings simply because I'm unable to do
>   it, and go back to traditional text bindings :(
> ChangeLog v3->v4:
> - Rename into display/dsi-controller.yaml
> - Require a virtual channel number for the DSI panel, as
>   DSI have this 2-bit virtual address field.
> - Bring in some but not all properties from the existing MIPI
>   DSI bindings. This schema can be used with simpler panels but
>   not complex panels with multiple virtual channels for the
>   moment. Let's handle it when we get there.
> - Add an example.
> ChangeLog v2->v3:
> - Make a more complete DSI panel binding including the controller
>   and its address-cells and size-cells and a pattern for the panel
>   nodes. The panel is one per DSI master, the reg property is
>   compulsory but should always be 0 (as far as I can tell) as
>   only one panel can be connected. The bus doesn't really have
>   any addresses for the panel, the address/reg notation seems
>   to be cargo-culted from the port graphs and is not necessary
>   to parse some device trees, it is used to tell whether the
>   node is a panel or not rather than any addressing.
> - I have no idea how many displays you can daisychain on a single
>   DSI master, I just guess 15 will be enough. The MIPI-specs
>   are memberwalled. Someone who knows can tell perhaps?
> ChangeLog v1->v2:
> - New patch after feedback.
> ---
>  .../bindings/display/dsi-controller.yaml      | 91 +++++++++++++++++++
>  1 file changed, 91 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/dsi-controller.yaml

I'll let you apply to drm-misc.

Reviewed-by: Rob Herring <robh at kernel.org>


More information about the dri-devel mailing list