On 04/07/2024 10:48, Manikandan Muralidharan wrote: > Add the 'sam9x75-mipi-dsi' compatible binding, which describes the > Microchip's specific wrapper for the Synopsys DesignWare MIPI DSI HOST > Controller for the sam9x75 series System-on-Chip (SoC) devices. > > Signed-off-by: Manikandan Muralidharan <manikandan.m@xxxxxxxxxxxxx> > --- > .../bridge/microchip,sam9x75-mipi-dsi.yaml | 135 ++++++++++++++++++ > 1 file changed, 135 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/bridge/microchip,sam9x75-mipi-dsi.yaml > > diff --git a/Documentation/devicetree/bindings/display/bridge/microchip,sam9x75-mipi-dsi.yaml b/Documentation/devicetree/bindings/display/bridge/microchip,sam9x75-mipi-dsi.yaml > new file mode 100644 > index 000000000000..87aaf9c929e9 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/bridge/microchip,sam9x75-mipi-dsi.yaml > @@ -0,0 +1,135 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/bridge/microchip,sam9x75-mipi-dsi.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Microchip SAM9X75 MIPI DSI Controller > + > +maintainers: > + - Manikandan Muralidharan <manikandan.m@xxxxxxxxxxxxx> > + > +description: > + Microchip specific extensions or wrapper to the Synopsys Designware MIPI DSI. > + The MIPI Display Serial Interface (DSI) Host Controller implements all > + protocol functions defined in the MIPI DSI Specification. The DSI Host > + provides an interface between the LCD Controller (LCDC) and the MIPI D-PHY, > + allowing communication with a DSI-compliant display. > + > +allOf: > + - $ref: /schemas/display/dsi-controller.yaml# > + > +properties: > + compatible: > + const: microchip,sam9x75-mipi-dsi > + > + reg: > + maxItems: 1 > + > + clocks: > + description: > + MIPI DSI must have two clocks to function correctly.Peripheral clock > + 'pclk' for the hardware block functionality and Generic clock 'refclk' to > + drive the D-PHY PLL block. List the clocks with description instead of writing it in free-form text. > + minItems: 2 Drop, three clocks would not be correct anyway, right? > + > + clock-names: > + items: > + - const: pclk > + - const: refclk > + > + microchip,sfr: > + $ref: /schemas/types.yaml#/definitions/phandle > + description: > + phandle to Special Function Register (SFR) node.To enable the DSI/CSI Everywhere: there is always a space after full stop. > + selection bit in SFR's ISS Configuration Register. > + > + ports: > + $ref: /schemas/graph.yaml#/properties/ports > + > + properties: > + port@0: > + $ref: /schemas/graph.yaml#/$defs/port-base > + unevaluatedProperties: false > + description: > + DSI Input port node, connected to the LCDC RGB output port. > + > + properties: > + endpoint: > + $ref: /schemas/media/video-interfaces.yaml# > + unevaluatedProperties: false > + properties: > + remote-endpoint: true Why do you need it? No constraints on data-lanes or frequencies? > + > + port@1: > + $ref: /schemas/graph.yaml#/$defs/port-base > + unevaluatedProperties: false > + description: > + DSI Output port node, connected to a panel or a bridge input port. > + > + properties: > + endpoint: > + $ref: /schemas/media/video-interfaces.yaml# > + unevaluatedProperties: false > + properties: > + remote-endpoint: true > + > +required: > + - compatible > + - reg > + - clocks > + - clock-names > + - ports > + > +unevaluatedProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/at91.h> > + #include <dt-bindings/gpio/gpio.h> > + > + dsi: dsi@f8054000 { Drop unused label. > + compatible = "microchip,sam9x75-mipi-dsi"; > + reg = <0xf8054000 0x200>; > + clocks = <&pmc PMC_TYPE_PERIPHERAL 54>, <&pmc PMC_TYPE_GCK 55>; > + clock-names = "pclk", "refclk"; > + microchip,sfr = <&sfr>; > + > + #address-cells = <1>; > + #size-cells = <0>; > + > + ports { > + #address-cells = <1>; Messed indentation, everywhere in the example... Use 4 spaces for example indentation. > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + dsi_in: endpoint { > + remote-endpoint = <&hlcdc_panel_output>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + dsi_out: endpoint { > + remote-endpoint = <&mipi_in_panel>; > + }; > + }; > + }; > + > + panel@0 { Drop the node, not related. Best regards, Krzysztof