Re: [PATCH v10 1/2] dt-bindings: display/bridge: Add binding for NWL mipi dsi host controller

2020-04-09 Thread Guido Günther
Hi,
On Wed, Apr 08, 2020 at 07:32:58PM +0200, Sam Ravnborg wrote:
> Hi Guido.
> 
> We discussed this binding briefly on IRC:
> 
> 19:28  port 0 is defined as
> 19:28  +  Input port node to receive pixel data from the
> 19:28  +  display controller. Exactly one endpoint must be
> 19:28  +  specified.
> 19:28  then there's two endpoints,

There's only a single one allowed due to

  
https://lore.kernel.org/linux-arm-kernel/c86b7ca2-7799-eafd-c380-e4b551520...@samsung.com/

Back when doing that i couldn't figure out a way how to specify this but
I've figured it out now.
Cheers,
 -- Guido

> 
> 
> On Fri, Mar 20, 2020 at 07:49:09PM +0100, Guido Günther wrote:
> > The Northwest Logic MIPI DSI IP core can be found in NXPs i.MX8 SoCs.
> > 
> > Signed-off-by: Guido Günther 
> > Tested-by: Robert Chiras 
> > Reviewed-by: Rob Herring 
> > Acked-by: Sam Ravnborg 
> > ---
> >  .../bindings/display/bridge/nwl-dsi.yaml  | 216 ++
> >  1 file changed, 216 insertions(+)
> >  create mode 100644 
> > Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml 
> > b/Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml
> > new file mode 100644
> > index ..ec1e7e12719d
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml
> > @@ -0,0 +1,216 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/display/bridge/nwl-dsi.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Northwest Logic MIPI-DSI controller on i.MX SoCs
> > +
> > +maintainers:
> > +  - Guido Gúnther 
> > +  - Robert Chiras 
> > +
> > +description: |
> > +  NWL MIPI-DSI host controller found on i.MX8 platforms. This is a dsi 
> > bridge for
> > +  the SOCs NWL MIPI-DSI host controller.
> > +
> > +properties:
> > +  compatible:
> > +const: fsl,imx8mq-nwl-dsi
> > +
> > +  reg:
> > +maxItems: 1
> > +
> > +  interrupts:
> > +maxItems: 1
> > +
> > +  '#address-cells':
> > +const: 1
> > +
> > +  '#size-cells':
> > +const: 0
> > +
> > +  clocks:
> > +items:
> > +  - description: DSI core clock
> > +  - description: RX_ESC clock (used in escape mode)
> > +  - description: TX_ESC clock (used in escape mode)
> > +  - description: PHY_REF clock
> > +  - description: LCDIF clock
> > +
> > +  clock-names:
> > +items:
> > +  - const: core
> > +  - const: rx_esc
> > +  - const: tx_esc
> > +  - const: phy_ref
> > +  - const: lcdif
> > +
> > +  mux-controls:
> > +description:
> > +  mux controller node to use for operating the input mux
> > +
> > +  phys:
> > +maxItems: 1
> > +description:
> > +  A phandle to the phy module representing the DPHY
> > +
> > +  phy-names:
> > +items:
> > +  - const: dphy
> > +
> > +  power-domains:
> > +maxItems: 1
> > +
> > +  resets:
> > +items:
> > +  - description: dsi byte reset line
> > +  - description: dsi dpi reset line
> > +  - description: dsi esc reset line
> > +  - description: dsi pclk reset line
> > +
> > +  reset-names:
> > +items:
> > +  - const: byte
> > +  - const: dpi
> > +  - const: esc
> > +  - const: pclk
> > +
> > +  ports:
> > +type: object
> > +description:
> > +  A node containing DSI input & output port nodes with endpoint
> > +  definitions as documented in
> > +  Documentation/devicetree/bindings/graph.txt.
> > +properties:
> > +  port@0:
> > +type: object
> > +description:
> > +  Input port node to receive pixel data from the
> > +  display controller. Exactly one endpoint must be
> > +  specified.
> > +properties:
> > +  '#address-cells':
> > +const: 1
> > +
> > +  '#size-cells':
> > +const: 0
> > +
> > +  endpoint@0:
> > +description: sub-node describing the input from LCDIF
> > +type: object
> > +
> > +  endpoint@1:
> > +description: sub-node describing the input from DCSS
> > +type: object
> > +
> > +  reg:
> > +const: 0
> > +
> > +required:
> > +  - '#address-cells'
> > +  - '#size-cells'
> > +  - reg
> > +additionalProperties: false
> > +
> > +  port@1:
> > +type: object
> > +description:
> > +  DSI output port node to the panel or the next bridge
> > +  in the chain
> > +
> > +  '#address-cells':
> > +const: 1
> > +
> > +  '#size-cells':
> > +const: 0
> > +
> > +required:
> > +  - '#address-cells'
> > +  - '#size-cells'
> > +  - port@0
> > +  - port@1
> > +
> > +additionalProperties: false
> 
> For the casual reader the above confuses.
> Assuming the binding is correct, 

Re: [PATCH v10 1/2] dt-bindings: display/bridge: Add binding for NWL mipi dsi host controller

2020-04-08 Thread Sam Ravnborg
Hi Guido.

We discussed this binding briefly on IRC:

19:28  port 0 is defined as
19:28  +  Input port node to receive pixel data from the
19:28  +  display controller. Exactly one endpoint must be
19:28  +  specified.
19:28  then there's two endpoints,


On Fri, Mar 20, 2020 at 07:49:09PM +0100, Guido Günther wrote:
> The Northwest Logic MIPI DSI IP core can be found in NXPs i.MX8 SoCs.
> 
> Signed-off-by: Guido Günther 
> Tested-by: Robert Chiras 
> Reviewed-by: Rob Herring 
> Acked-by: Sam Ravnborg 
> ---
>  .../bindings/display/bridge/nwl-dsi.yaml  | 216 ++
>  1 file changed, 216 insertions(+)
>  create mode 100644 
> Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml 
> b/Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml
> new file mode 100644
> index ..ec1e7e12719d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml
> @@ -0,0 +1,216 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/bridge/nwl-dsi.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Northwest Logic MIPI-DSI controller on i.MX SoCs
> +
> +maintainers:
> +  - Guido Gúnther 
> +  - Robert Chiras 
> +
> +description: |
> +  NWL MIPI-DSI host controller found on i.MX8 platforms. This is a dsi 
> bridge for
> +  the SOCs NWL MIPI-DSI host controller.
> +
> +properties:
> +  compatible:
> +const: fsl,imx8mq-nwl-dsi
> +
> +  reg:
> +maxItems: 1
> +
> +  interrupts:
> +maxItems: 1
> +
> +  '#address-cells':
> +const: 1
> +
> +  '#size-cells':
> +const: 0
> +
> +  clocks:
> +items:
> +  - description: DSI core clock
> +  - description: RX_ESC clock (used in escape mode)
> +  - description: TX_ESC clock (used in escape mode)
> +  - description: PHY_REF clock
> +  - description: LCDIF clock
> +
> +  clock-names:
> +items:
> +  - const: core
> +  - const: rx_esc
> +  - const: tx_esc
> +  - const: phy_ref
> +  - const: lcdif
> +
> +  mux-controls:
> +description:
> +  mux controller node to use for operating the input mux
> +
> +  phys:
> +maxItems: 1
> +description:
> +  A phandle to the phy module representing the DPHY
> +
> +  phy-names:
> +items:
> +  - const: dphy
> +
> +  power-domains:
> +maxItems: 1
> +
> +  resets:
> +items:
> +  - description: dsi byte reset line
> +  - description: dsi dpi reset line
> +  - description: dsi esc reset line
> +  - description: dsi pclk reset line
> +
> +  reset-names:
> +items:
> +  - const: byte
> +  - const: dpi
> +  - const: esc
> +  - const: pclk
> +
> +  ports:
> +type: object
> +description:
> +  A node containing DSI input & output port nodes with endpoint
> +  definitions as documented in
> +  Documentation/devicetree/bindings/graph.txt.
> +properties:
> +  port@0:
> +type: object
> +description:
> +  Input port node to receive pixel data from the
> +  display controller. Exactly one endpoint must be
> +  specified.
> +properties:
> +  '#address-cells':
> +const: 1
> +
> +  '#size-cells':
> +const: 0
> +
> +  endpoint@0:
> +description: sub-node describing the input from LCDIF
> +type: object
> +
> +  endpoint@1:
> +description: sub-node describing the input from DCSS
> +type: object
> +
> +  reg:
> +const: 0
> +
> +required:
> +  - '#address-cells'
> +  - '#size-cells'
> +  - reg
> +additionalProperties: false
> +
> +  port@1:
> +type: object
> +description:
> +  DSI output port node to the panel or the next bridge
> +  in the chain
> +
> +  '#address-cells':
> +const: 1
> +
> +  '#size-cells':
> +const: 0
> +
> +required:
> +  - '#address-cells'
> +  - '#size-cells'
> +  - port@0
> +  - port@1
> +
> +additionalProperties: false

For the casual reader the above confuses.
Assuming the binding is correct, can we have the comment updated.

Sam

> +
> +patternProperties:
> +  "^panel@[0-9]+$":
> +type: object
> +
> +required:
> +  - '#address-cells'
> +  - '#size-cells'
> +  - clock-names
> +  - clocks
> +  - compatible
> +  - interrupts
> +  - mux-controls
> +  - phy-names
> +  - phys
> +  - ports
> +  - reg
> +  - reset-names
> +  - resets
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> +
> +   #include 
> +   #include 
> +   #include 
> +
> +   mipi_dsi: mipi_dsi@30a0 {
> +  #address-cells = <1>;
> +  #size-cells = <0>;
> +  compatible = "fsl,imx8mq-nwl-dsi";
> +  reg = <0x3

Re: [PATCH v10 1/2] dt-bindings: display/bridge: Add binding for NWL mipi dsi host controller

2020-03-24 Thread Fabio Estevam
On Fri, Mar 20, 2020 at 3:49 PM Guido Günther  wrote:
>
> The Northwest Logic MIPI DSI IP core can be found in NXPs i.MX8 SoCs.
>
> Signed-off-by: Guido Günther 
> Tested-by: Robert Chiras 
> Reviewed-by: Rob Herring 
> Acked-by: Sam Ravnborg 

Reviewed-by: Fabio Estevam 
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[PATCH v10 1/2] dt-bindings: display/bridge: Add binding for NWL mipi dsi host controller

2020-03-20 Thread Guido Günther
The Northwest Logic MIPI DSI IP core can be found in NXPs i.MX8 SoCs.

Signed-off-by: Guido Günther 
Tested-by: Robert Chiras 
Reviewed-by: Rob Herring 
Acked-by: Sam Ravnborg 
---
 .../bindings/display/bridge/nwl-dsi.yaml  | 216 ++
 1 file changed, 216 insertions(+)
 create mode 100644 
Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml

diff --git a/Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml 
b/Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml
new file mode 100644
index ..ec1e7e12719d
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml
@@ -0,0 +1,216 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/bridge/nwl-dsi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Northwest Logic MIPI-DSI controller on i.MX SoCs
+
+maintainers:
+  - Guido Gúnther 
+  - Robert Chiras 
+
+description: |
+  NWL MIPI-DSI host controller found on i.MX8 platforms. This is a dsi bridge 
for
+  the SOCs NWL MIPI-DSI host controller.
+
+properties:
+  compatible:
+const: fsl,imx8mq-nwl-dsi
+
+  reg:
+maxItems: 1
+
+  interrupts:
+maxItems: 1
+
+  '#address-cells':
+const: 1
+
+  '#size-cells':
+const: 0
+
+  clocks:
+items:
+  - description: DSI core clock
+  - description: RX_ESC clock (used in escape mode)
+  - description: TX_ESC clock (used in escape mode)
+  - description: PHY_REF clock
+  - description: LCDIF clock
+
+  clock-names:
+items:
+  - const: core
+  - const: rx_esc
+  - const: tx_esc
+  - const: phy_ref
+  - const: lcdif
+
+  mux-controls:
+description:
+  mux controller node to use for operating the input mux
+
+  phys:
+maxItems: 1
+description:
+  A phandle to the phy module representing the DPHY
+
+  phy-names:
+items:
+  - const: dphy
+
+  power-domains:
+maxItems: 1
+
+  resets:
+items:
+  - description: dsi byte reset line
+  - description: dsi dpi reset line
+  - description: dsi esc reset line
+  - description: dsi pclk reset line
+
+  reset-names:
+items:
+  - const: byte
+  - const: dpi
+  - const: esc
+  - const: pclk
+
+  ports:
+type: object
+description:
+  A node containing DSI input & output port nodes with endpoint
+  definitions as documented in
+  Documentation/devicetree/bindings/graph.txt.
+properties:
+  port@0:
+type: object
+description:
+  Input port node to receive pixel data from the
+  display controller. Exactly one endpoint must be
+  specified.
+properties:
+  '#address-cells':
+const: 1
+
+  '#size-cells':
+const: 0
+
+  endpoint@0:
+description: sub-node describing the input from LCDIF
+type: object
+
+  endpoint@1:
+description: sub-node describing the input from DCSS
+type: object
+
+  reg:
+const: 0
+
+required:
+  - '#address-cells'
+  - '#size-cells'
+  - reg
+additionalProperties: false
+
+  port@1:
+type: object
+description:
+  DSI output port node to the panel or the next bridge
+  in the chain
+
+  '#address-cells':
+const: 1
+
+  '#size-cells':
+const: 0
+
+required:
+  - '#address-cells'
+  - '#size-cells'
+  - port@0
+  - port@1
+
+additionalProperties: false
+
+patternProperties:
+  "^panel@[0-9]+$":
+type: object
+
+required:
+  - '#address-cells'
+  - '#size-cells'
+  - clock-names
+  - clocks
+  - compatible
+  - interrupts
+  - mux-controls
+  - phy-names
+  - phys
+  - ports
+  - reg
+  - reset-names
+  - resets
+
+additionalProperties: false
+
+examples:
+ - |
+
+   #include 
+   #include 
+   #include 
+
+   mipi_dsi: mipi_dsi@30a0 {
+  #address-cells = <1>;
+  #size-cells = <0>;
+  compatible = "fsl,imx8mq-nwl-dsi";
+  reg = <0x30A0 0x300>;
+  clocks = <&clk IMX8MQ_CLK_DSI_CORE>,
+   <&clk IMX8MQ_CLK_DSI_AHB>,
+   <&clk IMX8MQ_CLK_DSI_IPG_DIV>,
+   <&clk IMX8MQ_CLK_DSI_PHY_REF>,
+   <&clk IMX8MQ_CLK_LCDIF_PIXEL>;
+  clock-names = "core", "rx_esc", "tx_esc", "phy_ref", "lcdif";
+  interrupts = ;
+  mux-controls = <&mux 0>;
+  power-domains = <&pgc_mipi>;
+  resets = <&src IMX8MQ_RESET_MIPI_DSI_RESET_BYTE_N>,
+   <&src IMX8MQ_RESET_MIPI_DSI_DPI_RESET_N>,
+   <&src IMX8MQ_RESET_MIPI_DSI_ESC_RESET_N>,
+   <&src IMX8MQ_RESET_MIPI_DSI_PCLK_RESET_N>;
+  reset-names = "byte", "dpi", "esc", "pclk";
+  phys = <&dphy>;
+