Skip to content

Commit b7ef56a

Browse files
committed
Merge tag 'media/v7.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
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 ...
2 parents d061251 + c824345 commit b7ef56a

265 files changed

Lines changed: 23495 additions & 4686 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Documentation/admin-guide/media/mgb4.rst

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,11 @@ Global (PCI card) parameters
3131

3232
| 0 - No module present
3333
| 1 - FPDL3
34-
| 2 - GMSL (one serializer, two daisy chained deserializers)
35-
| 3 - GMSL (one serializer, two deserializers)
36-
| 4 - GMSL (two deserializers with two daisy chain outputs)
34+
| 2 - GMSL3 (one serializer, two daisy chained deserializers)
35+
| 3 - GMSL3 (one serializer, two deserializers)
36+
| 4 - GMSL3 (two deserializers with two daisy chain outputs)
37+
| 6 - GMSL1
38+
| 8 - GMSL3 coax
3739
3840
**module_version** (R):
3941
Module version number. Zero in case of a missing module.
@@ -42,7 +44,8 @@ Global (PCI card) parameters
4244
Firmware type.
4345

4446
| 1 - FPDL3
45-
| 2 - GMSL
47+
| 2 - GMSL3
48+
| 3 - GMSL1
4649
4750
**fw_version** (R):
4851
Firmware version number.

Documentation/devicetree/bindings/media/i2c/adi,adv7180.yaml

Lines changed: 96 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,27 @@ properties:
3030
- adi,adv7282-m
3131

3232
reg:
33-
maxItems: 1
33+
minItems: 1
34+
items:
35+
- description: main register map
36+
- description: VPP or CSI register map
37+
- description: CSI register map
38+
description:
39+
The ADV7180 family may have up to three register maps. All chips have
40+
the main register map. The availability of the CSI and VPP register maps
41+
depends on the chip variant.
42+
43+
The addresses of the CSI and VPP register maps are programmable by
44+
software. They depend on the board layout and other devices on the I2C
45+
bus and are determined by the hardware designer to avoid address
46+
conflicts on the I2C bus.
47+
48+
reg-names:
49+
minItems: 1
50+
items:
51+
- const: main
52+
- enum: [ csi, vpp ]
53+
- const: csi
3454

3555
powerdown-gpios:
3656
maxItems: 1
@@ -138,6 +158,62 @@ allOf:
138158
required:
139159
- ports
140160

161+
- if:
162+
properties:
163+
compatible:
164+
contains:
165+
enum:
166+
- adi,adv7180
167+
- adi,adv7180cp
168+
- adi,adv7180st
169+
- adi,adv7182
170+
then:
171+
properties:
172+
reg:
173+
maxItems: 1
174+
175+
reg-names:
176+
maxItems: 1
177+
178+
- if:
179+
properties:
180+
compatible:
181+
contains:
182+
enum:
183+
- adi,adv7281
184+
- adi,adv7281-m
185+
- adi,adv7281-ma
186+
then:
187+
properties:
188+
reg:
189+
minItems: 1
190+
maxItems: 2
191+
192+
reg-names:
193+
minItems: 1
194+
items:
195+
- const: main
196+
- const: csi
197+
198+
- if:
199+
properties:
200+
compatible:
201+
contains:
202+
enum:
203+
- adi,adv7280
204+
- adi,adv7282
205+
then:
206+
properties:
207+
reg:
208+
minItems: 1
209+
maxItems: 2
210+
211+
reg-names:
212+
minItems: 1
213+
items:
214+
- const: main
215+
- const: vpp
216+
141217
examples:
142218
- |
143219
i2c {
@@ -187,3 +263,22 @@ examples:
187263
};
188264
};
189265
};
266+
267+
- |
268+
i2c {
269+
#address-cells = <1>;
270+
#size-cells = <0>;
271+
272+
composite-in@20 {
273+
compatible = "adi,adv7280-m";
274+
reg = <0x20>, <0x42>, <0x44>;
275+
reg-names = "main", "vpp", "csi";
276+
277+
port {
278+
adv7280_out: endpoint {
279+
bus-width = <8>;
280+
remote-endpoint = <&vin1ep>;
281+
};
282+
};
283+
};
284+
};
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/media/i2c/ovti,os05b10.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: OmniVision OS05B10 Image Sensor
8+
9+
maintainers:
10+
- Elgin Perumbilly <[email protected]>
11+
12+
description:
13+
The OmniVision OS05B10 is a 5MP (2592x1944) color CMOS image sensor controlled
14+
through an I2C-compatible SCCB bus. it outputs RAW10/RAW12 format and uses a
15+
1/2.78" optical format.
16+
17+
properties:
18+
compatible:
19+
const: ovti,os05b10
20+
21+
reg:
22+
maxItems: 1
23+
24+
clocks:
25+
items:
26+
- description: XCLK clock
27+
28+
avdd-supply:
29+
description: Analog Domain Power Supply (2.8v)
30+
31+
dovdd-supply:
32+
description: I/O Domain Power Supply (1.8v)
33+
34+
dvdd-supply:
35+
description: Digital Domain Power Supply (1.2v)
36+
37+
reset-gpios:
38+
maxItems: 1
39+
description: Reset Pin GPIO Control (active low)
40+
41+
port:
42+
description: MIPI CSI-2 transmitter port
43+
$ref: /schemas/graph.yaml#/$defs/port-base
44+
additionalProperties: false
45+
46+
properties:
47+
endpoint:
48+
$ref: /schemas/media/video-interfaces.yaml#
49+
unevaluatedProperties: false
50+
51+
properties:
52+
data-lanes:
53+
oneOf:
54+
- items:
55+
- const: 1
56+
- const: 2
57+
- const: 3
58+
- const: 4
59+
- items:
60+
- const: 1
61+
- const: 2
62+
required:
63+
- data-lanes
64+
- link-frequencies
65+
66+
required:
67+
- compatible
68+
- reg
69+
- clocks
70+
- avdd-supply
71+
- dovdd-supply
72+
- dvdd-supply
73+
- port
74+
75+
additionalProperties: false
76+
77+
examples:
78+
- |
79+
#include <dt-bindings/gpio/gpio.h>
80+
81+
i2c {
82+
#address-cells = <1>;
83+
#size-cells = <0>;
84+
85+
camera-sensor@36 {
86+
compatible = "ovti,os05b10";
87+
reg = <0x36>;
88+
clocks = <&os05b10_clk>;
89+
reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
90+
91+
avdd-supply = <&os05b10_avdd_2v8>;
92+
dvdd-supply = <&os05b10_dvdd_1v2>;
93+
dovdd-supply = <&os05b10_dovdd_1v8>;
94+
95+
port {
96+
cam_out: endpoint {
97+
remote-endpoint = <&mipi_in_cam>;
98+
data-lanes = <1 2 3 4>;
99+
link-frequencies = /bits/ 64 <600000000>;
100+
};
101+
};
102+
};
103+
};

Documentation/devicetree/bindings/media/i2c/ovti,ov5647.yaml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ description: |-
1414
The OV5647 is a raw image sensor with MIPI CSI-2 and CCP2 image data
1515
interfaces and CCI (I2C compatible) control bus.
1616
17+
allOf:
18+
- $ref: /schemas/media/video-interface-devices.yaml#
19+
1720
properties:
1821
compatible:
1922
const: ovti,ov5647
@@ -30,6 +33,15 @@ properties:
3033
description: Reference to the GPIO connected to the pwdn pin. Active high.
3134
maxItems: 1
3235

36+
avdd-supply:
37+
description: Analog voltage supply, 2.8 volts
38+
39+
dvdd-supply:
40+
description: Digital core voltage supply, 1.5 volts
41+
42+
dovdd-supply:
43+
description: Digital I/O voltage supply, 1.7 - 3.0 volts
44+
3345
port:
3446
$ref: /schemas/graph.yaml#/$defs/port-base
3547
additionalProperties: false
@@ -48,7 +60,7 @@ required:
4860
- clocks
4961
- port
5062

51-
additionalProperties: false
63+
unevaluatedProperties: false
5264

5365
examples:
5466
- |
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/media/i2c/samsung,s5k3m5.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Samsung S5K3M5 Image Sensor
8+
9+
description:
10+
Samsung S5K3M5 (ISOCELL 3M5) image sensor is a 13MP image sensor.
11+
The sensor is controlled over a serial camera control bus protocol,
12+
the widest supported output image frame size is 4208x3120 at 30 frames
13+
per second, data output format is RAW10 transferred over 4-lane
14+
MIPI D-PHY interface.
15+
16+
maintainers:
17+
- Vladimir Zapolskiy <[email protected]>
18+
19+
allOf:
20+
- $ref: /schemas/media/video-interface-devices.yaml#
21+
22+
properties:
23+
compatible:
24+
const: samsung,s5k3m5
25+
26+
reg:
27+
maxItems: 1
28+
29+
clocks:
30+
description: MCLK supply clock.
31+
maxItems: 1
32+
33+
reset-gpios:
34+
description: Active low GPIO connected to RESET pad of the sensor.
35+
maxItems: 1
36+
37+
afvdd-supply:
38+
description: Autofocus actuator voltage supply, 2.8-3.0 volts.
39+
40+
vdda-supply:
41+
description: Analogue voltage supply, 2.8 volts.
42+
43+
vddd-supply:
44+
description: Digital core voltage supply, 1.05 volts.
45+
46+
vddio-supply:
47+
description: Digital I/O voltage supply, 2.8 or 1.8 volts.
48+
49+
port:
50+
$ref: /schemas/graph.yaml#/$defs/port-base
51+
additionalProperties: false
52+
53+
properties:
54+
endpoint:
55+
$ref: /schemas/media/video-interfaces.yaml#
56+
unevaluatedProperties: false
57+
58+
properties:
59+
data-lanes:
60+
items:
61+
- const: 1
62+
- const: 2
63+
- const: 3
64+
- const: 4
65+
66+
required:
67+
- link-frequencies
68+
69+
required:
70+
- compatible
71+
- reg
72+
- port
73+
74+
unevaluatedProperties: false
75+
76+
examples:
77+
- |
78+
#include <dt-bindings/gpio/gpio.h>
79+
80+
i2c {
81+
#address-cells = <1>;
82+
#size-cells = <0>;
83+
84+
camera@10 {
85+
compatible = "samsung,s5k3m5";
86+
reg = <0x10>;
87+
clocks = <&camera_mclk 0>;
88+
assigned-clocks = <&camera_mclk 0>;
89+
assigned-clock-rates = <24000000>;
90+
reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
91+
vdda-supply = <&vreg_2p8>;
92+
vddd-supply = <&vreg_1p05>;
93+
vddio-supply = <&vreg_1p8>;
94+
95+
port {
96+
endpoint {
97+
link-frequencies = /bits/ 64 <602500000>;
98+
remote-endpoint = <&mipi_csi2_ep>;
99+
};
100+
};
101+
};
102+
};
103+
...

0 commit comments

Comments
 (0)