Commit cbc2e829 authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'drm-misc-next-2020-08-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next



drm-misc-next for 5.10:

UAPI Changes:

Cross-subsystem Changes:

Core Changes:
  - ttm: various cleanups and reworks of the API

Driver Changes:
  - ast: various cleanups
  - gma500: A few fixes, conversion to GPIOd API
  - hisilicon: Change of maintainer, various reworks
  - ingenic: Clock handling and formats support improvements
  - mcde: improvements to the DSI support
  - mgag200: Support G200 desktop cards
  - mxsfb: Support the i.MX7 and i.MX8M and the alpha plane
  - panfrost: support devfreq
  - ps8640: Retrieve the EDID from eDP control, misc improvements
  - tidss: Add a workaround for AM65xx YUV formats handling
  - virtio: a few cleanups, support for virtio-gpu exported resources
  - bridges: Support the chained bridges on more drivers,
    new bridges: Toshiba TC358762, Toshiba TC358775, Lontium LT9611
  - panels: Convert to dev_ based logging, read orientation from the DT,
    various fixes, new panels: Mantix MLAF057WE51-X, Chefree CH101OLHLWH-002,
    Powertip PH800480T013, KingDisplay KD116N21-30NV-A010

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>

From: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20200827155517.do6emeacetpturli@gilmour.lan
parents d012a719 cd6da0b1
Loading
Loading
Loading
Loading
+176 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/bridge/lontium,lt9611.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Lontium LT9611 2 Port MIPI to HDMI Bridge

maintainers:
  - Vinod Koul <vkoul@kernel.org>

description: |
  The LT9611 is a bridge device which converts DSI to HDMI

properties:
  compatible:
    enum:
      - lontium,lt9611

  reg:
    maxItems: 1

  "#sound-dai-cells":
    const: 1

  interrupts:
    maxItems: 1

  reset-gpios:
    maxItems: 1
    description: GPIO connected to active high RESET pin.

  vdd-supply:
    description: Regulator for 1.8V MIPI phy power.

  vcc-supply:
    description: Regulator for 3.3V IO power.

  ports:
    type: object

    properties:
      "#address-cells":
        const: 1

      "#size-cells":
        const: 0

      port@0:
        type: object
        description: |
          Primary MIPI port-1 for MIPI input

        properties:
          reg:
            const: 0

        patternProperties:
          "^endpoint(@[0-9])$":
            type: object
            additionalProperties: false

            properties:
              remote-endpoint:
                $ref: /schemas/types.yaml#/definitions/phandle

        required:
          - reg

      port@1:
        type: object
        description: |
          Additional MIPI port-2 for MIPI input, used in combination
          with primary MIPI port-1 to drive higher resolution displays

        properties:
          reg:
            const: 1

        patternProperties:
          "^endpoint(@[0-9])$":
            type: object
            additionalProperties: false

            properties:
              remote-endpoint:
                $ref: /schemas/types.yaml#/definitions/phandle

        required:
          - reg

      port@2:
        type: object
        description: |
          HDMI port for HDMI output

        properties:
          reg:
            const: 2

        patternProperties:
          "^endpoint(@[0-9])$":
            type: object
            additionalProperties: false

            properties:
              remote-endpoint:
                $ref: /schemas/types.yaml#/definitions/phandle

        required:
          - reg

    required:
      - "#address-cells"
      - "#size-cells"
      - port@0
      - port@2

required:
  - compatible
  - reg
  - interrupts
  - vdd-supply
  - vcc-supply
  - ports

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>

    i2c10 {
      #address-cells = <1>;
      #size-cells = <0>;

      hdmi-bridge@3b {
        compatible = "lontium,lt9611";
        reg = <0x3b>;

        reset-gpios = <&tlmm 128 GPIO_ACTIVE_HIGH>;
        interrupts-extended = <&tlmm 84 IRQ_TYPE_EDGE_FALLING>;

        vdd-supply = <&lt9611_1v8>;
        vcc-supply = <&lt9611_3v3>;

        ports {
          #address-cells = <1>;
          #size-cells = <0>;

          port@0 {
            reg = <0>;
            lt9611_a: endpoint {
              remote-endpoint = <&dsi0_out>;
            };
          };

          port@1 {
            reg = <1>;
            lt9611_b: endpoint {
              remote-endpoint = <&dsi1_out>;
            };
          };

          port@2 {
            reg = <2>;
            lt9611_out: endpoint {
              remote-endpoint = <&hdmi_con>;
            };
          };
        };
      };
    };

...
+127 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/bridge/toshiba,tc358762.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Toshiba TC358762 MIPI DSI to MIPI DPI bridge

maintainers:
  - Marek Vasut <marex@denx.de>

description: |
  The TC358762 is bridge device which converts MIPI DSI to MIPI DPI.

properties:
  compatible:
    enum:
      - toshiba,tc358762

  reg:
    maxItems: 1
    description: virtual channel number of a DSI peripheral

  vddc-supply:
    description: Regulator for 1.2V internal core power.

  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

        patternProperties:
          endpoint:
            type: object
            additionalProperties: false

            properties:
              remote-endpoint: true

        required:
          - reg

      port@1:
        type: object
        additionalProperties: false

        description: |
          Video port for MIPI DPI output (panel or connector).

        properties:
          reg:
            const: 1

        patternProperties:
          endpoint:
            type: object
            additionalProperties: false

            properties:
              remote-endpoint: true

        required:
          - reg

    required:
      - "#address-cells"
      - "#size-cells"
      - port@0
      - port@1

required:
  - compatible
  - reg
  - vddc-supply
  - ports

additionalProperties: false

examples:
  - |
    i2c1 {
      #address-cells = <1>;
      #size-cells = <0>;

      bridge@0 {
        reg = <0>;
        compatible = "toshiba,tc358762";
        vddc-supply = <&vcc_1v2_reg>;

        ports {
          #address-cells = <1>;
          #size-cells = <0>;

          port@0 {
            reg = <0>;
            bridge_in: endpoint {
              remote-endpoint = <&dsi_out>;
            };
          };

          port@1 {
            reg = <1>;
            bridge_out: endpoint {
              remote-endpoint = <&panel_in>;
            };
          };
        };
      };
    };

...
+215 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/bridge/toshiba,tc358775.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Toshiba TC358775 DSI to LVDS bridge bindings

maintainers:
 - Vinay Simha BN <simhavcs@gmail.com>

description: |
 This binding supports DSI to LVDS bridge TC358775

 MIPI DSI-RX Data 4-lane, CLK 1-lane with data rates up to 800 Mbps/lane.
 Video frame size:
 Up to 1600x1200 24-bit/pixel resolution for single-link LVDS display panel
 limited by 135 MHz LVDS speed
 Up to WUXGA (1920x1200 24-bit pixels) resolution for dual-link LVDS display
 panel, limited by 270 MHz LVDS speed.

properties:
  compatible:
    const: toshiba,tc358775

  reg:
    maxItems: 1
    description: i2c address of the bridge, 0x0f

  vdd-supply:
    maxItems: 1
    description:  1.2V LVDS Power Supply

  vddio-supply:
    maxItems: 1
    description: 1.8V IO Power Supply

  stby-gpios:
    maxItems: 1
    description: Standby pin, Low active

  reset-gpios:
    maxItems: 1
    description: Hardware reset, Low active

  ports:
    type: object
    description:
      A node containing input and output port nodes with endpoint definitions
      as documented in
      Documentation/devicetree/bindings/media/video-interfaces.txt
    properties:
      "#address-cells":
        const: 1

      "#size-cells":
        const: 0

      port@0:
        type: object
        description: |
          DSI Input. The remote endpoint phandle should be a
          reference to a valid mipi_dsi_host device node.

      port@1:
        type: object
        description: |
          Video port for LVDS output (panel or connector).

      port@2:
        type: object
        description: |
          Video port for Dual link LVDS output (panel or connector).

    required:
      - port@0
      - port@1

required:
 - compatible
 - reg
 - vdd-supply
 - vddio-supply
 - stby-gpios
 - reset-gpios
 - ports

examples:
 - |
    #include <dt-bindings/gpio/gpio.h>

    /* For single-link LVDS display panel */

    i2c@78b8000 {
        /* On High speed expansion */
        label = "HS-I2C2";
        reg = <0x078b8000 0x500>;
        clock-frequency = <400000>; /* fastmode operation */
        #address-cells = <1>;
        #size-cells = <0>;

        tc_bridge: bridge@f {
            compatible = "toshiba,tc358775";
            reg = <0x0f>;

            vdd-supply = <&pm8916_l2>;
            vddio-supply = <&pm8916_l6>;

            stby-gpios = <&msmgpio 99 GPIO_ACTIVE_LOW>;
            reset-gpios = <&msmgpio 72 GPIO_ACTIVE_LOW>;

            ports {
                #address-cells = <1>;
                #size-cells = <0>;

                port@0 {
                    reg = <0>;
                    d2l_in_test: endpoint {
                        remote-endpoint = <&dsi0_out>;
                    };
                };

                port@1 {
                    reg = <1>;
                    lvds_out: endpoint {
                        remote-endpoint = <&panel_in>;
                    };
                };
            };
        };
    };

    dsi@1a98000 {
        reg = <0x1a98000 0x25c>;
        reg-names = "dsi_ctrl";

        ports {
            #address-cells = <1>;
            #size-cells = <0>;
            port@1 {
                reg = <1>;
                dsi0_out: endpoint {
                    remote-endpoint = <&d2l_in_test>;
                    data-lanes = <0 1 2 3>;
                };
             };
         };
     };

 - |
    /* For dual-link LVDS display panel */

    i2c@78b8000 {
        /* On High speed expansion */
        label = "HS-I2C2";
        reg = <0x078b8000 0x500>;
        clock-frequency = <400000>; /* fastmode operation */
        #address-cells = <1>;
        #size-cells = <0>;

        tc_bridge_dual: bridge@f {
            compatible = "toshiba,tc358775";
            reg = <0x0f>;

            vdd-supply = <&pm8916_l2>;
            vddio-supply = <&pm8916_l6>;

            stby-gpios = <&msmgpio 99 GPIO_ACTIVE_LOW>;
            reset-gpios = <&msmgpio 72 GPIO_ACTIVE_LOW>;

            ports {
                #address-cells = <1>;
                #size-cells = <0>;

                port@0 {
                    reg = <0>;
                    d2l_in_dual: endpoint {
                        remote-endpoint = <&dsi0_out_dual>;
                    };
                };

                port@1 {
                    reg = <1>;
                    lvds0_out: endpoint {
                        remote-endpoint = <&panel_in0>;
                    };
                };

                port@2 {
                    reg = <2>;
                    lvds1_out: endpoint {
                        remote-endpoint = <&panel_in1>;
                    };
                };
            };
        };
    };

    dsi@1a98000 {
        reg = <0x1a98000 0x25c>;
        reg-names = "dsi_ctrl";

        ports {
            #address-cells = <1>;
            #size-cells = <0>;
            port@1 {
                reg = <1>;
                dsi0_out_dual: endpoint {
                    remote-endpoint = <&d2l_in_dual>;
                    data-lanes = <0 1 2 3>;
                };
             };
         };
     };
...
+3 −1
Original line number Diff line number Diff line
@@ -14,6 +14,8 @@ properties:
    items:
      - enum:
        - bananapi,lhr050h41
        - feixin,k101-im2byl02

      - const: ilitek,ili9881c

  backlight: true
+70 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/mantix,mlaf057we51-x.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Mantix MLAF057WE51-X 5.7" 720x1440 TFT LCD panel

maintainers:
  - Guido Günther <agx@sigxcpu.org>

description:
  Mantix MLAF057WE51 X is a 720x1440 TFT LCD panel connected using
  a MIPI-DSI video interface.

allOf:
  - $ref: panel-common.yaml#

properties:
  compatible:
    enum:
      - mantix,mlaf057we51-x

  port: true
  reg:
    maxItems: 1
    description: DSI virtual channel

  avdd-supply:
    description: Positive analog power supply

  avee-supply:
    description: Negative analog power supply

  vddi-supply:
    description: 1.8V I/O voltage supply

  reset-gpios: true

  backlight: true

required:
  - compatible
  - reg
  - avdd-supply
  - avee-supply
  - vddi-supply
  - reset-gpios

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    dsi {
        #address-cells = <1>;
        #size-cells = <0>;
        panel@0 {
            compatible = "mantix,mlaf057we51-x";
            reg = <0>;
            avdd-supply = <&reg_avdd>;
            avee-supply = <&reg_avee>;
            vddi-supply = <&reg_1v8_p>;
            reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
            backlight = <&backlight>;
        };
    };

...
Loading