Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

 - videobuf2 was moved to a media/common dir, as it is now used by the
   DVB subsystem too

 - Digital TV core memory mapped support interface

 - new sensor driver: ov7740

 - several improvements at ddbridge driver

 - new V4L2 driver: IPU3 CIO2 CSI-2 receiver unit, found on some Intel
   SoCs

 - new tuner driver: tda18250

 - finally got rid of all LIRC staging drivers

 - as we don't have old lirc drivers anymore, restruct the lirc device
   code

 - add support for UVC metadata

 - add a new staging driver for NVIDIA Tegra Video Decoder Engine

 - DVB kAPI headers moved to include/media

 - synchronize the kAPI and uAPI for the DVB subsystem, removing the gap
   for non-legacy APIs

 - reduce the kAPI gap for V4L2

 - lots of other driver enhancements, cleanups, etc.

* tag 'media/v4.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (407 commits)
  media: v4l2-compat-ioctl32.c: make ctrl_is_pointer work for subdevs
  media: v4l2-compat-ioctl32.c: refactor compat ioctl32 logic
  media: v4l2-compat-ioctl32.c: don't copy back the result for certain errors
  media: v4l2-compat-ioctl32.c: drop pr_info for unknown buffer type
  media: v4l2-compat-ioctl32.c: copy clip list in put_v4l2_window32
  media: v4l2-compat-ioctl32.c: fix ctrl_is_pointer
  media: v4l2-compat-ioctl32.c: copy m.userptr in put_v4l2_plane32
  media: v4l2-compat-ioctl32.c: avoid sizeof(type)
  media: v4l2-compat-ioctl32.c: move 'helper' functions to __get/put_v4l2_format32
  media: v4l2-compat-ioctl32.c: fix the indentation
  media: v4l2-compat-ioctl32.c: add missing VIDIOC_PREPARE_BUF
  media: v4l2-ioctl.c: don't copy back the result for -ENOTTY
  media: v4l2-ioctl.c: use check_fmt for enum/g/s/try_fmt
  media: vivid: fix module load error when enabling fb and no_error_inj=1
  media: dvb_demux: improve debug messages
  media: dvb_demux: Better handle discontinuity errors
  media: cxusb, dib0700: ignore XC2028_I2C_FLUSH
  media: ts2020: avoid integer overflows on 32 bit machines
  media: i2c: ov7740: use gpio/consumer.h instead of gpio.h
  media: entity: Add a nop variant of media_entity_cleanup
  ...
parents 2246edfa 273caa26
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -4,6 +4,10 @@ The HDMI CEC GPIO module supports CEC implementations where the CEC line
is hooked up to a pull-up GPIO line and - optionally - the HPD line is
hooked up to another GPIO line.

Please note: the maximum voltage for the CEC line is 3.63V, for the HPD
line it is 5.3V. So you may need some sort of level conversion circuitry
when connecting them to a GPIO line.

Required properties:
  - compatible: value must be "cec-gpio".
  - cec-gpios: gpio that the CEC line is connected to. The line should be
@@ -21,7 +25,7 @@ the following property is optional:

Example for the Raspberry Pi 3 where the CEC line is connected to
pin 26 aka BCM7 aka CE1 on the GPIO pin header and the HPD line is
connected to pin 11 aka BCM17:
connected to pin 11 aka BCM17 (some level shifter is needed for this!):

#include <dt-bindings/gpio/gpio.h>

+4 −0
Original line number Diff line number Diff line
@@ -6,6 +6,8 @@ interface.

Required Properties:
- compatible: value should be "micron,mt9m111"
- clocks: reference to the master clock.
- clock-names: shall be "mclk".

For further reading on port node refer to
Documentation/devicetree/bindings/media/video-interfaces.txt.
@@ -16,6 +18,8 @@ Example:
		mt9m111@5d {
			compatible = "micron,mt9m111";
			reg = <0x5d>;
			clocks = <&mclk>;
			clock-names = "mclk";

			remote = <&pxa_camera>;
			port {
+44 −2
Original line number Diff line number Diff line
* Omnivision OV5640 MIPI CSI-2 sensor
* Omnivision OV5640 MIPI CSI-2 / parallel sensor

Required Properties:
- compatible: should be "ovti,ov5640"
@@ -18,7 +18,25 @@ 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:
OV5640 can be connected to a MIPI CSI-2 bus or a parallel bus endpoint.

Endpoint node required properties for CSI-2 connection are:
- remote-endpoint: a phandle to the bus receiver's endpoint node.
- clock-lanes: should be set to <0> (clock lane on hardware lane 0)
- data-lanes: should be set to <1> or <1 2> (one or two CSI-2 lanes supported)

Endpoint node required properties for parallel connection are:
- remote-endpoint: a phandle to the bus receiver's endpoint node.
- bus-width: shall be set to <8> for 8 bits parallel bus
	     or <10> for 10 bits parallel bus
- data-shift: shall be set to <2> for 8 bits parallel bus
	      (lines 9:2 are used) or <0> for 10 bits parallel bus
- hsync-active: active state of the HSYNC signal, 0/1 for LOW/HIGH respectively.
- vsync-active: active state of the VSYNC signal, 0/1 for LOW/HIGH respectively.
- pclk-sample: sample data on rising (1) or falling (0) edge of the pixel clock
	       signal.

Examples:

&i2c1 {
	ov5640: camera@3c {
@@ -35,6 +53,7 @@ Example:
		reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;

		port {
			/* MIPI CSI-2 bus endpoint */
			ov5640_to_mipi_csi2: endpoint {
				remote-endpoint = <&mipi_csi2_from_ov5640>;
				clock-lanes = <0>;
@@ -43,3 +62,26 @@ Example:
		};
	};
};

&i2c1 {
	ov5640: camera@3c {
		compatible = "ovti,ov5640";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_ov5640>;
		reg = <0x3c>;
		clocks = <&clk_ext_camera>;
		clock-names = "xclk";

		port {
			/* Parallel bus endpoint */
			ov5640_to_parallel: endpoint {
				remote-endpoint = <&parallel_from_ov5640>;
				bus-width = <8>;
				data-shift = <2>; /* lines 9:2 are used */
				hsync-active = <0>;
				vsync-active = <0>;
				pclk-sample = <1>;
			};
		};
	};
};
+47 −0
Original line number Diff line number Diff line
* Omnivision OV7740 CMOS image sensor

The Omnivision OV7740 image sensor supports multiple output image
size, such as VGA, and QVGA, CIF and any size smaller. It also
supports the RAW RGB and YUV output formats.

The common video interfaces bindings (see video-interfaces.txt) should
be used to specify link to the image data receiver. The OV7740 device
node should contain one 'port' child node with an 'endpoint' subnode.

Required Properties:
- compatible:	"ovti,ov7740".
- reg:		I2C slave address of the sensor.
- clocks:	Reference to the xvclk input clock.
- clock-names:	"xvclk".

Optional Properties:
- reset-gpios: Rreference to the GPIO connected to the reset_b pin,
  if any. Active low with pull-ip resistor.
- powerdown-gpios: Reference to the GPIO connected to the pwdn pin,
  if any. Active high with pull-down resistor.

Endpoint node mandatory properties:
- remote-endpoint: A phandle to the bus receiver's endpoint node.

Example:

	i2c1: i2c@fc028000 {
		ov7740: camera@21 {
			compatible = "ovti,ov7740";
			reg = <0x21>;
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_sensor_power &pinctrl_sensor_reset>;
			clocks = <&isc>;
			clock-names = "xvclk";
			assigned-clocks = <&isc>;
			assigned-clock-rates = <24000000>;
			reset-gpios = <&pioA 43 GPIO_ACTIVE_LOW>;
			powerdown-gpios = <&pioA 44 GPIO_ACTIVE_HIGH>;

			port {
				ov7740_0: endpoint {
					remote-endpoint = <&isc_0>;
				};
			};
		};
	};
+7 −0
Original line number Diff line number Diff line
@@ -20,6 +20,13 @@ Mandatory properties
  is in hardware standby mode when the signal is in the low state.


Optional properties
-------------------

- flash-leds: See ../video-interfaces.txt
- lens-focus: See ../video-interfaces.txt


Endpoint node mandatory properties
----------------------------------

Loading