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 ...
This commit is contained in:
@@ -1,51 +1,66 @@
|
||||
Atmel Image Sensor Interface (ISI) SoC Camera Subsystem
|
||||
----------------------------------------------
|
||||
Atmel Image Sensor Interface (ISI)
|
||||
----------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible: must be "atmel,at91sam9g45-isi"
|
||||
- reg: physical base address and length of the registers set for the device;
|
||||
- interrupts: should contain IRQ line for the ISI;
|
||||
- clocks: list of clock specifiers, corresponding to entries in
|
||||
the clock-names property;
|
||||
- clock-names: must contain "isi_clk", which is the isi peripherial clock.
|
||||
Required properties for ISI:
|
||||
- compatible: must be "atmel,at91sam9g45-isi".
|
||||
- reg: physical base address and length of the registers set for the device.
|
||||
- interrupts: should contain IRQ line for the ISI.
|
||||
- clocks: list of clock specifiers, corresponding to entries in the clock-names
|
||||
property; please refer to clock-bindings.txt.
|
||||
- clock-names: required elements: "isi_clk".
|
||||
- pinctrl-names, pinctrl-0: please refer to pinctrl-bindings.txt.
|
||||
|
||||
ISI supports a single port node with parallel bus. It should contain one
|
||||
ISI supports a single port node with parallel bus. It shall contain one
|
||||
'port' child node with child 'endpoint' node. Please refer to the bindings
|
||||
defined in Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
|
||||
Endpoint node properties
|
||||
------------------------
|
||||
|
||||
- bus-width: <8> or <10> (mandatory)
|
||||
- hsync-active (default: active high)
|
||||
- vsync-active (default: active high)
|
||||
- pclk-sample (default: sample on falling edge)
|
||||
- remote-endpoint: A phandle to the bus receiver's endpoint node (mandatory).
|
||||
|
||||
Example:
|
||||
isi: isi@f0034000 {
|
||||
compatible = "atmel,at91sam9g45-isi";
|
||||
reg = <0xf0034000 0x4000>;
|
||||
interrupts = <37 IRQ_TYPE_LEVEL_HIGH 5>;
|
||||
|
||||
clocks = <&isi_clk>;
|
||||
clock-names = "isi_clk";
|
||||
isi: isi@f0034000 {
|
||||
compatible = "atmel,at91sam9g45-isi";
|
||||
reg = <0xf0034000 0x4000>;
|
||||
interrupts = <37 IRQ_TYPE_LEVEL_HIGH 5>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_isi_data_0_7>;
|
||||
clocks = <&isi_clk>;
|
||||
clock-names = "isi_clk";
|
||||
port {
|
||||
isi_0: endpoint {
|
||||
remote-endpoint = <&ov2640_0>;
|
||||
bus-width = <8>;
|
||||
vsync-active = <1>;
|
||||
hsync-active = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
i2c1: i2c@f0018000 {
|
||||
ov2640: camera@30 {
|
||||
compatible = "ovti,ov2640";
|
||||
reg = <0x30>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_isi>;
|
||||
pinctrl-0 = <&pinctrl_pck0_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>;
|
||||
resetb-gpios = <&pioE 11 GPIO_ACTIVE_LOW>;
|
||||
pwdn-gpios = <&pioE 13 GPIO_ACTIVE_HIGH>;
|
||||
clocks = <&pck0>;
|
||||
clock-names = "xvclk";
|
||||
assigned-clocks = <&pck0>;
|
||||
assigned-clock-rates = <25000000>;
|
||||
|
||||
port {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
isi_0: endpoint {
|
||||
remote-endpoint = <&ov2640_0>;
|
||||
ov2640_0: endpoint {
|
||||
remote-endpoint = <&isi_0>;
|
||||
bus-width = <8>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
i2c1: i2c@f0018000 {
|
||||
ov2640: camera@0x30 {
|
||||
compatible = "ovti,ov2640";
|
||||
reg = <0x30>;
|
||||
|
||||
port {
|
||||
ov2640_0: endpoint {
|
||||
remote-endpoint = <&isi_0>;
|
||||
bus-width = <8>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@@ -1,8 +1,8 @@
|
||||
* Omnivision OV2640 CMOS sensor
|
||||
|
||||
The Omnivision OV2640 sensor support multiple resolutions output, such as
|
||||
CIF, SVGA, UXGA. It also can support YUV422/420, RGB565/555 or raw RGB
|
||||
output format.
|
||||
The Omnivision OV2640 sensor supports multiple resolutions output, such as
|
||||
CIF, SVGA, UXGA. It also can support the YUV422/420, RGB565/555 or raw RGB
|
||||
output formats.
|
||||
|
||||
Required Properties:
|
||||
- compatible: should be "ovti,ov2640"
|
||||
@@ -20,26 +20,21 @@ Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
Example:
|
||||
|
||||
i2c1: i2c@f0018000 {
|
||||
ov2640: camera@0x30 {
|
||||
ov2640: camera@30 {
|
||||
compatible = "ovti,ov2640";
|
||||
reg = <0x30>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pck1 &pinctrl_ov2640_pwdn &pinctrl_ov2640_resetb>;
|
||||
|
||||
resetb-gpios = <&pioE 24 GPIO_ACTIVE_LOW>;
|
||||
pwdn-gpios = <&pioE 29 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
clocks = <&pck1>;
|
||||
pinctrl-0 = <&pinctrl_pck0_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>;
|
||||
resetb-gpios = <&pioE 11 GPIO_ACTIVE_LOW>;
|
||||
pwdn-gpios = <&pioE 13 GPIO_ACTIVE_HIGH>;
|
||||
clocks = <&pck0>;
|
||||
clock-names = "xvclk";
|
||||
|
||||
assigned-clocks = <&pck1>;
|
||||
assigned-clocks = <&pck0>;
|
||||
assigned-clock-rates = <25000000>;
|
||||
|
||||
port {
|
||||
ov2640_0: endpoint {
|
||||
remote-endpoint = <&isi_0>;
|
||||
bus-width = <8>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
54
Documentation/devicetree/bindings/media/i2c/ov5645.txt
Normal file
54
Documentation/devicetree/bindings/media/i2c/ov5645.txt
Normal file
@@ -0,0 +1,54 @@
|
||||
* Omnivision 1/4-Inch 5Mp CMOS Digital Image Sensor
|
||||
|
||||
The Omnivision OV5645 is a 1/4-Inch CMOS active pixel digital image sensor with
|
||||
an active array size of 2592H x 1944V. It is programmable through a serial I2C
|
||||
interface.
|
||||
|
||||
Required Properties:
|
||||
- compatible: Value should be "ovti,ov5645".
|
||||
- clocks: Reference to the xclk clock.
|
||||
- clock-names: Should be "xclk".
|
||||
- clock-frequency: Frequency of the xclk clock.
|
||||
- enable-gpios: Chip enable GPIO. Polarity is GPIO_ACTIVE_HIGH. This corresponds
|
||||
to the hardware pin PWDNB which is physically active low.
|
||||
- reset-gpios: Chip reset GPIO. Polarity is GPIO_ACTIVE_LOW. This corresponds to
|
||||
the hardware pin RESETB.
|
||||
- vdddo-supply: Chip digital IO regulator.
|
||||
- vdda-supply: Chip analog regulator.
|
||||
- vddd-supply: Chip digital core regulator.
|
||||
|
||||
The device node must contain one 'port' child node for its digital output
|
||||
video port, in accordance with the video interface bindings defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
|
||||
Example:
|
||||
|
||||
&i2c1 {
|
||||
...
|
||||
|
||||
ov5645: ov5645@78 {
|
||||
compatible = "ovti,ov5645";
|
||||
reg = <0x78>;
|
||||
|
||||
enable-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
|
||||
reset-gpios = <&gpio5 20 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&camera_rear_default>;
|
||||
|
||||
clocks = <&clks 200>;
|
||||
clock-names = "xclk";
|
||||
clock-frequency = <23880000>;
|
||||
|
||||
vdddo-supply = <&camera_dovdd_1v8>;
|
||||
vdda-supply = <&camera_avdd_2v8>;
|
||||
vddd-supply = <&camera_dvdd_1v2>;
|
||||
|
||||
port {
|
||||
ov5645_ep: endpoint {
|
||||
clock-lanes = <1>;
|
||||
data-lanes = <0 2>;
|
||||
remote-endpoint = <&csi0_ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
35
Documentation/devicetree/bindings/media/i2c/ov5647.txt
Normal file
35
Documentation/devicetree/bindings/media/i2c/ov5647.txt
Normal file
@@ -0,0 +1,35 @@
|
||||
Omnivision OV5647 raw image sensor
|
||||
---------------------------------
|
||||
|
||||
OV5647 is a raw image sensor with MIPI CSI-2 and CCP2 image data interfaces
|
||||
and CCI (I2C compatible) control bus.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : "ovti,ov5647".
|
||||
- reg : I2C slave address of the sensor.
|
||||
- clocks : Reference to the xclk clock.
|
||||
|
||||
The common video interfaces bindings (see video-interfaces.txt) should be
|
||||
used to specify link to the image data receiver. The OV5647 device
|
||||
node should contain one 'port' child node with an 'endpoint' subnode.
|
||||
|
||||
Endpoint node mandatory properties:
|
||||
|
||||
- remote-endpoint: A phandle to the bus receiver's endpoint node.
|
||||
|
||||
Example:
|
||||
|
||||
i2c@2000 {
|
||||
...
|
||||
ov: camera@36 {
|
||||
compatible = "ovti,ov5647";
|
||||
reg = <0x36>;
|
||||
clocks = <&camera_clk>;
|
||||
port {
|
||||
camera_1: endpoint {
|
||||
remote-endpoint = <&csi1_ep1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
43
Documentation/devicetree/bindings/media/i2c/ov7670.txt
Normal file
43
Documentation/devicetree/bindings/media/i2c/ov7670.txt
Normal file
@@ -0,0 +1,43 @@
|
||||
* Omnivision OV7670 CMOS sensor
|
||||
|
||||
The Omnivision OV7670 sensor supports multiple resolutions output, such as
|
||||
CIF, SVGA, UXGA. It also can support the YUV422/420, RGB565/555 or raw RGB
|
||||
output formats.
|
||||
|
||||
Required Properties:
|
||||
- compatible: should be "ovti,ov7670"
|
||||
- clocks: reference to the xclk input clock.
|
||||
- clock-names: should be "xclk".
|
||||
|
||||
Optional Properties:
|
||||
- reset-gpios: reference to the GPIO connected to the resetb pin, if any.
|
||||
Active is low.
|
||||
- powerdown-gpios: reference to the GPIO connected to the pwdn pin, if any.
|
||||
Active is high.
|
||||
|
||||
The device node must contain one 'port' child node for its digital output
|
||||
video port, in accordance with the video interface bindings defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
|
||||
Example:
|
||||
|
||||
i2c1: i2c@f0018000 {
|
||||
ov7670: camera@21 {
|
||||
compatible = "ovti,ov7670";
|
||||
reg = <0x21>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pck0_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>;
|
||||
reset-gpios = <&pioE 11 GPIO_ACTIVE_LOW>;
|
||||
powerdown-gpios = <&pioE 13 GPIO_ACTIVE_HIGH>;
|
||||
clocks = <&pck0>;
|
||||
clock-names = "xclk";
|
||||
assigned-clocks = <&pck0>;
|
||||
assigned-clock-rates = <25000000>;
|
||||
|
||||
port {
|
||||
ov7670_0: endpoint {
|
||||
remote-endpoint = <&isi_0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
@@ -0,0 +1,37 @@
|
||||
* Mediatek JPEG Decoder
|
||||
|
||||
Mediatek JPEG Decoder is the JPEG decode hardware present in Mediatek SoCs
|
||||
|
||||
Required properties:
|
||||
- compatible : must be one of the following string:
|
||||
"mediatek,mt8173-jpgdec"
|
||||
"mediatek,mt2701-jpgdec"
|
||||
- reg : physical base address of the jpeg decoder registers and length of
|
||||
memory mapped region.
|
||||
- interrupts : interrupt number to the interrupt controller.
|
||||
- clocks: device clocks, see
|
||||
Documentation/devicetree/bindings/clock/clock-bindings.txt for details.
|
||||
- clock-names: must contain "jpgdec-smi" and "jpgdec".
|
||||
- power-domains: a phandle to the power domain, see
|
||||
Documentation/devicetree/bindings/power/power_domain.txt for details.
|
||||
- mediatek,larb: must contain the local arbiters in the current Socs, see
|
||||
Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.txt
|
||||
for details.
|
||||
- iommus: should point to the respective IOMMU block with master port as
|
||||
argument, see Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
|
||||
for details.
|
||||
|
||||
Example:
|
||||
jpegdec: jpegdec@15004000 {
|
||||
compatible = "mediatek,mt2701-jpgdec";
|
||||
reg = <0 0x15004000 0 0x1000>;
|
||||
interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_LOW>;
|
||||
clocks = <&imgsys CLK_IMG_JPGDEC_SMI>,
|
||||
<&imgsys CLK_IMG_JPGDEC>;
|
||||
clock-names = "jpgdec-smi",
|
||||
"jpgdec";
|
||||
power-domains = <&scpsys MT2701_POWER_DOMAIN_ISP>;
|
||||
mediatek,larb = <&larb2>;
|
||||
iommus = <&iommu MT2701_M4U_PORT_JPGDEC_WDMA>,
|
||||
<&iommu MT2701_M4U_PORT_JPGDEC_BSDMA>;
|
||||
};
|
@@ -15,6 +15,7 @@ Required properties:
|
||||
- clock-names : from common clock binding: must contain "hdmicec",
|
||||
corresponding to entry in the clocks property.
|
||||
- samsung,syscon-phandle - phandle to the PMU system controller
|
||||
- hdmi-phandle - phandle to the HDMI controller
|
||||
|
||||
Example:
|
||||
|
||||
@@ -25,6 +26,7 @@ hdmicec: cec@100B0000 {
|
||||
clocks = <&clock CLK_HDMI_CEC>;
|
||||
clock-names = "hdmicec";
|
||||
samsung,syscon-phandle = <&pmu_system_controller>;
|
||||
hdmi-phandle = <&hdmi>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hdmi_cec>;
|
||||
status = "okay";
|
||||
|
@@ -28,7 +28,7 @@ Optional properties:
|
||||
- memory-region : from reserved memory binding: phandles to two reserved
|
||||
memory regions, first is for "left" mfc memory bus interfaces,
|
||||
second if for the "right" mfc memory bus, used when no SYSMMU
|
||||
support is available
|
||||
support is available; used only by MFC v5 present in Exynos4 SoCs
|
||||
|
||||
Obsolete properties:
|
||||
- samsung,mfc-r, samsung,mfc-l : support removed, please use memory-region
|
||||
|
@@ -9,6 +9,7 @@ Required properties:
|
||||
- pinctrl-names: Contains only one value - "default"
|
||||
- pinctrl-0: Specifies the pin control groups used for CEC hardware.
|
||||
- resets: Reference to a reset controller
|
||||
- hdmi-phandle: Phandle to the HDMI controller
|
||||
|
||||
Example for STIH407:
|
||||
|
||||
@@ -22,4 +23,5 @@ sti-cec@094a087c {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_cec0_default>;
|
||||
resets = <&softreset STIH407_LPM_SOFTRESET>;
|
||||
hdmi-phandle = <&hdmi>;
|
||||
};
|
||||
|
@@ -16,8 +16,10 @@ Required properties:
|
||||
Video Capture:
|
||||
|
||||
VPIF has a 16-bit parallel bus input, supporting 2 8-bit channels or a
|
||||
single 16-bit channel. It should contain at least one port child node
|
||||
with child 'endpoint' node. Please refer to the bindings defined in
|
||||
single 16-bit channel. It should contain one or two port child nodes
|
||||
with child 'endpoint' node. If there are two ports then port@0 must
|
||||
describe the input and port@1 output channels. Please refer to the
|
||||
bindings defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
|
||||
Example using 2 8-bit input channels, one of which is connected to an
|
||||
@@ -28,17 +30,24 @@ I2C-connected TVP5147 decoder:
|
||||
reg = <0x217000 0x1000>;
|
||||
interrupts = <92>;
|
||||
|
||||
port {
|
||||
vpif_ch0: endpoint@0 {
|
||||
reg = <0>;
|
||||
bus-width = <8>;
|
||||
remote-endpoint = <&composite>;
|
||||
port@0 {
|
||||
vpif_input_ch0: endpoint@0 {
|
||||
reg = <0>;
|
||||
bus-width = <8>;
|
||||
remote-endpoint = <&composite_in>;
|
||||
};
|
||||
|
||||
vpif_ch1: endpoint@1 {
|
||||
reg = <1>;
|
||||
bus-width = <8>;
|
||||
data-shift = <8>;
|
||||
vpif_input_ch1: endpoint@1 {
|
||||
reg = <1>;
|
||||
bus-width = <8>;
|
||||
data-shift = <8>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
vpif_output_ch0: endpoint {
|
||||
bus-width = <8>;
|
||||
remote-endpoint = <&composite_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -53,13 +62,28 @@ I2C-connected TVP5147 decoder:
|
||||
status = "okay";
|
||||
|
||||
port {
|
||||
composite: endpoint {
|
||||
composite_in: endpoint {
|
||||
hsync-active = <1>;
|
||||
vsync-active = <1>;
|
||||
pclk-sample = <0>;
|
||||
|
||||
/* VPIF channel 0 (lower 8-bits) */
|
||||
remote-endpoint = <&vpif_ch0>;
|
||||
remote-endpoint = <&vpif_input_ch0>;
|
||||
bus-width = <8>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
adv7343@2a {
|
||||
compatible = "adi,adv7343";
|
||||
reg = <0x2a>;
|
||||
|
||||
port {
|
||||
composite_out: endpoint {
|
||||
adi,dac-enable = <1 1 1>;
|
||||
adi,sd-dac-enable = <1>;
|
||||
|
||||
remote-endpoint = <&vpif_output_ch0>;
|
||||
bus-width = <8>;
|
||||
};
|
||||
};
|
||||
|
Reference in New Issue
Block a user