Commit 5813540b authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull media updates from Mauro Carvalho Chehab:
 "First set of media patches contains:

   - Three new platform drivers: aspeed-video seco-sed and sun5i-csi;

   - One new sensor driver: imx214;

   - Support for Xbox DVD Movie Playback kit remote controller;

   - Removal of the legacy friio driver. The functionalities were ported
     to another driver, already merged;

   - New staging driver: Rockchip VPU;

   - Added license text or SPDX tags to all media documentation files;

   - Usual set of cleanup, fixes and enhancements"

* tag 'media/v4.20-6' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (263 commits)
  media: cx23885: only reset DMA on problematic CPUs
  media: ddbridge: Move asm includes after linux ones
  media: drxk_hard: check if parameter is not NULL
  media: docs: fix some GPL licensing ambiguity at the text
  media: platform: Add Aspeed Video Engine driver
  media: dt-bindings: media: Add Aspeed Video Engine binding documentation
  media: vimc: fix start stream when link is disabled
  media: v4l2-device: Link subdevices to their parent devices if available
  media: siano: Use kmemdup instead of duplicating its function
  media: rockchip vpu: remove some unused vars
  media: cedrus: don't initialize pointers with zero
  media: cetrus: return an error if alloc fails
  media: cedrus: Add device-tree compatible and variant for A64 support
  media: cedrus: Add device-tree compatible and variant for H5 support
  media: dt-bindings: media: cedrus: Add compatibles for the A64 and H5
  media: video-i2c: check if chip struct has set_power function
  media: video-i2c: support runtime PM
  media: staging: media: imx: Use of_node_name_eq for node name comparisons
  media: v4l2-subdev: document controls need _FL_HAS_DEVNODE
  media: vivid: Improve timestamping
  ...
parents eaa76499 4bd46aa0
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
* Device tree bindings for Aspeed Video Engine

The Video Engine (VE) embedded in the Aspeed AST2400 and AST2500 SOCs can
capture and compress video data from digital or analog sources.

Required properties:
 - compatible:		"aspeed,ast2400-video-engine" or
			"aspeed,ast2500-video-engine"
 - reg:			contains the offset and length of the VE memory region
 - clocks:		clock specifiers for the syscon clocks associated with
			the VE (ordering must match the clock-names property)
 - clock-names:		"vclk" and "eclk"
 - resets:		reset specifier for the syscon reset associated with
			the VE
 - interrupts:		the interrupt associated with the VE on this platform

Example:

video-engine@1e700000 {
    compatible = "aspeed,ast2500-video-engine";
    reg = <0x1e700000 0x20000>;
    clocks = <&syscon ASPEED_CLK_GATE_VCLK>, <&syscon ASPEED_CLK_GATE_ECLK>;
    clock-names = "vclk", "eclk";
    resets = <&syscon ASPEED_RESET_VIDEO>;
    interrupts = <7>;
};
+2 −0
Original line number Diff line number Diff line
@@ -11,6 +11,8 @@ Required properties:
			- "allwinner,sun7i-a20-video-engine"
			- "allwinner,sun8i-a33-video-engine"
			- "allwinner,sun8i-h3-video-engine"
			- "allwinner,sun50i-a64-video-engine"
			- "allwinner,sun50i-h5-video-engine"
- reg			: register base and length of VE;
- clocks		: list of clock specifiers, corresponding to entries in
			  the clock-names property;
+9 −4
Original line number Diff line number Diff line
@@ -9,8 +9,14 @@ Required Properties:
- 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.
The device node must contain one 'port' child node with one 'endpoint' child
sub-node for its digital output video port, in accordance with the video
interface bindings defined in:
Documentation/devicetree/bindings/media/video-interfaces.txt

Optional endpoint properties:
- pclk-sample: For information see ../video-interfaces.txt. The value is set to
  0 if it isn't specified.

Example:

@@ -21,11 +27,10 @@ Example:
			clocks = <&mclk>;
			clock-names = "mclk";

			remote = <&pxa_camera>;
			port {
				mt9m111_1: endpoint {
					bus-width = <8>;
					remote-endpoint = <&pxa_camera>;
					pclk-sample = <1>;
				};
			};
		};
+53 −0
Original line number Diff line number Diff line
* Sony 1/3.06-Inch 13.13Mp CMOS Digital Image Sensor

The Sony imx214 is a 1/3.06-inch CMOS active pixel digital image sensor with
an active array size of 4224H x 3200V. It is programmable through an I2C
interface.
Image data is sent through MIPI CSI-2, through 2 or 4 lanes at a maximum
throughput of 1.2Gbps/lane.


Required Properties:
- compatible: Shall be "sony,imx214".
- reg: I2C bus address of the device. Depending on how the sensor is wired,
       it shall be <0x10> or <0x1a>;
- enable-gpios: GPIO descriptor for the enable pin.
- vdddo-supply: Chip digital IO regulator (1.8V).
- vdda-supply: Chip analog regulator (2.7V).
- vddd-supply: Chip digital core regulator (1.12V).
- clocks: Reference to the xclk clock.
- clock-frequency: Frequency of the xclk clock.

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

The imx214 device node shall contain one 'port' child node with
an 'endpoint' subnode. For further reading on port node refer to
Documentation/devicetree/bindings/media/video-interfaces.txt.

Required Properties on endpoint:
- data-lanes: check ../video-interfaces.txt
- link-frequencies: check ../video-interfaces.txt
- remote-endpoint: check ../video-interfaces.txt

Example:

	camera-sensor@1a {
		compatible = "sony,imx214";
		reg = <0x1a>;
		vdddo-supply = <&pm8994_lvs1>;
		vddd-supply = <&camera_vddd_1v12>;
		vdda-supply = <&pm8994_l17>;
		lens-focus = <&ad5820>;
		enable-gpios = <&msmgpio 25 GPIO_ACTIVE_HIGH>;
		clocks = <&mmcc CAMSS_MCLK0_CLK>;
		clock-frequency = <24000000>;
		port {
			imx214_ep: endpoint {
				data-lanes = <1 2 3 4>;
				link-frequencies = /bits/ 64 <480000000>;
				remote-endpoint = <&csiphy0_ep>;
			};
		};
	};
+13 −1
Original line number Diff line number Diff line
@@ -53,7 +53,8 @@

* Subnodes
The Venus video-codec node must contain two subnodes representing
video-decoder and video-encoder.
video-decoder and video-encoder, and one optional firmware subnode.
Firmware subnode is needed when the platform does not have TrustZone.

Every of video-encoder or video-decoder subnode should have:

@@ -79,6 +80,13 @@ Every of video-encoder or video-decoder subnode should have:
		    power domain which is responsible for collapsing
		    and restoring power to the subcore.

The firmware subnode must have:

- iommus:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: A list of phandle and IOMMU specifier pairs.

* An Example
	video-codec@1d00000 {
		compatible = "qcom,msm8916-venus";
@@ -105,4 +113,8 @@ Every of video-encoder or video-decoder subnode should have:
			clock-names = "core";
			power-domains = <&mmcc VENUS_CORE1_GDSC>;
		};

		video-firmware {
			iommus = <&apps_iommu 0x10b2 0x0>;
		};
	};
Loading