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

 - addition of fwnode support at V4L2 core

 - addition of a few more SDR formats

 - new imx driver to support i.MX6 cameras

 - new driver for Qualcon venus codecs

 - new I2C sensor drivers: dw9714, max2175, ov13858, ov5640

 - new CEC driver: stm32-cec

 - some improvements to DVB frontend documentation and a few fixups

 - several driver improvements and fixups

* tag 'media/v4.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (361 commits)
  [media] media: entity: Catch unbalanced media_pipeline_stop calls
  [media] media/uapi/v4l: clarify cropcap/crop/selection behavior
  [media] v4l2-ioctl/exynos: fix G/S_SELECTION's type handling
  [media] vimc: sen: Declare vimc_sen_video_ops as static
  [media] vimc: sca: Add scaler
  [media] vimc: deb: Add debayer filter
  [media] vimc: Subdevices as modules
  [media] vimc: cap: Support several image formats
  [media] vimc: sen: Support several image formats
  [media] vimc: common: Add vimc_colorimetry_clamp
  [media] vimc: common: Add vimc_link_validate
  [media] vimc: common: Add vimc_pipeline_s_stream helper
  [media] vimc: common: Add vimc_ent_sd_* helper
  [media] vimc: Move common code from the core
  [media] vimc: sen: Integrate the tpg on the sensor
  [media] media: i2c: ov772x: Force use of SCCB protocol
  [media] dvb uapi docs: enums are passed by value, not reference
  [media] dvb: don't use 'time_t' in event ioctl
  [media] media: venus: enable building with COMPILE_TEST
  [media] af9013: refactor power control
  ...
parents 920f2ecd 2a2599c6
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
Common bindings for HDMI CEC adapters

- hdmi-phandle: phandle to the HDMI controller.

- needs-hpd: if present the CEC support is only available when the HPD
  is high. Some boards only let the CEC pin through if the HPD is high,
  for example if there is a level converter that uses the HPD to power
  up or down.
+15 −0
Original line number Diff line number Diff line
@@ -6,6 +6,8 @@ digital interfaces like MIPI CSI-2 or parallel video.
Required Properties :
- compatible : value must be one of
		"adi,adv7180"
		"adi,adv7180cp"
		"adi,adv7180st"
		"adi,adv7182"
		"adi,adv7280"
		"adi,adv7280-m"
@@ -15,6 +17,19 @@ Required Properties :
		"adi,adv7282"
		"adi,adv7282-m"

Device nodes of "adi,adv7180cp" and "adi,adv7180st" must contain one
'port' child node per device input and output port, in accordance with the
video interface bindings defined in
Documentation/devicetree/bindings/media/video-interfaces.txt. The port
nodes are numbered as follows.

  Port		adv7180cp	adv7180st
-------------------------------------------------------------------
  Input		0-2		0-5
  Output	3		6

The digital output port node must contain at least one endpoint.

Optional Properties :
- powerdown-gpios: reference to the GPIO connected to the powerdown pin,
  if any.
+59 −0
Original line number Diff line number Diff line
Maxim Integrated MAX2175 RF to Bits tuner
-----------------------------------------

The MAX2175 IC is an advanced analog/digital hybrid-radio receiver with
RF to Bits® front-end designed for software-defined radio solutions.

Required properties:
--------------------
- compatible: "maxim,max2175" for MAX2175 RF-to-bits tuner.
- clocks: clock specifier.
- port: child port node corresponding to the I2S output, in accordance with
	the video interface bindings defined in
	Documentation/devicetree/bindings/media/video-interfaces.txt. The port
	node must contain at least one endpoint.

Optional properties:
--------------------
- maxim,master	      : phandle to the master tuner if it is a slave. This
			is used to define two tuners in diversity mode
			(1 master, 1 slave). By default each tuner is an
			individual master.
- maxim,refout-load   : load capacitance value (in picofarads) on reference
			output drive level. The possible load values are:
			 0 (default - refout disabled)
			10
			20
			30
			40
			60
			70
- maxim,am-hiz-filter : empty property indicates the AM Hi-Z filter is used
			in this hardware for AM antenna input.

Example:
--------

Board specific DTS file

/* Fixed XTAL clock node */
maxim_xtal: clock {
	compatible = "fixed-clock";
	#clock-cells = <0>;
	clock-frequency = <36864000>;
};

/* A tuner device instance under i2c bus */
max2175_0: tuner@60 {
	compatible = "maxim,max2175";
	reg = <0x60>;
	clocks = <&maxim_xtal>;
	maxim,refout-load = <10>;

	port {
		max2175_0_ep: endpoint {
			remote-endpoint = <&slave_rx_device>;
		};
	};

};
+45 −0
Original line number Diff line number Diff line
* Omnivision OV5640 MIPI CSI-2 sensor

Required Properties:
- compatible: should be "ovti,ov5640"
- clocks: reference to the xclk input clock.
- clock-names: should be "xclk".
- DOVDD-supply: Digital I/O voltage supply, 1.8 volts
- AVDD-supply: Analog voltage supply, 2.8 volts
- DVDD-supply: Digital core voltage supply, 1.5 volts

Optional Properties:
- reset-gpios: reference to the GPIO connected to the reset pin, if any.
	       This is an active low signal to the OV5640.
- powerdown-gpios: reference to the GPIO connected to the powerdown pin,
		   if any. This is an active high signal to the OV5640.

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 {
	ov5640: camera@3c {
		compatible = "ovti,ov5640";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_ov5640>;
		reg = <0x3c>;
		clocks = <&clks IMX6QDL_CLK_CKO>;
		clock-names = "xclk";
		DOVDD-supply = <&vgen4_reg>; /* 1.8v */
		AVDD-supply = <&vgen3_reg>;  /* 2.8v */
		DVDD-supply = <&vgen2_reg>;  /* 1.5v */
		powerdown-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
		reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;

		port {
			ov5640_to_mipi_csi2: endpoint {
				remote-endpoint = <&mipi_csi2_from_ov5640>;
				clock-lanes = <0>;
				data-lanes = <1 2>;
			};
		};
	};
};
+53 −0
Original line number Diff line number Diff line
Freescale i.MX Media Video Device
=================================

Video Media Controller node
---------------------------

This is the media controller node for video capture support. It is a
virtual device that lists the camera serial interface nodes that the
media device will control.

Required properties:
- compatible : "fsl,imx-capture-subsystem";
- ports      : Should contain a list of phandles pointing to camera
		sensor interface ports of IPU devices

example:

capture-subsystem {
	compatible = "fsl,imx-capture-subsystem";
	ports = <&ipu1_csi0>, <&ipu1_csi1>;
};


mipi_csi2 node
--------------

This is the device node for the MIPI CSI-2 Receiver core in the i.MX
SoC. This is a Synopsys Designware MIPI CSI-2 host controller core
combined with a D-PHY core mixed into the same register block. In
addition this device consists of an i.MX-specific "CSI2IPU gasket"
glue logic, also controlled from the same register block. The CSI2IPU
gasket demultiplexes the four virtual channel streams from the host
controller's 32-bit output image bus onto four 16-bit parallel busses
to the i.MX IPU CSIs.

Required properties:
- compatible	: "fsl,imx6-mipi-csi2";
- reg           : physical base address and length of the register set;
- clocks	: the MIPI CSI-2 receiver requires three clocks: hsi_tx
		  (the D-PHY clock), video_27m (D-PHY PLL reference
		  clock), and eim_podf;
- clock-names	: must contain "dphy", "ref", "pix";
- port@*        : five port nodes must exist, containing endpoints
		  connecting to the source and sink devices according to
		  of_graph bindings. The first port is an input port,
		  connecting with a MIPI CSI-2 source, and ports 1
		  through 4 are output ports connecting with parallel
		  bus sink endpoint nodes and correspond to the four
		  MIPI CSI-2 virtual channel outputs.

Optional properties:
- interrupts	: must contain two level-triggered interrupts,
		  in order: 100 and 101;
Loading