On Thu, Nov 28, 2019 at 3:07 AM Linus Walleij <linus.walleij@xxxxxxxxxx> 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@xxxxxxxxxxx> > Cc: devicetree@xxxxxxxxxxxxxxx > Suggested-by: Rob Herring <robh@xxxxxxxxxx> > Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> > --- > 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@0: $nodename:0: 'panel@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@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@xxxxxxxxxx>