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

Merge tag 'drm-misc-next-2021-11-18' of git://anongit.freedesktop.org/drm/drm-misc into drm-next



drm-misc-next for 5.17:

UAPI Changes:

 * Remove restrictions on DMA_BUF_SET_NAME ioctl
 * connector: State of privacy screen
 * sysfs: Send hotplug uevent

Cross-subsystem Changes:

 * clk/bmc-2835: Fixes

 * dma-buf: Add dma_resv selftest; Error-handling fixes; Add debugfs
   helpers; Remove dma_resv_get_excl_unlocked(); Documentation fixes

 * pwm: Introduce of_pwm_single_xlate()

Core Changes:

 * Support for privacy screens
 * Make drm_irq.c legacy
 * Fix __stack_depot_* name conflict
 * Documentation fixes
 * Fixes and cleanups

 * dp-helper: Reuse 8b/10b link-training delay helpers

 * format-helper: Update interfaces

 * fb-helper: Allocate shadow buffer of correct size

 * gem: Link GEM SHMEM and CMA helpers into separate modules; Use
	    dma_resv iterator; Import DMA_BUF namespace into GEM-helper modules

 * gem/shmem-helper: Interface cleanups

 * scheduler: Grab fence in drm_sched_job_add_implicit_dependencies();
   Lockdep fixes

 * kms-helpers: Link several files from core into the KMS-helper module

Driver Changes:

 * Use dma_resv_iter in several places
 * Fixes and cleanups

 * amdgpu: Use drm_kms_helper_connector_hotplug_event(); Get all fences
   at once

 * bridge: Switch to managed MIPI DSI helpers in several places; Register
   and attach during probe in several places; Convert to YAML in several
   places

 * bridge/anx7625: Support MIPI DPI input; Support HDMI audio; Fixes

 * bridge/dw-hdmi: Allow interlace on bridge

 * bridge/ps8640: Enable PM; Support aux-bus

 * bridge/tc358768: Enabled reference clock; Support pulse mode;
   Modesetting fixes

 * bridge/ti-sn65dsi86: Use regmap_bulk_write(); Implement PWM

 * etnaviv: Get all fences at once

 * gma500: GEM object cleanups; Remove generic drivers in probe function

 * i915: Support VESA panel backlights

 * ingenic: Fixes and cleanups

 * kirin: Adjust probe order

 * kmb: Enable framebuffer console

 * lima: Kconfig fixes

 * meson: Refactoring to supperot DRM_BRIDGE_ATTACH_NO_ENCODER

 * msm: Fixes and cleanups

 * msm/dsi: Adjust probe order

 * omap: Fixes and cleanups

 * nouveau: CRC fixes; Validate LUTs in atomic check; Set HDMI AVI RGB
   quantization to FULL; Fixes and cleanups

 * panel: Support Innolux G070Y2-T02, Vivax TPC-9150, JDI R63452,
   Newhaven 1.8-128160EF, Wanchanglong W552964ABA, Novatek NT35950,
   BOE BF060Y8M, Sony Tulip Truly NT35521; Use dev_err_probe() throughout
   drivers; Fixes and cleanups

 * panel/ili9881c: Orientation fixes

 * radeon: Use dma_resv_wait_timeout()

 * rockchip: Add timeout for DSP hold; Suspend/resume fixes; PLL clock
   fixes; Implement mmap in GEM object functions

 * simpledrm: Support FB_DAMAGE_CLIPS and virtual screen sizes

 * sun4i: Use CMA helpers without vmap support

 * tidss: Fixes and cleanups

 * v3d: Cleanups

 * vc4: Fix HDMI-CEC hang when display is off; Power on HDMI controller
   while disabling; Support 4k@60 Hz modes; Fixes and cleanups

 * video: Convert to sysfs_emit() in several places

 * video/omapfb: Fix fall-through

 * virtio: Overflow fixes

 * xen: Implement mmap as GEM object functions

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

From: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/YZYZSypIrr+qcih3@linux-uq9g.fritz.box
parents 13605725 a713ca23
Loading
Loading
Loading
Loading
+63 −2
Original line number Diff line number Diff line
@@ -43,14 +43,70 @@ properties:
  vdd33-supply:
    description: Regulator that provides the supply 3.3V power.

  analogix,lane0-swing:
    $ref: /schemas/types.yaml#/definitions/uint8-array
    minItems: 1
    maxItems: 20
    description:
      an array of swing register setting for DP tx lane0 PHY.
      Registers 0~9 are Swing0_Pre0, Swing1_Pre0, Swing2_Pre0,
      Swing3_Pre0, Swing0_Pre1, Swing1_Pre1, Swing2_Pre1, Swing0_Pre2,
      Swing1_Pre2, Swing0_Pre3, they are for [Boost control] and
      [Swing control] setting.
      Registers 0~9, bit 3:0 is [Boost control], these bits control
      post cursor manual, increase the [Boost control] to increase
      Pre-emphasis value.
      Registers 0~9, bit 6:4 is [Swing control], these bits control
      swing manual, increase [Swing control] setting to add Vp-p value
      for each Swing, Pre.
      Registers 10~19 are Swing0_Pre0, Swing1_Pre0, Swing2_Pre0,
      Swing3_Pre0, Swing0_Pre1, Swing1_Pre1, Swing2_Pre1, Swing0_Pre2,
      Swing1_Pre2, Swing0_Pre3, they are for [R select control] and
      [R Termination control] setting.
      Registers 10~19, bit 4:0 is [R select control], these bits are
      compensation manual, increase it can enhance IO driven strength
      and Vp-p.
      Registers 10~19, bit 5:6 is [R termination control], these bits
      adjust 50ohm impedance of DP tx termination. 00:55 ohm,
      01:50 ohm(default), 10:45 ohm, 11:40 ohm.

  analogix,lane1-swing:
    $ref: /schemas/types.yaml#/definitions/uint8-array
    minItems: 1
    maxItems: 20
    description:
      an array of swing register setting for DP tx lane1 PHY.
      DP TX lane1 swing register setting same with lane0
      swing, please refer lane0-swing property description.

  analogix,audio-enable:
    type: boolean
    description: let the driver enable audio HDMI codec function or not.

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description:
          Video port for MIPI DSI input.
          MIPI DSI/DPI input.

        properties:
          endpoint:
            $ref: /schemas/media/video-interfaces.yaml#
            type: object
            additionalProperties: false

            properties:
              remote-endpoint: true

              bus-type:
                enum: [1, 5]
                default: 1

              data-lanes: true

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
@@ -87,6 +143,9 @@ examples:
            vdd10-supply = <&pp1000_mipibrdg>;
            vdd18-supply = <&pp1800_mipibrdg>;
            vdd33-supply = <&pp3300_mipibrdg>;
            analogix,audio-enable;
            analogix,lane0-swing = /bits/ 8 <0x14 0x54 0x64 0x74>;
            analogix,lane1-swing = /bits/ 8 <0x14 0x54 0x64 0x74>;

            ports {
                #address-cells = <1>;
@@ -96,6 +155,8 @@ examples:
                    reg = <0>;
                    anx7625_in: endpoint {
                        remote-endpoint = <&mipi_dsi>;
                        bus-type = <5>;
                        data-lanes = <0 1 2 3>;
                    };
                };

+106 −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/nxp,ptn3460.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NXP PTN3460 eDP to LVDS bridge

maintainers:
  - Sean Paul <seanpaul@chromium.org>

properties:
  compatible:
    const: nxp,ptn3460

  reg:
    description: I2C address of the bridge
    maxItems: 1

  edid-emulation:
    $ref: "/schemas/types.yaml#/definitions/uint32"
    description:
      The EDID emulation entry to use
      Value  Resolution  Description
        0     1024x768   NXP Generic
        1     1920x1080  NXP Generic
        2     1920x1080  NXP Generic
        3     1600x900   Samsung LTM200KT
        4     1920x1080  Samsung LTM230HT
        5     1366x768   NXP Generic
        6     1600x900   ChiMei M215HGE
    enum: [0, 1, 2, 3, 4, 5, 6]

  powerdown-gpios:
    description: GPIO connected to the PD_N signal.
    maxItems: 1

  reset-gpios:
    description: GPIO connected to the RST_N signal.
    maxItems: 1

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Video port for LVDS output

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Video port for eDP input

    required:
      - port@0
      - port@1

required:
  - compatible
  - reg
  - edid-emulation
  - powerdown-gpios
  - reset-gpios
  - ports

additionalProperties: false

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

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

      bridge@20 {
        compatible = "nxp,ptn3460";
        reg = <0x20>;
        edid-emulation = <5>;
        powerdown-gpios = <&gpy2 5 GPIO_ACTIVE_HIGH>;
        reset-gpios = <&gpx1 5 GPIO_ACTIVE_LOW>;

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

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

          port@1 {
            reg = <1>;
            bridge_in: endpoint {
              remote-endpoint = <&dp_out>;
            };
          };
        };
      };
    };

...
+0 −39
Original line number Diff line number Diff line
ptn3460 bridge bindings

Required properties:
	- compatible: "nxp,ptn3460"
	- reg: i2c address of the bridge
	- powerdown-gpio: OF device-tree gpio specification  for PD_N pin.
	- reset-gpio: OF device-tree gpio specification for RST_N pin.
	- edid-emulation: The EDID emulation entry to use
		+-------+------------+------------------+
		| Value | Resolution | Description      |
		|   0   |  1024x768  | NXP Generic      |
		|   1   |  1920x1080 | NXP Generic      |
		|   2   |  1920x1080 | NXP Generic      |
		|   3   |  1600x900  | Samsung LTM200KT |
		|   4   |  1920x1080 | Samsung LTM230HT |
		|   5   |  1366x768  | NXP Generic      |
		|   6   |  1600x900  | ChiMei M215HGE   |
		+-------+------------+------------------+

	- video interfaces: Device node can contain video interface port
			    nodes for panel according to [1].

[1]: Documentation/devicetree/bindings/media/video-interfaces.txt

Example:
	lvds-bridge@20 {
		compatible = "nxp,ptn3460";
		reg = <0x20>;
		powerdown-gpio = <&gpy2 5 1 0 0>;
		reset-gpio = <&gpx1 5 1 0 0>;
		edid-emulation = <5>;
		ports {
			port@0 {
				bridge_out: endpoint {
					remote-endpoint = <&panel_in>;
				};
			};
		};
	};
+0 −49
Original line number Diff line number Diff line
Silicon Image SiI9234 HDMI/MHL bridge bindings

Required properties:
	- compatible : "sil,sii9234".
	- reg : I2C address for TPI interface, use 0x39
	- avcc33-supply : MHL/USB Switch Supply Voltage (3.3V)
	- iovcc18-supply : I/O Supply Voltage (1.8V)
	- avcc12-supply : TMDS Analog Supply Voltage (1.2V)
	- cvcc12-supply : Digital Core Supply Voltage (1.2V)
	- interrupts: interrupt specifier of INT pin
	- reset-gpios: gpio specifier of RESET pin (active low)
	- video interfaces: Device node can contain two video interface port
			    nodes for HDMI encoder and connector according to [1].
			    - port@0 - MHL to HDMI
			    - port@1 - MHL to connector

[1]: Documentation/devicetree/bindings/media/video-interfaces.txt


Example:
	sii9234@39 {
		compatible = "sil,sii9234";
		reg = <0x39>;
		avcc33-supply = <&vcc33mhl>;
		iovcc18-supply = <&vcc18mhl>;
		avcc12-supply = <&vsil12>;
		cvcc12-supply = <&vsil12>;
		reset-gpios = <&gpf3 4 GPIO_ACTIVE_LOW>;
		interrupt-parent = <&gpf3>;
		interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;

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

			port@0 {
				reg = <0>;
				mhl_to_hdmi: endpoint {
					remote-endpoint = <&hdmi_to_mhl>;
				};
			};
			port@1 {
				reg = <1>;
				mhl_to_connector: endpoint {
					remote-endpoint = <&connector_to_mhl>;
				};
			};
		};
	};
+110 −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/sil,sii9234.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Silicon Image SiI9234 HDMI/MHL bridge

maintainers:
  - Maciej Purski <m.purski@samsung.com>

properties:
  compatible:
    const: sil,sii9234

  reg:
    description: I2C address for TPI interface
    maxItems: 1

  avcc12-supply:
    description: TMDS Analog Supply Voltage, 1.2V

  avcc33-supply:
    description: MHL/USB Switch Supply Voltage, 3.3V

  cvcc12-supply:
    description: Digital Core Supply Voltage, 1.2V

  iovcc18-supply:
    description: I/O voltage supply, 1.8V

  interrupts:
    maxItems: 1

  reset-gpios:
    description: GPIO connected to the reset pin.
    maxItems: 1

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Video port for HDMI (encoder) input

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          MHL to connector port

    required:
      - port@0

required:
  - compatible
  - reg
  - avcc12-supply
  - avcc33-supply
  - cvcc12-supply
  - iovcc18-supply
  - interrupts
  - reset-gpios
  - ports

additionalProperties: false

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

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

      bridge@39 {
        compatible = "sil,sii9234";
        reg = <0x39>;
        avcc12-supply = <&vsil12>;
        avcc33-supply = <&vcc33mhl>;
        cvcc12-supply = <&vsil12>;
        iovcc18-supply = <&vcc18mhl>;
        interrupt-parent = <&gpf3>;
        interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
        reset-gpios = <&gpf3 4 GPIO_ACTIVE_LOW>;

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

          port@0 {
            reg = <0>;
            mhl_to_hdmi: endpoint {
              remote-endpoint = <&hdmi_to_mhl>;
            };
          };

          port@1 {
            reg = <1>;
            mhl_to_connector: endpoint {
              remote-endpoint = <&connector_to_mhl>;
            };
          };
        };
      };
    };

...
Loading