Skip to content

Commit fa73e21

Browse files
committed
Merge tag 'media/v5.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab: - Legacy soc_camera driver was removed from staging - New I2C sensor related drivers: dw9768, ch7322, max9271, rdacm20 - TI vpe driver code was re-organized and had new features added - Added Xilinx MIPI CSI-2 Rx Subsystem driver - Added support for Infrared Toy and IR Droid devices - Lots of random driver fixes, new features and cleanups * tag 'media/v5.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (318 commits) media: camss: fix memory leaks on error handling paths in probe media: davinci: vpif_capture: fix potential double free media: radio: remove redundant assignment to variable retval media: allegro: fix potential null dereference on header media: mtk-mdp: Fix a refcounting bug on error in init media: allegro: fix an error pointer vs NULL check media: meye: fix missing pm_mchip_mode field media: cafe-driver: use generic power management media: saa7164: use generic power management media: v4l2-dev/ioctl: Fix document for VIDIOC_QUERYCAP media: v4l2: Correct kernel-doc inconsistency media: v4l2: Correct kernel-doc inconsistency media: dvbdev.h: keep * together with the type media: v4l2-subdev.h: keep * together with the type media: videobuf2: Print videobuf2 buffer state by name media: colorspaces-details.rst: fix V4L2_COLORSPACE_JPEG description media: tw68: use generic power management media: meye: use generic power management media: cx88: use generic power management media: cx25821: use generic power management ...
2 parents 75dee3b + f45882c commit fa73e21

File tree

268 files changed

+12785
-12116
lines changed

Some content is hidden

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

268 files changed

+12785
-12116
lines changed

Documentation/admin-guide/media/fimc.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
.. include:: <isonum.txt>
44

5-
The Samsung S5P/EXYNOS4 FIMC driver
5+
The Samsung S5P/Exynos4 FIMC driver
66
===================================
77

88
Copyright |copy| 2012 - 2013 Samsung Electronics Co., Ltd.
@@ -19,7 +19,7 @@ drivers/media/platform/exynos4-is directory.
1919
Supported SoCs
2020
--------------
2121

22-
S5PC100 (mem-to-mem only), S5PV210, EXYNOS4210
22+
S5PC100 (mem-to-mem only), S5PV210, Exynos4210
2323

2424
Supported features
2525
------------------
@@ -45,7 +45,7 @@ Media device interface
4545
~~~~~~~~~~~~~~~~~~~~~~
4646

4747
The driver supports Media Controller API as defined at :ref:`media_controller`.
48-
The media device driver name is "SAMSUNG S5P FIMC".
48+
The media device driver name is "Samsung S5P FIMC".
4949

5050
The purpose of this interface is to allow changing assignment of FIMC instances
5151
to the SoC peripheral camera input at runtime and optionally to control internal

Documentation/admin-guide/media/vivid.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,15 @@ all configurable using the following module options:
293293
- 0: vmalloc
294294
- 1: dma-contig
295295

296+
- cache_hints:
297+
298+
specifies if the device should set queues' user-space cache and memory
299+
consistency hint capability (V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS).
300+
The hints are valid only when using MMAP streaming I/O. Default is 0.
301+
302+
- 0: forbid hints
303+
- 1: allow hints
304+
296305
Taken together, all these module options allow you to precisely customize
297306
the driver behavior and test your application with all sorts of permutations.
298307
It is also very suitable to emulate hardware that is not yet available, e.g.
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
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/chrontel,ch7322.yaml#"
5+
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
6+
7+
title: Chrontel HDMI-CEC Controller
8+
9+
maintainers:
10+
- Jeff Chase <[email protected]>
11+
12+
description:
13+
The Chrontel CH7322 is a discrete HDMI-CEC controller. It is
14+
programmable through I2C and drives a single CEC line.
15+
16+
properties:
17+
compatible:
18+
const: chrontel,ch7322
19+
20+
reg:
21+
description: I2C device address
22+
maxItems: 1
23+
24+
clocks:
25+
maxItems: 1
26+
27+
interrupts:
28+
maxItems: 1
29+
30+
reset-gpios:
31+
description:
32+
Reference to the GPIO connected to the RESET pin, if any. This
33+
pin is active-low.
34+
maxItems: 1
35+
36+
standby-gpios:
37+
description:
38+
Reference to the GPIO connected to the OE pin, if any. When low
39+
the device will respond to power status requests with "standby"
40+
if in auto mode.
41+
maxItems: 1
42+
43+
# see ../cec.txt
44+
hdmi-phandle:
45+
description: phandle to the HDMI controller
46+
47+
required:
48+
- compatible
49+
- reg
50+
- interrupts
51+
52+
examples:
53+
- |
54+
#include <dt-bindings/gpio/gpio.h>
55+
#include <dt-bindings/interrupt-controller/irq.h>
56+
i2c {
57+
#address-cells = <1>;
58+
#size-cells = <0>;
59+
ch7322@75 {
60+
compatible = "chrontel,ch7322";
61+
reg = <0x75>;
62+
interrupts = <47 IRQ_TYPE_EDGE_RISING>;
63+
standby-gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
64+
reset-gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
65+
hdmi-phandle = <&hdmi>;
66+
};
67+
};
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
# Copyright (c) 2020 MediaTek Inc.
3+
%YAML 1.2
4+
---
5+
$id: http://devicetree.org/schemas/media/i2c/dongwoon,dw9768.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: Dongwoon Anatech DW9768 Voice Coil Motor (VCM) Lens Device Tree Bindings
9+
10+
maintainers:
11+
- Dongchun Zhu <[email protected]>
12+
13+
description: |-
14+
The Dongwoon DW9768 is a single 10-bit digital-to-analog (DAC) converter
15+
with 100 mA output current sink capability. VCM current is controlled with
16+
a linear mode driver. The DAC is controlled via a 2-wire (I2C-compatible)
17+
serial interface that operates at clock rates up to 1MHz. This chip
18+
integrates Advanced Actuator Control (AAC) technology and is intended for
19+
driving voice coil lenses in camera modules.
20+
21+
properties:
22+
compatible:
23+
enum:
24+
- dongwoon,dw9768 # for DW9768 VCM
25+
- giantec,gt9769 # for GT9769 VCM
26+
27+
reg:
28+
maxItems: 1
29+
30+
vin-supply:
31+
description:
32+
Definition of the regulator used as Digital I/O voltage supply.
33+
34+
vdd-supply:
35+
description:
36+
Definition of the regulator used as Digital core voltage supply.
37+
38+
dongwoon,aac-mode:
39+
description:
40+
Indication of AAC mode select.
41+
allOf:
42+
- $ref: "/schemas/types.yaml#/definitions/uint32"
43+
- enum:
44+
- 1 # AAC2 mode(operation time# 0.48 x Tvib)
45+
- 2 # AAC3 mode(operation time# 0.70 x Tvib)
46+
- 3 # AAC4 mode(operation time# 0.75 x Tvib)
47+
- 5 # AAC8 mode(operation time# 1.13 x Tvib)
48+
default: 2
49+
50+
dongwoon,aac-timing:
51+
description:
52+
Number of AAC Timing count that controlled by one 6-bit period of
53+
vibration register AACT[5:0], the unit of which is 100 us.
54+
allOf:
55+
- $ref: "/schemas/types.yaml#/definitions/uint32"
56+
- default: 0x20
57+
minimum: 0x00
58+
maximum: 0x3f
59+
60+
dongwoon,clock-presc:
61+
description:
62+
Indication of VCM internal clock dividing rate select, as one multiple
63+
factor to calculate VCM ring periodic time Tvib.
64+
allOf:
65+
- $ref: "/schemas/types.yaml#/definitions/uint32"
66+
- enum:
67+
- 0 # Dividing Rate - 2
68+
- 1 # Dividing Rate - 1
69+
- 2 # Dividing Rate - 1/2
70+
- 3 # Dividing Rate - 1/4
71+
- 4 # Dividing Rate - 8
72+
- 5 # Dividing Rate - 4
73+
default: 1
74+
75+
required:
76+
- compatible
77+
- reg
78+
- vin-supply
79+
- vdd-supply
80+
81+
additionalProperties: false
82+
83+
examples:
84+
- |
85+
86+
i2c {
87+
#address-cells = <1>;
88+
#size-cells = <0>;
89+
90+
dw9768: camera-lens@c {
91+
compatible = "dongwoon,dw9768";
92+
reg = <0x0c>;
93+
94+
vin-supply = <&mt6358_vcamio_reg>;
95+
vdd-supply = <&mt6358_vcama2_reg>;
96+
dongwoon,aac-timing = <0x39>;
97+
};
98+
};
99+
100+
...
Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2+
# Copyright (C) 2019 Renesas Electronics Corp.
3+
%YAML 1.2
4+
---
5+
$id: http://devicetree.org/schemas/media/i2c/imi,rdacm2x-gmsl.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: IMI D&D RDACM20 and RDACM21 Automotive Camera Platforms
9+
10+
maintainers:
11+
- Jacopo Mondi <[email protected]>
12+
- Kieran Bingham <[email protected]>
13+
- Laurent Pinchart <[email protected]>
14+
- Niklas Söderlund <[email protected]>
15+
16+
description: -|
17+
The IMI D&D RDACM20 and RDACM21 are GMSL-compatible camera designed for
18+
automotive applications.
19+
20+
The RDACM20 camera module encloses a Maxim Integrated MAX9271 GMSL serializer,
21+
coupled with an OV10635 image sensor and an embedded MCU. Both the MCU and
22+
the image sensor are connected to the serializer local I2C bus and are
23+
accessible by the host SoC by direct addressing.
24+
25+
The RDACM21 camera module encloses the same serializer, coupled with an
26+
OV10640 image sensor and an OV490 ISP. Only the OV490 ISP is interfaced to
27+
the serializer local I2C bus while the image sensor is not accessible from
28+
the host SoC.
29+
30+
They both connect to a remote GMSL endpoint through a coaxial cable.
31+
32+
IMI RDACM20
33+
+---------------+ +--------------------------------+
34+
| GMSL | <- Video Stream | <- Video--------\ |
35+
| |< === GMSL Link ====== >|MAX9271<- I2C bus-> <-->OV10635 |
36+
| de-serializer | <- I2C messages -> | \<-->MCU |
37+
+---------------+ +--------------------------------+
38+
39+
IMI RDACM21
40+
+---------------+ +--------------------------------+
41+
| GMSL | <- Video Stream | <- Video--------\ |
42+
| |< === GMSL Link ====== >|MAX9271<- I2C bus-> <-->OV490 |
43+
| | <- I2C messages -> | | |
44+
| de-serializer | | OV10640 <-------| |
45+
+---------------+ +--------------------------------+
46+
47+
Both camera modules serialize video data generated by the embedded camera
48+
sensor on the GMSL serial channel to a remote GMSL de-serializer. They also
49+
receive and transmit I2C messages encapsulated and transmitted on the GMSL
50+
bidirectional control channel.
51+
52+
All I2C traffic received on the GMSL link not directed to the serializer is
53+
propagated on the local I2C bus to the remote device there connected. All the
54+
I2C traffic generated on the local I2C bus not directed to the serializer is
55+
propagated to the remote de-serializer encapsulated in the GMSL control
56+
channel.
57+
58+
The RDACM20 and RDACM21 DT node should be a direct child of the GMSL
59+
deserializer's I2C bus corresponding to the GMSL link that the camera is
60+
attached to.
61+
62+
properties:
63+
'#address-cells':
64+
const: 1
65+
66+
'#size-cells':
67+
const: 0
68+
69+
compatible:
70+
enum:
71+
- imi,rdacm20
72+
- imi,rdacm21
73+
74+
reg:
75+
description: -|
76+
I2C device addresses, the first to be assigned to the serializer, the
77+
following ones to be assigned to the remote devices.
78+
79+
For RDACM20 the second entry of the property is assigned to the
80+
OV10635 image sensor and the optional third one to the embedded MCU.
81+
82+
For RDACM21 the second entry is assigned to the OV490 ISP and the optional
83+
third one ignored.
84+
85+
minItems: 2
86+
maxItems: 3
87+
88+
port:
89+
type: object
90+
additionalProperties: false
91+
description: -|
92+
Connection to the remote GMSL endpoint are modelled using the OF graph
93+
bindings in accordance with the video interface bindings defined in
94+
Documentation/devicetree/bindings/media/video-interfaces.txt.
95+
96+
The device node contains a single "port" child node with a single
97+
"endpoint" sub-device.
98+
99+
properties:
100+
endpoint:
101+
type: object
102+
additionalProperties: false
103+
104+
properties:
105+
remote-endpoint:
106+
description: -|
107+
phandle to the remote GMSL endpoint sub-node in the remote node
108+
port.
109+
maxItems: 1
110+
111+
required:
112+
- remote-endpoint
113+
114+
required:
115+
- endpoint
116+
117+
required:
118+
- compatible
119+
- reg
120+
- port
121+
122+
examples:
123+
- |
124+
i2c@e66d8000 {
125+
#address-cells = <1>;
126+
#size-cells = <0>;
127+
128+
reg = <0 0xe66d8000>;
129+
130+
camera@31 {
131+
compatible = "imi,rdacm20";
132+
reg = <0x31>, <0x41>, <0x51>;
133+
134+
port {
135+
rdacm20_out0: endpoint {
136+
remote-endpoint = <&max9286_in0>;
137+
};
138+
};
139+
};
140+
};
141+
142+
- |
143+
i2c@e66d8000 {
144+
#address-cells = <1>;
145+
#size-cells = <0>;
146+
147+
reg = <0 0xe66d8000>;
148+
149+
camera@31 {
150+
compatible = "imi,rdacm21";
151+
reg = <0x31>, <0x41>;
152+
153+
port {
154+
rdacm21_out0: endpoint {
155+
remote-endpoint = <&max9286_in0>;
156+
};
157+
};
158+
};
159+
};

0 commit comments

Comments
 (0)