From: Angelo Ribeiro <Angelo.Ribeiro@synopsys.com> To: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Angelo Ribeiro <Angelo.Ribeiro@synopsys.com>, David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>, Sam Ravnborg <sam@ravnborg.org>, Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Gustavo Pimentel <Gustavo.Pimentel@synopsys.com>, Joao Pinto <Joao.Pinto@synopsys.com> Subject: [PATCH v3 1/4] dt-bindings: display: Add IPK DSI subsystem bindings Date: Mon, 27 Apr 2020 16:00:33 +0200 [thread overview] Message-ID: <04a657ce78633d82565d3a7ce34a8ab52310ff63.1587992776.git.angelo.ribeiro@synopsys.com> (raw) In-Reply-To: <cover.1587992776.git.angelo.ribeiro@synopsys.com> In-Reply-To: <cover.1587992776.git.angelo.ribeiro@synopsys.com> 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 <robh+dt@kernel.org> Cc: David Airlie <airlied@linux.ie> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Rob Herring <robh+dt@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com> Cc: Joao Pinto <jpinto@synopsys.com> Signed-off-by: Angelo Ribeiro <angelo.ribeiro@synopsys.com> --- 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 0000000..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 <angelo.ribeiro@synopsys.com> + +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 = <&apb_clk>, <&pll_clk>; + clock-names = "pclk", "ref"; + resets = <&ipk_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 = <&vbridge_out>; + }; + }; + + port@1 { + reg = <1>; + dsi_out_port: endpoint { + remote-endpoint = <&panel_dsi_port>; + }; + }; + }; + }; + + i2c: i2c@1000 { + compatible = "snps,designware-i2c"; + reg = <0x01000 0x100>; + clock-frequency = <400000>; + clocks = <&i2cclk>; + interrupts = <0>; + resets = <&ipk_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 = <&dsi_out_port>; + }; + }; + }; + }; + +... diff --git a/Documentation/devicetree/bindings/display/snps,dw-ipk-vpg.yaml b/Documentation/devicetree/bindings/display/snps,dw-ipk-vpg.yaml new file mode 100644 index 0000000..07e8380 --- /dev/null +++ b/Documentation/devicetree/bindings/display/snps,dw-ipk-vpg.yaml @@ -0,0 +1,73 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/snps,dw-ipk-vpg.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Synopsys DesignWare Video Pattern Generator (VPG) for MIPI DSI HOST + +maintainers: + - Angelo Ribeiro <angelo.ribeiro@synopsys.com> + +properties: + compatible: + const: snps,dw-ipk-vpg + + reg: + items: + - description: Video Pattern Generator (VPG) registers + - description: Clock generator (MMCM) registers + minItems: 2 + + reg-names: + items: + - const: vpg + - const: mmcm + minItems: 2 + + resets: + items: + - description: VPG reset line + - description: MMCM reset line + minItems: 2 + + reset-names: + items: + - const: vpg + - const: mmcm + minItems: 2 + + port: + type: object + description: Video port for DPI output. + The VPG has one video port for internal DPI stimulus over the MIPI + DSI host controller. + +required: + - compatible + - reg + - reg-names + - resets + - reset-names + - port + +additionalProperties: false + +examples: + - | + dsi_vpg: dw-dsi-vpg@3000 { + compatible = "snps,dw-ipk-vpg"; + reg = <0x03000 0xfff>, <0x07000 0xfff>; + reg-names = "vpg", "mmcm"; + resets = <&ipk_rst 2>, <&ipk_rst 3>; + reset-names = "vpg", "mmcm"; + status = "okay"; + + port { + vpg_out: endpoint { + remote-endpoint = <&dsi1_in>; + }; + }; + }; + +... -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: Angelo Ribeiro <Angelo.Ribeiro@synopsys.com> To: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mark Rutland <mark.rutland@arm.com>, Joao Pinto <Joao.Pinto@synopsys.com>, David Airlie <airlied@linux.ie>, Gustavo Pimentel <Gustavo.Pimentel@synopsys.com>, Rob Herring <robh+dt@kernel.org>, Angelo Ribeiro <Angelo.Ribeiro@synopsys.com>, Sam Ravnborg <sam@ravnborg.org> Subject: [PATCH v3 1/4] dt-bindings: display: Add IPK DSI subsystem bindings Date: Mon, 27 Apr 2020 16:00:33 +0200 [thread overview] Message-ID: <04a657ce78633d82565d3a7ce34a8ab52310ff63.1587992776.git.angelo.ribeiro@synopsys.com> (raw) In-Reply-To: <cover.1587992776.git.angelo.ribeiro@synopsys.com> In-Reply-To: <cover.1587992776.git.angelo.ribeiro@synopsys.com> 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 <robh+dt@kernel.org> Cc: David Airlie <airlied@linux.ie> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Rob Herring <robh+dt@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com> Cc: Joao Pinto <jpinto@synopsys.com> Signed-off-by: Angelo Ribeiro <angelo.ribeiro@synopsys.com> --- 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 0000000..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 <angelo.ribeiro@synopsys.com> + +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 = <&apb_clk>, <&pll_clk>; + clock-names = "pclk", "ref"; + resets = <&ipk_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 = <&vbridge_out>; + }; + }; + + port@1 { + reg = <1>; + dsi_out_port: endpoint { + remote-endpoint = <&panel_dsi_port>; + }; + }; + }; + }; + + i2c: i2c@1000 { + compatible = "snps,designware-i2c"; + reg = <0x01000 0x100>; + clock-frequency = <400000>; + clocks = <&i2cclk>; + interrupts = <0>; + resets = <&ipk_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 = <&dsi_out_port>; + }; + }; + }; + }; + +... diff --git a/Documentation/devicetree/bindings/display/snps,dw-ipk-vpg.yaml b/Documentation/devicetree/bindings/display/snps,dw-ipk-vpg.yaml new file mode 100644 index 0000000..07e8380 --- /dev/null +++ b/Documentation/devicetree/bindings/display/snps,dw-ipk-vpg.yaml @@ -0,0 +1,73 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/snps,dw-ipk-vpg.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Synopsys DesignWare Video Pattern Generator (VPG) for MIPI DSI HOST + +maintainers: + - Angelo Ribeiro <angelo.ribeiro@synopsys.com> + +properties: + compatible: + const: snps,dw-ipk-vpg + + reg: + items: + - description: Video Pattern Generator (VPG) registers + - description: Clock generator (MMCM) registers + minItems: 2 + + reg-names: + items: + - const: vpg + - const: mmcm + minItems: 2 + + resets: + items: + - description: VPG reset line + - description: MMCM reset line + minItems: 2 + + reset-names: + items: + - const: vpg + - const: mmcm + minItems: 2 + + port: + type: object + description: Video port for DPI output. + The VPG has one video port for internal DPI stimulus over the MIPI + DSI host controller. + +required: + - compatible + - reg + - reg-names + - resets + - reset-names + - port + +additionalProperties: false + +examples: + - | + dsi_vpg: dw-dsi-vpg@3000 { + compatible = "snps,dw-ipk-vpg"; + reg = <0x03000 0xfff>, <0x07000 0xfff>; + reg-names = "vpg", "mmcm"; + resets = <&ipk_rst 2>, <&ipk_rst 3>; + reset-names = "vpg", "mmcm"; + status = "okay"; + + port { + vpg_out: endpoint { + remote-endpoint = <&dsi1_in>; + }; + }; + }; + +... -- 2.7.4 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2020-04-27 14:01 UTC|newest] Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-04-27 14:00 [PATCH v3 0/4] drm: Add support for IPK DSI Host Driver Angelo Ribeiro 2020-04-27 14:00 ` Angelo Ribeiro 2020-04-27 14:00 ` Angelo Ribeiro [this message] 2020-04-27 14:00 ` [PATCH v3 1/4] dt-bindings: display: Add IPK DSI subsystem bindings Angelo Ribeiro 2020-04-27 21:34 ` Rob Herring 2020-04-27 21:34 ` Rob Herring 2020-04-27 14:00 ` [PATCH v3 2/4] drm: ipk: Add DRM driver for DesignWare IPK DSI Angelo Ribeiro 2020-04-27 14:00 ` Angelo Ribeiro 2020-04-27 14:00 ` [PATCH v3 3/4] drm: ipk: Add extensions for DW MIPI DSI Host driver Angelo Ribeiro 2020-04-27 14:00 ` Angelo Ribeiro 2020-04-28 15:28 ` Daniel Vetter 2020-04-28 15:28 ` Daniel Vetter 2020-05-06 9:56 ` Angelo Ribeiro 2020-05-06 9:56 ` Angelo Ribeiro 2020-05-06 10:41 ` Daniel Vetter 2020-05-06 10:41 ` Daniel Vetter 2020-04-27 14:00 ` [PATCH v3 4/4] MAINTAINERS: Add IPK MIPI DSI Host driver entry Angelo Ribeiro 2020-04-27 14:00 ` Angelo Ribeiro 2020-04-27 14:45 ` Joe Perches 2020-04-27 14:45 ` Joe Perches 2020-05-06 7:50 ` Angelo Ribeiro 2020-05-06 7:50 ` Angelo Ribeiro
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=04a657ce78633d82565d3a7ce34a8ab52310ff63.1587992776.git.angelo.ribeiro@synopsys.com \ --to=angelo.ribeiro@synopsys.com \ --cc=Gustavo.Pimentel@synopsys.com \ --cc=Joao.Pinto@synopsys.com \ --cc=airlied@linux.ie \ --cc=daniel@ffwll.ch \ --cc=devicetree@vger.kernel.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=robh+dt@kernel.org \ --cc=sam@ravnborg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.