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

Commit e87d51ac authored by Linus Torvalds's avatar Linus Torvalds
Browse files
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
  ...
parents bdc713bf 3622d3e7
Loading
Loading
Loading
Loading
+53 −38
Original line number Diff line number Diff line
Atmel Image Sensor Interface (ISI) SoC Camera Subsystem
----------------------------------------------

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.

ISI supports a single port node with parallel bus. It should contain one
Atmel Image Sensor Interface (ISI)
----------------------------------

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 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>;

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_isi_data_0_7>;
	clocks = <&isi_clk>;
	clock-names = "isi_clk";

		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_isi>;

	port {
			#address-cells = <1>;
			#size-cells = <0>;

		isi_0: endpoint {
			remote-endpoint = <&ov2640_0>;
			bus-width = <8>;
			vsync-active = <1>;
			hsync-active = <1>;
		};
	};
};

i2c1: i2c@f0018000 {
		ov2640: camera@0x30 {
	ov2640: camera@30 {
		compatible = "ovti,ov2640";
		reg = <0x30>;
		pinctrl-names = "default";
		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 {
			ov2640_0: endpoint {
+9 −14
Original line number Diff line number Diff line
* 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 −0
Original line number Diff line number Diff line
* 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 −0
Original line number Diff line number Diff line
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 −0
Original line number Diff line number Diff line
* 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>;
				};
			};
		};
	};
Loading