On Thu, Nov 28, 2019 at 3:07 AM Linus Walleij linus.walleij@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@gerhold.net Cc: devicetree@vger.kernel.org Suggested-by: Rob Herring robh@kernel.org Signed-off-by: Linus Walleij linus.walleij@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@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@kernel.org