Skip to content

Commit e87d51a

Browse files
committed
Merge tag 'media/v4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab: "Media updates for v4.12-rc1: - new driver to support mediatek jpeg in hardware codec - rc-lirc, s5p-cec and st-cec staging drivers got promoted - hardware histogram support for vsp1 driver - added Virtual Media Controller driver, to make easier to test the media controller - added a new CEC driver (rainshadow-cec) - removed two staging LIRC drivers for obscure hardware that are too obsolete - added support for Intel SR300 Depth camera - some improvements at CEC and RC core - lots of driver cleanups, improvements all over the tree With this series, we're finally getting rid of the LIRC staging driver. There's just one left (lirc_zilog), with require more care, as part of its functionality (IR RX) is already provided by another driver. Work in progress to convert it on the proper way" * tag 'media/v4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (304 commits) [media] ov2640: print error if devm_*_optional*() fails [media] atmel-isc: Fix the static checker warning [media] ov2640: add support for MEDIA_BUS_FMT_YVYU8_2X8 and MEDIA_BUS_FMT_VYUY8_2X8 [media] ov2640: fix vflip control [media] ov2640: fix duplicate width+height returning from ov2640_select_win() [media] ov2640: add missing write to size change preamble [media] ov2640: add information about DSP register 0xc7 [media] ov2640: improve banding filter register definitions/documentation [media] ov2640: fix init sequence alignment [media] ov2640: make GPIOLIB an optional dependency [media] xc5000: fix spelling mistake: "calibration" [media] vidioc-queryctrl.rst: fix menu/int menu references [media] media-entity: only call dev_dbg_obj if mdev is not NULL [media] pixfmt-meta-vsp1-hgo.rst: remove spurious '-' [media] mtk-vcodec: avoid warnings because of empty macros [media] coda: bump maximum number of internal framebuffers to 17 [media] media: mtk-vcodec: remove informative log [media] subdev-formats.rst: remove spurious '-' [media] dw2102: limit messages to buffer size [media] ttusb2: limit messages to buffer size ...
2 parents bdc713b + 3622d3e commit e87d51a

File tree

352 files changed

+15001
-5238
lines changed

Some content is hidden

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

352 files changed

+15001
-5238
lines changed
Lines changed: 53 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,66 @@
1-
Atmel Image Sensor Interface (ISI) SoC Camera Subsystem
2-
----------------------------------------------
3-
4-
Required properties:
5-
- compatible: must be "atmel,at91sam9g45-isi"
6-
- reg: physical base address and length of the registers set for the device;
7-
- interrupts: should contain IRQ line for the ISI;
8-
- clocks: list of clock specifiers, corresponding to entries in
9-
the clock-names property;
10-
- clock-names: must contain "isi_clk", which is the isi peripherial clock.
11-
12-
ISI supports a single port node with parallel bus. It should contain one
1+
Atmel Image Sensor Interface (ISI)
2+
----------------------------------
3+
4+
Required properties for ISI:
5+
- compatible: must be "atmel,at91sam9g45-isi".
6+
- reg: physical base address and length of the registers set for the device.
7+
- interrupts: should contain IRQ line for the ISI.
8+
- clocks: list of clock specifiers, corresponding to entries in the clock-names
9+
property; please refer to clock-bindings.txt.
10+
- clock-names: required elements: "isi_clk".
11+
- pinctrl-names, pinctrl-0: please refer to pinctrl-bindings.txt.
12+
13+
ISI supports a single port node with parallel bus. It shall contain one
1314
'port' child node with child 'endpoint' node. Please refer to the bindings
1415
defined in Documentation/devicetree/bindings/media/video-interfaces.txt.
1516

16-
Example:
17-
isi: isi@f0034000 {
18-
compatible = "atmel,at91sam9g45-isi";
19-
reg = <0xf0034000 0x4000>;
20-
interrupts = <37 IRQ_TYPE_LEVEL_HIGH 5>;
21-
22-
clocks = <&isi_clk>;
23-
clock-names = "isi_clk";
17+
Endpoint node properties
18+
------------------------
2419

25-
pinctrl-names = "default";
26-
pinctrl-0 = <&pinctrl_isi>;
20+
- bus-width: <8> or <10> (mandatory)
21+
- hsync-active (default: active high)
22+
- vsync-active (default: active high)
23+
- pclk-sample (default: sample on falling edge)
24+
- remote-endpoint: A phandle to the bus receiver's endpoint node (mandatory).
2725

28-
port {
29-
#address-cells = <1>;
30-
#size-cells = <0>;
26+
Example:
3127

32-
isi_0: endpoint {
33-
remote-endpoint = <&ov2640_0>;
34-
bus-width = <8>;
35-
};
28+
isi: isi@f0034000 {
29+
compatible = "atmel,at91sam9g45-isi";
30+
reg = <0xf0034000 0x4000>;
31+
interrupts = <37 IRQ_TYPE_LEVEL_HIGH 5>;
32+
pinctrl-names = "default";
33+
pinctrl-0 = <&pinctrl_isi_data_0_7>;
34+
clocks = <&isi_clk>;
35+
clock-names = "isi_clk";
36+
port {
37+
isi_0: endpoint {
38+
remote-endpoint = <&ov2640_0>;
39+
bus-width = <8>;
40+
vsync-active = <1>;
41+
hsync-active = <1>;
3642
};
3743
};
44+
};
3845

39-
i2c1: i2c@f0018000 {
40-
ov2640: camera@0x30 {
41-
compatible = "ovti,ov2640";
42-
reg = <0x30>;
46+
i2c1: i2c@f0018000 {
47+
ov2640: camera@30 {
48+
compatible = "ovti,ov2640";
49+
reg = <0x30>;
50+
pinctrl-names = "default";
51+
pinctrl-0 = <&pinctrl_pck0_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>;
52+
resetb-gpios = <&pioE 11 GPIO_ACTIVE_LOW>;
53+
pwdn-gpios = <&pioE 13 GPIO_ACTIVE_HIGH>;
54+
clocks = <&pck0>;
55+
clock-names = "xvclk";
56+
assigned-clocks = <&pck0>;
57+
assigned-clock-rates = <25000000>;
4358

44-
port {
45-
ov2640_0: endpoint {
46-
remote-endpoint = <&isi_0>;
47-
bus-width = <8>;
48-
};
59+
port {
60+
ov2640_0: endpoint {
61+
remote-endpoint = <&isi_0>;
62+
bus-width = <8>;
4963
};
5064
};
5165
};
66+
};

Documentation/devicetree/bindings/media/i2c/ov2640.txt

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
* Omnivision OV2640 CMOS sensor
22

3-
The Omnivision OV2640 sensor support multiple resolutions output, such as
4-
CIF, SVGA, UXGA. It also can support YUV422/420, RGB565/555 or raw RGB
5-
output format.
3+
The Omnivision OV2640 sensor supports multiple resolutions output, such as
4+
CIF, SVGA, UXGA. It also can support the YUV422/420, RGB565/555 or raw RGB
5+
output formats.
66

77
Required Properties:
88
- compatible: should be "ovti,ov2640"
@@ -20,26 +20,21 @@ Documentation/devicetree/bindings/media/video-interfaces.txt.
2020
Example:
2121

2222
i2c1: i2c@f0018000 {
23-
ov2640: camera@0x30 {
23+
ov2640: camera@30 {
2424
compatible = "ovti,ov2640";
2525
reg = <0x30>;
26-
2726
pinctrl-names = "default";
28-
pinctrl-0 = <&pinctrl_pck1 &pinctrl_ov2640_pwdn &pinctrl_ov2640_resetb>;
29-
30-
resetb-gpios = <&pioE 24 GPIO_ACTIVE_LOW>;
31-
pwdn-gpios = <&pioE 29 GPIO_ACTIVE_HIGH>;
32-
33-
clocks = <&pck1>;
27+
pinctrl-0 = <&pinctrl_pck0_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>;
28+
resetb-gpios = <&pioE 11 GPIO_ACTIVE_LOW>;
29+
pwdn-gpios = <&pioE 13 GPIO_ACTIVE_HIGH>;
30+
clocks = <&pck0>;
3431
clock-names = "xvclk";
35-
36-
assigned-clocks = <&pck1>;
32+
assigned-clocks = <&pck0>;
3733
assigned-clock-rates = <25000000>;
3834

3935
port {
4036
ov2640_0: endpoint {
4137
remote-endpoint = <&isi_0>;
42-
bus-width = <8>;
4338
};
4439
};
4540
};
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
* Omnivision 1/4-Inch 5Mp CMOS Digital Image Sensor
2+
3+
The Omnivision OV5645 is a 1/4-Inch CMOS active pixel digital image sensor with
4+
an active array size of 2592H x 1944V. It is programmable through a serial I2C
5+
interface.
6+
7+
Required Properties:
8+
- compatible: Value should be "ovti,ov5645".
9+
- clocks: Reference to the xclk clock.
10+
- clock-names: Should be "xclk".
11+
- clock-frequency: Frequency of the xclk clock.
12+
- enable-gpios: Chip enable GPIO. Polarity is GPIO_ACTIVE_HIGH. This corresponds
13+
to the hardware pin PWDNB which is physically active low.
14+
- reset-gpios: Chip reset GPIO. Polarity is GPIO_ACTIVE_LOW. This corresponds to
15+
the hardware pin RESETB.
16+
- vdddo-supply: Chip digital IO regulator.
17+
- vdda-supply: Chip analog regulator.
18+
- vddd-supply: Chip digital core regulator.
19+
20+
The device node must contain one 'port' child node for its digital output
21+
video port, in accordance with the video interface bindings defined in
22+
Documentation/devicetree/bindings/media/video-interfaces.txt.
23+
24+
Example:
25+
26+
&i2c1 {
27+
...
28+
29+
ov5645: ov5645@78 {
30+
compatible = "ovti,ov5645";
31+
reg = <0x78>;
32+
33+
enable-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
34+
reset-gpios = <&gpio5 20 GPIO_ACTIVE_LOW>;
35+
pinctrl-names = "default";
36+
pinctrl-0 = <&camera_rear_default>;
37+
38+
clocks = <&clks 200>;
39+
clock-names = "xclk";
40+
clock-frequency = <23880000>;
41+
42+
vdddo-supply = <&camera_dovdd_1v8>;
43+
vdda-supply = <&camera_avdd_2v8>;
44+
vddd-supply = <&camera_dvdd_1v2>;
45+
46+
port {
47+
ov5645_ep: endpoint {
48+
clock-lanes = <1>;
49+
data-lanes = <0 2>;
50+
remote-endpoint = <&csi0_ep>;
51+
};
52+
};
53+
};
54+
};
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
Omnivision OV5647 raw image sensor
2+
---------------------------------
3+
4+
OV5647 is a raw image sensor with MIPI CSI-2 and CCP2 image data interfaces
5+
and CCI (I2C compatible) control bus.
6+
7+
Required properties:
8+
9+
- compatible : "ovti,ov5647".
10+
- reg : I2C slave address of the sensor.
11+
- clocks : Reference to the xclk clock.
12+
13+
The common video interfaces bindings (see video-interfaces.txt) should be
14+
used to specify link to the image data receiver. The OV5647 device
15+
node should contain one 'port' child node with an 'endpoint' subnode.
16+
17+
Endpoint node mandatory properties:
18+
19+
- remote-endpoint: A phandle to the bus receiver's endpoint node.
20+
21+
Example:
22+
23+
i2c@2000 {
24+
...
25+
ov: camera@36 {
26+
compatible = "ovti,ov5647";
27+
reg = <0x36>;
28+
clocks = <&camera_clk>;
29+
port {
30+
camera_1: endpoint {
31+
remote-endpoint = <&csi1_ep1>;
32+
};
33+
};
34+
};
35+
};
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
* Omnivision OV7670 CMOS sensor
2+
3+
The Omnivision OV7670 sensor supports multiple resolutions output, such as
4+
CIF, SVGA, UXGA. It also can support the YUV422/420, RGB565/555 or raw RGB
5+
output formats.
6+
7+
Required Properties:
8+
- compatible: should be "ovti,ov7670"
9+
- clocks: reference to the xclk input clock.
10+
- clock-names: should be "xclk".
11+
12+
Optional Properties:
13+
- reset-gpios: reference to the GPIO connected to the resetb pin, if any.
14+
Active is low.
15+
- powerdown-gpios: reference to the GPIO connected to the pwdn pin, if any.
16+
Active is high.
17+
18+
The device node must contain one 'port' child node for its digital output
19+
video port, in accordance with the video interface bindings defined in
20+
Documentation/devicetree/bindings/media/video-interfaces.txt.
21+
22+
Example:
23+
24+
i2c1: i2c@f0018000 {
25+
ov7670: camera@21 {
26+
compatible = "ovti,ov7670";
27+
reg = <0x21>;
28+
pinctrl-names = "default";
29+
pinctrl-0 = <&pinctrl_pck0_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>;
30+
reset-gpios = <&pioE 11 GPIO_ACTIVE_LOW>;
31+
powerdown-gpios = <&pioE 13 GPIO_ACTIVE_HIGH>;
32+
clocks = <&pck0>;
33+
clock-names = "xclk";
34+
assigned-clocks = <&pck0>;
35+
assigned-clock-rates = <25000000>;
36+
37+
port {
38+
ov7670_0: endpoint {
39+
remote-endpoint = <&isi_0>;
40+
};
41+
};
42+
};
43+
};
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
* Mediatek JPEG Decoder
2+
3+
Mediatek JPEG Decoder is the JPEG decode hardware present in Mediatek SoCs
4+
5+
Required properties:
6+
- compatible : must be one of the following string:
7+
"mediatek,mt8173-jpgdec"
8+
"mediatek,mt2701-jpgdec"
9+
- reg : physical base address of the jpeg decoder registers and length of
10+
memory mapped region.
11+
- interrupts : interrupt number to the interrupt controller.
12+
- clocks: device clocks, see
13+
Documentation/devicetree/bindings/clock/clock-bindings.txt for details.
14+
- clock-names: must contain "jpgdec-smi" and "jpgdec".
15+
- power-domains: a phandle to the power domain, see
16+
Documentation/devicetree/bindings/power/power_domain.txt for details.
17+
- mediatek,larb: must contain the local arbiters in the current Socs, see
18+
Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.txt
19+
for details.
20+
- iommus: should point to the respective IOMMU block with master port as
21+
argument, see Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
22+
for details.
23+
24+
Example:
25+
jpegdec: jpegdec@15004000 {
26+
compatible = "mediatek,mt2701-jpgdec";
27+
reg = <0 0x15004000 0 0x1000>;
28+
interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_LOW>;
29+
clocks = <&imgsys CLK_IMG_JPGDEC_SMI>,
30+
<&imgsys CLK_IMG_JPGDEC>;
31+
clock-names = "jpgdec-smi",
32+
"jpgdec";
33+
power-domains = <&scpsys MT2701_POWER_DOMAIN_ISP>;
34+
mediatek,larb = <&larb2>;
35+
iommus = <&iommu MT2701_M4U_PORT_JPGDEC_WDMA>,
36+
<&iommu MT2701_M4U_PORT_JPGDEC_BSDMA>;
37+
};

Documentation/devicetree/bindings/media/s5p-cec.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Required properties:
1515
- clock-names : from common clock binding: must contain "hdmicec",
1616
corresponding to entry in the clocks property.
1717
- samsung,syscon-phandle - phandle to the PMU system controller
18+
- hdmi-phandle - phandle to the HDMI controller
1819

1920
Example:
2021

@@ -25,6 +26,7 @@ hdmicec: cec@100B0000 {
2526
clocks = <&clock CLK_HDMI_CEC>;
2627
clock-names = "hdmicec";
2728
samsung,syscon-phandle = <&pmu_system_controller>;
29+
hdmi-phandle = <&hdmi>;
2830
pinctrl-names = "default";
2931
pinctrl-0 = <&hdmi_cec>;
3032
status = "okay";

Documentation/devicetree/bindings/media/s5p-mfc.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Optional properties:
2828
- memory-region : from reserved memory binding: phandles to two reserved
2929
memory regions, first is for "left" mfc memory bus interfaces,
3030
second if for the "right" mfc memory bus, used when no SYSMMU
31-
support is available
31+
support is available; used only by MFC v5 present in Exynos4 SoCs
3232

3333
Obsolete properties:
3434
- samsung,mfc-r, samsung,mfc-l : support removed, please use memory-region

Documentation/devicetree/bindings/media/stih-cec.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Required properties:
99
- pinctrl-names: Contains only one value - "default"
1010
- pinctrl-0: Specifies the pin control groups used for CEC hardware.
1111
- resets: Reference to a reset controller
12+
- hdmi-phandle: Phandle to the HDMI controller
1213

1314
Example for STIH407:
1415

@@ -22,4 +23,5 @@ sti-cec@094a087c {
2223
pinctrl-names = "default";
2324
pinctrl-0 = <&pinctrl_cec0_default>;
2425
resets = <&softreset STIH407_LPM_SOFTRESET>;
26+
hdmi-phandle = <&hdmi>;
2527
};

0 commit comments

Comments
 (0)