Commit b7ef56a0 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull media updates from Mauro Carvalho Chehab:

 - Add support for GMSL1 and GMSL‑coax modules (PCI mgb4)

 - Add driver for TI VIP

 - AV1 – first kernel support (pixel‑format, decoder, transcoder)

 - Three new camera‑sensor drivers (os05b10, s5k3m5, s5kjn1)

 - Synopsys CSI‑2 receiver driver

 - Verisilicon & rkvdec – major fixes and enhancements

 - IPU6 (and 7) fixes and preparation for metadata

 - omap3isp: v4l2-compliance updates

 - Fix DVB streaming, drop wait_prepare/finish (dvb/vb2)

* tag 'media/v7.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (307 commits)
  media: uvcvideo: Pass allocation size directly to uvc_alloc_urb_buffer
  media: uvcvideo: Fix allocation for small frame sizes
  media: uvcvideo: Return queued buffers on start_streaming() failure
  media: uvcvideo: Create an ID namespace for streaming output terminals
  media: rkvdec: Add HEVC support for the VDPU383 variant
  media: rkvdec: Add HEVC support for the VDPU381 variant
  media: rkvdec: Add H264 support for the VDPU383 variant
  media: rkvdec: Add H264 support for the VDPU381 variant
  media: rkvdec: Disable multicore support
  media: rkvdec: Enable all clocks without naming them
  media: rkvdec: Support per-variant interrupt handler
  media: rkvdec: Add RCB and SRAM support
  media: rkvdec: Add variant specific coded formats list
  media: rkvdec: Move hevc functions to common file
  media: rkvdec: Move h264 functions to common file
  media: rkvdec: Use structs to represent the HW RPS
  media: rkvdec: Move cabac tables to their own source file
  media: rkvdec: Switch to using structs instead of writel
  media: visl: Add HEVC short and long term RPS sets
  media: v4l2-ctrls: Add hevc_ext_sps_[ls]t_rps controls
  ...
parents d0612513 c8243452
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -31,9 +31,11 @@ Global (PCI card) parameters

    | 0 - No module present
    | 1 - FPDL3
    | 2 - GMSL (one serializer, two daisy chained deserializers)
    | 3 - GMSL (one serializer, two deserializers)
    | 4 - GMSL (two deserializers with two daisy chain outputs)
    | 2 - GMSL3 (one serializer, two daisy chained deserializers)
    | 3 - GMSL3 (one serializer, two deserializers)
    | 4 - GMSL3 (two deserializers with two daisy chain outputs)
    | 6 - GMSL1
    | 8 - GMSL3 coax

**module_version** (R):
    Module version number. Zero in case of a missing module.
@@ -42,7 +44,8 @@ Global (PCI card) parameters
    Firmware type.

    | 1 - FPDL3
    | 2 - GMSL
    | 2 - GMSL3
    | 3 - GMSL1

**fw_version** (R):
    Firmware version number.
+96 −1
Original line number Diff line number Diff line
@@ -30,7 +30,27 @@ properties:
          - adi,adv7282-m

  reg:
    maxItems: 1
    minItems: 1
    items:
      - description: main register map
      - description: VPP or CSI register map
      - description: CSI register map
    description:
      The ADV7180 family may have up to three register maps. All chips have
      the main register map. The availability of the CSI and VPP register maps
      depends on the chip variant.

      The addresses of the CSI and VPP register maps are programmable by
      software. They depend on the board layout and other devices on the I2C
      bus and are determined by the hardware designer to avoid address
      conflicts on the I2C bus.

  reg-names:
    minItems: 1
    items:
      - const: main
      - enum: [ csi, vpp ]
      - const: csi

  powerdown-gpios:
    maxItems: 1
@@ -138,6 +158,62 @@ allOf:
      required:
        - ports

  - if:
      properties:
        compatible:
          contains:
            enum:
              - adi,adv7180
              - adi,adv7180cp
              - adi,adv7180st
              - adi,adv7182
    then:
      properties:
        reg:
          maxItems: 1

        reg-names:
          maxItems: 1

  - if:
      properties:
        compatible:
          contains:
            enum:
              - adi,adv7281
              - adi,adv7281-m
              - adi,adv7281-ma
    then:
      properties:
        reg:
          minItems: 1
          maxItems: 2

        reg-names:
          minItems: 1
          items:
            - const: main
            - const: csi

  - if:
      properties:
        compatible:
          contains:
            enum:
              - adi,adv7280
              - adi,adv7282
    then:
      properties:
        reg:
          minItems: 1
          maxItems: 2

        reg-names:
          minItems: 1
          items:
            - const: main
            - const: vpp

examples:
  - |
    i2c {
@@ -187,3 +263,22 @@ examples:
                    };
            };
    };

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

            composite-in@20 {
                    compatible = "adi,adv7280-m";
                    reg = <0x20>, <0x42>, <0x44>;
                    reg-names = "main", "vpp", "csi";

                    port {
                            adv7280_out: endpoint {
                                    bus-width = <8>;
                                    remote-endpoint = <&vin1ep>;
                            };
                    };
            };
    };
+103 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/i2c/ovti,os05b10.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: OmniVision OS05B10 Image Sensor

maintainers:
  - Elgin Perumbilly <elgin.perumbilly@siliconsignals.io>

description:
  The OmniVision OS05B10 is a 5MP (2592x1944) color CMOS image sensor controlled
  through an I2C-compatible SCCB bus. it outputs RAW10/RAW12 format and uses a
  1/2.78" optical format.

properties:
  compatible:
    const: ovti,os05b10

  reg:
    maxItems: 1

  clocks:
    items:
      - description: XCLK clock

  avdd-supply:
    description: Analog Domain Power Supply (2.8v)

  dovdd-supply:
    description: I/O Domain Power Supply (1.8v)

  dvdd-supply:
    description: Digital Domain Power Supply (1.2v)

  reset-gpios:
    maxItems: 1
    description: Reset Pin GPIO Control (active low)

  port:
    description: MIPI CSI-2 transmitter port
    $ref: /schemas/graph.yaml#/$defs/port-base
    additionalProperties: false

    properties:
      endpoint:
        $ref: /schemas/media/video-interfaces.yaml#
        unevaluatedProperties: false

        properties:
          data-lanes:
            oneOf:
              - items:
                  - const: 1
                  - const: 2
                  - const: 3
                  - const: 4
              - items:
                  - const: 1
                  - const: 2
        required:
          - data-lanes
          - link-frequencies

required:
  - compatible
  - reg
  - clocks
  - avdd-supply
  - dovdd-supply
  - dvdd-supply
  - port

additionalProperties: false

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

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

        camera-sensor@36 {
            compatible = "ovti,os05b10";
            reg = <0x36>;
            clocks = <&os05b10_clk>;
            reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;

            avdd-supply = <&os05b10_avdd_2v8>;
            dvdd-supply = <&os05b10_dvdd_1v2>;
            dovdd-supply = <&os05b10_dovdd_1v8>;

            port {
                cam_out: endpoint {
                    remote-endpoint = <&mipi_in_cam>;
                    data-lanes = <1 2 3 4>;
                    link-frequencies = /bits/ 64 <600000000>;
                };
            };
        };
    };
+13 −1
Original line number Diff line number Diff line
@@ -14,6 +14,9 @@ description: |-
  The OV5647 is a raw image sensor with MIPI CSI-2 and CCP2 image data
  interfaces and CCI (I2C compatible) control bus.

allOf:
  - $ref: /schemas/media/video-interface-devices.yaml#

properties:
  compatible:
    const: ovti,ov5647
@@ -30,6 +33,15 @@ properties:
    description: Reference to the GPIO connected to the pwdn pin. Active high.
    maxItems: 1

  avdd-supply:
    description: Analog voltage supply, 2.8 volts

  dvdd-supply:
    description: Digital core voltage supply, 1.5 volts

  dovdd-supply:
    description: Digital I/O voltage supply, 1.7 - 3.0 volts

  port:
    $ref: /schemas/graph.yaml#/$defs/port-base
    additionalProperties: false
@@ -48,7 +60,7 @@ required:
  - clocks
  - port

additionalProperties: false
unevaluatedProperties: false

examples:
  - |
+103 −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/media/i2c/samsung,s5k3m5.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Samsung S5K3M5 Image Sensor

description:
  Samsung S5K3M5 (ISOCELL 3M5) image sensor is a 13MP image sensor.
  The sensor is controlled over a serial camera control bus protocol,
  the widest supported output image frame size is 4208x3120 at 30 frames
  per second, data output format is RAW10 transferred over 4-lane
  MIPI D-PHY interface.

maintainers:
  - Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>

allOf:
  - $ref: /schemas/media/video-interface-devices.yaml#

properties:
  compatible:
    const: samsung,s5k3m5

  reg:
    maxItems: 1

  clocks:
    description: MCLK supply clock.
    maxItems: 1

  reset-gpios:
    description: Active low GPIO connected to RESET pad of the sensor.
    maxItems: 1

  afvdd-supply:
    description: Autofocus actuator voltage supply, 2.8-3.0 volts.

  vdda-supply:
    description: Analogue voltage supply, 2.8 volts.

  vddd-supply:
    description: Digital core voltage supply, 1.05 volts.

  vddio-supply:
    description: Digital I/O voltage supply, 2.8 or 1.8 volts.

  port:
    $ref: /schemas/graph.yaml#/$defs/port-base
    additionalProperties: false

    properties:
      endpoint:
        $ref: /schemas/media/video-interfaces.yaml#
        unevaluatedProperties: false

        properties:
          data-lanes:
            items:
              - const: 1
              - const: 2
              - const: 3
              - const: 4

        required:
          - link-frequencies

required:
  - compatible
  - reg
  - port

unevaluatedProperties: false

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

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

          camera@10 {
              compatible = "samsung,s5k3m5";
              reg = <0x10>;
              clocks = <&camera_mclk 0>;
              assigned-clocks = <&camera_mclk 0>;
              assigned-clock-rates = <24000000>;
              reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
              vdda-supply = <&vreg_2p8>;
              vddd-supply = <&vreg_1p05>;
              vddio-supply = <&vreg_1p8>;

              port {
                  endpoint {
                      link-frequencies = /bits/ 64 <602500000>;
                      remote-endpoint = <&mipi_csi2_ep>;
                  };
              };
          };
      };
...
Loading