lkml.org 
[lkml]   [2020]   [Apr]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 4/6] dt-bindings: drm/bridge: ti-sn65dsi86: Convert to yaml
    Date
    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>
    ---

    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
    +
    + 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
    +
    + 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>;
    + };
    + };
    + };
    + };
    + };
    --
    2.26.1.301.g55bc3eb7cb9-goog
    \
     
     \ /
      Last update: 2020-04-21 07:07    [W:2.922 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site