[PATCH v3 1/4] dt-bindings: display: Add IPK DSI subsystem bindings

2020-04-28 Thread Angelo Ribeiro
Add dt-bindings for Synopsys DesignWare MIPI DSI Host and VPG (Video
Pattern Generator) support in the IPK display subsystem.

The Synopsys DesignWare IPK display video pipeline is composed by a DSI
controller (snps,dw-ipk-dsi) and a VPG (snps,dw-ipk-vpg) as DPI
stimulus. Typically is used the Raspberry Pi
(raspberrypi,7inch-touchscreen-panel) as DSI panel that requires a
I2C controller (snps,designware-i2c).

Reported-by: Rob Herring 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: Sam Ravnborg 
Cc: Rob Herring 
Cc: Mark Rutland 
Cc: Gustavo Pimentel 
Cc: Joao Pinto 
Signed-off-by: Angelo Ribeiro 
---
Changes since v3:
  - Fixed dt-binding breaking on `make dt_binding_check`.

Changes since v2:
  - Fixed dt-bindings issues, see
https://patchwork.ozlabs.org/patch/1260819/.
---
 .../bindings/display/snps,dw-ipk-dsi.yaml  | 159 +
 .../bindings/display/snps,dw-ipk-vpg.yaml  |  73 ++
 2 files changed, 232 insertions(+)
 create mode 100644 
Documentation/devicetree/bindings/display/snps,dw-ipk-dsi.yaml
 create mode 100644 
Documentation/devicetree/bindings/display/snps,dw-ipk-vpg.yaml

diff --git a/Documentation/devicetree/bindings/display/snps,dw-ipk-dsi.yaml 
b/Documentation/devicetree/bindings/display/snps,dw-ipk-dsi.yaml
new file mode 100644
index 000..af4b775
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/snps,dw-ipk-dsi.yaml
@@ -0,0 +1,159 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/snps,dw-ipk-dsi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Synopsys DesignWare IPK specific extensions for the Synopsys DSI host
+   controller.
+
+maintainers:
+  - Angelo Ribeiro 
+
+description: |
+  The Synopsys DesignWare IPK DSI controller uses the Synopsys DesignWare MIPI
+  DSI host controller.
+  For more info refer to
+  Documentation/devicetree/bindings/display/bridge/dw_mipi_dsi.txt.
+
+properties:
+  '#address-cells':
+const: 1
+
+  '#size-cells':
+const: 0
+
+  compatible:
+items:
+  - const: snps,dw-ipk-dsi
+  - const: snps,dw-mipi-dsi
+
+  reg:
+items:
+  - description: DW MIPI DSI Host registers
+  - description: DW MIPI DSI Phy test-chip registers
+minItems: 2
+
+  reg-names:
+items:
+ - const: dsi
+ - const: phy
+minItems: 2
+
+  clocks:
+items:
+  - description: Peripheral clock
+  - description: PLL clock
+  - description: Pixel clock
+minItems: 2
+
+  clock-names:
+items:
+  - const: pclk
+  - const: ref
+  - const: px_clk
+minItems: 2
+
+  resets:
+items:
+  - description: APB reset line
+minItems: 1
+
+  reset-names:
+items:
+  - const: apb
+minItems: 1
+
+  ports:
+type: object
+description: |
+  A port node containging a DSI input and outuput port nodes as defined in
+  Documentation/devicetree/bindings/media/video-interfaces.txt and
+  Documentation/devicetree/bindings/graph.txt.
+properties:
+  port@0:
+type: object
+description: Input endpoint of the controller, connects to a DPI 
source.
+
+  port@1:
+type: object
+description: Output endpoint of the controller, connects to a panel or
+  a bridge input port.
+
+required:
+  - port@0
+  - port@1
+
+additionalProperties: false
+
+required:
+  - "#address-cells"
+  - "#size-cells"
+  - compatible
+  - reg
+  - reg-names
+  - clocks
+  - clock-names
+  - resets
+  - reset-names
+  - ports
+
+examples:
+  - |
+dsi1: dw-ipk-dsi@2000 {
+compatible = "snps,dw-ipk-dsi";
+reg = <0x02000 0xfff>, <0x05000 0xfff>;
+reg-names = "dsi", "phy";
+clocks = <_clk>, <_clk>;
+clock-names = "pclk", "ref";
+resets = <_rst 1>;
+reset-names = "apb";
+
+#address-cells = <1>;
+#size-cells = <0>;
+
+ports {
+#address-cells = <1>;
+#size-cells = <0>;
+
+port@0 {
+reg = <0>;
+dsi1_in: endpoint {
+remote-endpoint = <_out>;
+};
+};
+
+port@1 {
+reg = <1>;
+dsi_out_port: endpoint {
+remote-endpoint = <_dsi_port>;
+};
+};
+};
+};
+
+i2c: i2c@1000 {
+compatible = "snps,designware-i2c";
+reg = <0x01000 0x100>;
+clock-frequency = <40>;
+clocks = <>;
+interrupts = <0>;
+resets = <_rst 0>;
+reset-names = "i2c";
+
+#address-cells = <1>;
+#size-cells = <0>;
+
+lcd@45 {
+compatible = "raspberrypi,7inch-touchscreen-panel";
+reg = <0x45>;
+
+port {
+panel_dsi_port: endpoint {
+remote-endpoint = <_out_port>;
+};
+};
+};
+};
+
+...

Re: [PATCH v3 1/4] dt-bindings: display: Add IPK DSI subsystem bindings

2020-04-27 Thread Rob Herring
On Mon, 27 Apr 2020 16:00:33 +0200, Angelo Ribeiro wrote:
> Add dt-bindings for Synopsys DesignWare MIPI DSI Host and VPG (Video
> Pattern Generator) support in the IPK display subsystem.
> 
> The Synopsys DesignWare IPK display video pipeline is composed by a DSI
> controller (snps,dw-ipk-dsi) and a VPG (snps,dw-ipk-vpg) as DPI
> stimulus. Typically is used the Raspberry Pi
> (raspberrypi,7inch-touchscreen-panel) as DSI panel that requires a
> I2C controller (snps,designware-i2c).
> 
> Reported-by: Rob Herring 
> Cc: David Airlie 
> Cc: Daniel Vetter 
> Cc: Sam Ravnborg 
> Cc: Rob Herring 
> Cc: Mark Rutland 
> Cc: Gustavo Pimentel 
> Cc: Joao Pinto 
> Signed-off-by: Angelo Ribeiro 
> ---
> Changes since v3:
>   - Fixed dt-binding breaking on `make dt_binding_check`.
> 
> Changes since v2:
>   - Fixed dt-bindings issues, see
> https://patchwork.ozlabs.org/patch/1260819/.
> ---
>  .../bindings/display/snps,dw-ipk-dsi.yaml  | 159 
> +
>  .../bindings/display/snps,dw-ipk-vpg.yaml  |  73 ++
>  2 files changed, 232 insertions(+)
>  create mode 100644 
> Documentation/devicetree/bindings/display/snps,dw-ipk-dsi.yaml
>  create mode 100644 
> Documentation/devicetree/bindings/display/snps,dw-ipk-vpg.yaml
> 

My bot found errors running 'make dt_binding_check' on your patch:

/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/snps,dw-ipk-dsi.example.dt.yaml:
 dw-ipk-dsi@2000: compatible: ['snps,dw-ipk-dsi'] is too short

See https://patchwork.ozlabs.org/patch/1277673

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure dt-schema is up to date:

pip3 install git+https://github.com/devicetree-org/dt-schema.git@master 
--upgrade

Please check and re-submit.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel