From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Douglas Anderson <dianders@chromium.org>
Cc: linus.walleij@linaro.org, bgolaszewski@baylibre.com,
airlied@linux.ie, daniel@ffwll.ch, robh+dt@kernel.org,
narmstrong@baylibre.com, a.hajda@samsung.com,
spanda@codeaurora.org, linux-gpio@vger.kernel.org,
jonas@kwiboo.se, robdclark@chromium.org,
bjorn.andersson@linaro.org, jeffrey.l.hugo@gmail.com,
jernej.skrabec@siol.net, dri-devel@lists.freedesktop.org,
linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
swboyd@chromium.org, Krzysztof Kozlowski <krzk@kernel.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 4/6] dt-bindings: drm/bridge: ti-sn65dsi86: Convert to yaml
Date: Wed, 6 May 2020 00:34:50 +0300 [thread overview]
Message-ID: <20200505213450.GA8640@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20200430124442.v4.4.Ifcdc4ecb12742a27862744ee1e8753cb95a38a7f@changeid>
Hi Doug,
Thank you for the patch.
On Thu, Apr 30, 2020 at 12:46:15PM -0700, Douglas Anderson wrote:
> This moves the bindings over, based a lot on toshiba,tc358768.yaml.
> Unless there's someone known to be better, I've set the maintainer in
> the yaml as the first person to submit bindings.
>
> Signed-off-by: Douglas Anderson <dianders@chromium.org>
> Reviewed-by: Stephen Boyd <swboyd@chromium.org>
> ---
>
> Changes in v4: None
> Changes in v3: None
> Changes in v2:
> - specification => specifier.
> - power up => power.
> - Added back missing suspend-gpios.
> - data-lanes and lane-polarities are are the right place now.
> - endpoints don't need to be patternProperties.
> - Specified more details for data-lanes and lane-polarities.
> - Added old example back in, fixing bugs in it.
> - Example i2c bus is just called "i2c", not "i2c1" now.
>
> .../bindings/display/bridge/ti,sn65dsi86.txt | 87 ------
> .../bindings/display/bridge/ti,sn65dsi86.yaml | 279 ++++++++++++++++++
> 2 files changed, 279 insertions(+), 87 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.txt
> create mode 100644 Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml
>
> diff --git a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.txt b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.txt
> deleted file mode 100644
> index 8ec4a7f2623a..000000000000
> --- a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.txt
> +++ /dev/null
> @@ -1,87 +0,0 @@
> -SN65DSI86 DSI to eDP bridge chip
> ---------------------------------
> -
> -This is the binding for Texas Instruments SN65DSI86 bridge.
> -http://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber=sn65dsi86&fileType=pdf
> -
> -Required properties:
> -- compatible: Must be "ti,sn65dsi86"
> -- reg: i2c address of the chip, 0x2d as per datasheet
> -- enable-gpios: gpio specification for bridge_en pin (active high)
> -
> -- vccio-supply: A 1.8V supply that powers up the digital IOs.
> -- vpll-supply: A 1.8V supply that powers up the displayport PLL.
> -- vcca-supply: A 1.2V supply that powers up the analog circuits.
> -- vcc-supply: A 1.2V supply that powers up the digital core.
> -
> -Optional properties:
> -- interrupts-extended: Specifier for the SN65DSI86 interrupt line.
> -
> -- gpio-controller: Marks the device has a GPIO controller.
> -- #gpio-cells : Should be two. The first cell is the pin number and
> - the second cell is used to specify flags.
> - See ../../gpio/gpio.txt for more information.
> -- #pwm-cells : Should be one. See ../../pwm/pwm.yaml for description of
> - the cell formats.
> -
> -- clock-names: should be "refclk"
> -- clocks: Specification for input reference clock. The reference
> - clock rate must be 12 MHz, 19.2 MHz, 26 MHz, 27 MHz or 38.4 MHz.
> -
> -- data-lanes: See ../../media/video-interface.txt
> -- lane-polarities: See ../../media/video-interface.txt
> -
> -- suspend-gpios: specification for GPIO1 pin on bridge (active low)
> -
> -Required nodes:
> -This device has two video ports. Their connections are modelled using the
> -OF graph bindings specified in Documentation/devicetree/bindings/graph.txt.
> -
> -- Video port 0 for DSI input
> -- Video port 1 for eDP output
> -
> -Example
> --------
> -
> -edp-bridge@2d {
> - compatible = "ti,sn65dsi86";
> - #address-cells = <1>;
> - #size-cells = <0>;
> - reg = <0x2d>;
> -
> - enable-gpios = <&msmgpio 33 GPIO_ACTIVE_HIGH>;
> - suspend-gpios = <&msmgpio 34 GPIO_ACTIVE_LOW>;
> -
> - interrupts-extended = <&gpio3 4 IRQ_TYPE_EDGE_FALLING>;
> -
> - vccio-supply = <&pm8916_l17>;
> - vcca-supply = <&pm8916_l6>;
> - vpll-supply = <&pm8916_l17>;
> - vcc-supply = <&pm8916_l6>;
> -
> - clock-names = "refclk";
> - clocks = <&input_refclk>;
> -
> - ports {
> - #address-cells = <1>;
> - #size-cells = <0>;
> -
> - port@0 {
> - reg = <0>;
> -
> - edp_bridge_in: endpoint {
> - remote-endpoint = <&dsi_out>;
> - };
> - };
> -
> - port@1 {
> - reg = <1>;
> -
> - edp_bridge_out: endpoint {
> - data-lanes = <2 1 3 0>;
> - lane-polarities = <0 1 0 1>;
> - remote-endpoint = <&edp_panel_in>;
> - };
> - };
> - };
> -}
> diff --git a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml
> new file mode 100644
> index 000000000000..6d7d40ad45ac
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml
> @@ -0,0 +1,279 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi86.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: SN65DSI86 DSI to eDP bridge chip
> +
> +maintainers:
> + - Sandeep Panda <spanda@codeaurora.org>
> +
> +description: |
> + The Texas Instruments SN65DSI86 bridge takes MIPI DSI in and outputs eDP.
> + http://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber=sn65dsi86&fileType=pdf
> +
> +properties:
> + compatible:
> + const: ti,sn65dsi86
> +
> + reg:
> + const: 0x2d
> +
> + enable-gpios:
> + maxItems: 1
> + description: GPIO specifier for bridge_en pin (active high).
> +
> + suspend-gpios:
> + maxItems: 1
> + description: GPIO specifier for GPIO1 pin on bridge (active low).
> +
> + vccio-supply:
> + description: A 1.8V supply that powers the digital IOs.
> +
> + vpll-supply:
> + description: A 1.8V supply that powers the DisplayPort PLL.
> +
> + vcca-supply:
> + description: A 1.2V supply that powers the analog circuits.
> +
> + vcc-supply:
> + description: A 1.2V supply that powers the digital core.
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> + description:
> + Clock specifier for input reference clock. The reference clock rate must
> + be 12 MHz, 19.2 MHz, 26 MHz, 27 MHz or 38.4 MHz.
> +
> + clock-names:
> + const: refclk
> +
> + gpio-controller: true
> + '#gpio-cells':
> + const: 2
> + description:
> + First cell is pin number, second cell is flags. GPIO pin numbers are
> + 1-based to match the datasheet. See ../../gpio/gpio.txt for more
> + information.
> +
> + '#pwm-cells':
> + const: 1
> + description: See ../../pwm/pwm.yaml for description of the cell formats.
> +
> + ports:
> + type: object
Maybe
additionalProperties: false
here ?
> +
> + properties:
> + "#address-cells":
> + const: 1
> +
> + "#size-cells":
> + const: 0
> +
> + port@0:
> + type: object
> + additionalProperties: false
> +
> + description:
> + Video port for MIPI DSI input
> +
> + properties:
> + reg:
> + const: 0
> +
> + endpoint:
> + type: object
> + additionalProperties: false
> +
> + properties:
> + remote-endpoint: true
> +
> + data-lanes:
> + minItems: 1
> + maxItems: 4
> + items:
> + enum:
> + - 0
> + - 1
> + - 2
> + - 3
> + description: See ../../media/video-interface.txt
And maybe
uniqueItems: true
? Same for port@1.
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> +
> + lane-polarities:
> + minItems: 1
> + maxItems: 4
> + items:
> + enum:
> + - 0
> + - 1
> + description: See ../../media/video-interface.txt
> +
> + dependencies:
> + data-lanes: [lane-polarities]
> +
> + required:
> + - reg
> +
> + port@1:
> + type: object
> + additionalProperties: false
> +
> + description:
> + Video port for eDP output (panel or connector).
> +
> + properties:
> + reg:
> + const: 1
> +
> + endpoint:
> + type: object
> + additionalProperties: false
> +
> + properties:
> + remote-endpoint: true
> +
> + data-lanes:
> + minItems: 1
> + maxItems: 4
> + items:
> + enum:
> + - 0
> + - 1
> + - 2
> + - 3
> + description: See ../../media/video-interface.txt
> +
> + lane-polarities:
> + minItems: 1
> + maxItems: 4
> + items:
> + enum:
> + - 0
> + - 1
> + description: See ../../media/video-interface.txt
> +
> + dependencies:
> + data-lanes: [lane-polarities]
> +
> + required:
> + - reg
> +
> + required:
> + - "#address-cells"
> + - "#size-cells"
> + - port@0
> + - port@1
> +
> +required:
> + - compatible
> + - reg
> + - enable-gpios
> + - vccio-supply
> + - vpll-supply
> + - vcca-supply
> + - vcc-supply
> + - ports
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/qcom,rpmh.h>
> + #include <dt-bindings/gpio/gpio.h>
> + #include <dt-bindings/interrupt-controller/irq.h>
> +
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + bridge@2d {
> + compatible = "ti,sn65dsi86";
> + reg = <0x2d>;
> +
> + interrupt-parent = <&tlmm>;
> + interrupts = <10 IRQ_TYPE_LEVEL_HIGH>;
> +
> + enable-gpios = <&tlmm 102 GPIO_ACTIVE_HIGH>;
> +
> + vpll-supply = <&src_pp1800_s4a>;
> + vccio-supply = <&src_pp1800_s4a>;
> + vcca-supply = <&src_pp1200_l2a>;
> + vcc-supply = <&src_pp1200_l2a>;
> +
> + clocks = <&rpmhcc RPMH_LN_BB_CLK2>;
> + clock-names = "refclk";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> + endpoint {
> + remote-endpoint = <&dsi0_out>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> + endpoint {
> + remote-endpoint = <&panel_in_edp>;
> + };
> + };
> + };
> + };
> + };
> + - |
> + #include <dt-bindings/clock/qcom,rpmh.h>
> + #include <dt-bindings/gpio/gpio.h>
> + #include <dt-bindings/interrupt-controller/irq.h>
> +
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + bridge@2d {
> + compatible = "ti,sn65dsi86";
> + reg = <0x2d>;
> +
> + enable-gpios = <&msmgpio 33 GPIO_ACTIVE_HIGH>;
> + suspend-gpios = <&msmgpio 34 GPIO_ACTIVE_LOW>;
> +
> + interrupts-extended = <&gpio3 4 IRQ_TYPE_EDGE_FALLING>;
> +
> + vccio-supply = <&pm8916_l17>;
> + vcca-supply = <&pm8916_l6>;
> + vpll-supply = <&pm8916_l17>;
> + vcc-supply = <&pm8916_l6>;
> +
> + clock-names = "refclk";
> + clocks = <&input_refclk>;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> +
> + edp_bridge_in: endpoint {
> + remote-endpoint = <&dsi_out>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> +
> + edp_bridge_out: endpoint {
> + data-lanes = <2 1 3 0>;
> + lane-polarities = <0 1 0 1>;
> + remote-endpoint = <&edp_panel_in>;
> + };
> + };
> + };
> + };
> + };
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2020-05-05 21:35 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-30 19:46 [PATCH v4 0/6] drm: Prepare to use a GPIO on ti-sn65dsi86 for Hot Plug Detect Douglas Anderson
2020-04-30 19:46 ` [PATCH v4 1/6] drm/bridge: ti-sn65dsi86: Export bridge GPIOs to Linux Douglas Anderson
2020-05-07 14:39 ` Doug Anderson
2020-05-12 12:22 ` Linus Walleij
2020-04-30 19:46 ` [PATCH v4 2/6] dt-bindings: display: Add hpd-gpios to panel-common bindings Douglas Anderson
2020-05-05 21:38 ` Laurent Pinchart
2020-04-30 19:46 ` [PATCH v4 3/6] drm/panel-simple: Support hpd-gpios for delaying prepare() Douglas Anderson
2020-04-30 19:46 ` [PATCH v4 4/6] dt-bindings: drm/bridge: ti-sn65dsi86: Convert to yaml Douglas Anderson
2020-05-05 21:34 ` Laurent Pinchart [this message]
2020-05-05 22:21 ` Doug Anderson
2020-05-06 21:05 ` Doug Anderson
2020-04-30 19:46 ` [PATCH v4 5/6] dt-bindings: drm/bridge: ti-sn65dsi86: Document no-hpd Douglas Anderson
2020-05-05 21:37 ` Laurent Pinchart
2020-04-30 19:46 ` [PATCH v4 6/6] arm64: dts: sdm845: Add "no-hpd" to sn65dsi86 on cheza Douglas Anderson
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=20200505213450.GA8640@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=a.hajda@samsung.com \
--cc=airlied@linux.ie \
--cc=bgolaszewski@baylibre.com \
--cc=bjorn.andersson@linaro.org \
--cc=daniel@ffwll.ch \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=jeffrey.l.hugo@gmail.com \
--cc=jernej.skrabec@siol.net \
--cc=jonas@kwiboo.se \
--cc=krzk@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=narmstrong@baylibre.com \
--cc=paul.walmsley@sifive.com \
--cc=robdclark@chromium.org \
--cc=robh+dt@kernel.org \
--cc=spanda@codeaurora.org \
--cc=swboyd@chromium.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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).