Skip to content

Commit

Permalink
Merge tag 'media/v4.20-6' of git://git.kernel.org/pub/scm/linux/kerne…
Browse files Browse the repository at this point in the history
…l/git/mchehab/linux-media

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
  ...
  • Loading branch information
torvalds committed Dec 25, 2018
2 parents eaa7649 + 4bd46aa commit 5813540
Show file tree
Hide file tree
Showing 780 changed files with 17,553 additions and 3,643 deletions.
26 changes: 26 additions & 0 deletions Documentation/devicetree/bindings/media/aspeed-video.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
* 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 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/media/cedrus.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
13 changes: 9 additions & 4 deletions Documentation/devicetree/bindings/media/i2c/mt9m111.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand All @@ -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>;
};
};
};
Expand Down
53 changes: 53 additions & 0 deletions Documentation/devicetree/bindings/media/i2c/sony,imx214.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
* 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>;
};
};
};
14 changes: 13 additions & 1 deletion Documentation/devicetree/bindings/media/qcom,venus.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand All @@ -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";
Expand All @@ -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>;
};
};
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/media/rcar_vin.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ on Gen3 platforms to a CSI-2 receiver.
- "renesas,vin-r8a7796" for the R8A7796 device
- "renesas,vin-r8a77965" for the R8A77965 device
- "renesas,vin-r8a77970" for the R8A77970 device
- "renesas,vin-r8a77980" for the R8A77980 device
- "renesas,vin-r8a77990" for the R8A77990 device
- "renesas,vin-r8a77995" for the R8A77995 device
- "renesas,rcar-gen2-vin" for a generic R-Car Gen2 or RZ/G1 compatible
device.
Expand Down
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/media/renesas,rcar-csi2.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ Mandatory properties
- "renesas,r8a7796-csi2" for the R8A7796 device.
- "renesas,r8a77965-csi2" for the R8A77965 device.
- "renesas,r8a77970-csi2" for the R8A77970 device.
- "renesas,r8a77980-csi2" for the R8A77980 device.
- "renesas,r8a77990-csi2" for the R8A77990 device.

- reg: the register base and size for the device registers
- interrupts: the interrupt for the device
Expand Down
29 changes: 29 additions & 0 deletions Documentation/devicetree/bindings/media/rockchip-vpu.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
device-tree bindings for rockchip VPU codec

Rockchip (Video Processing Unit) present in various Rockchip platforms,
such as RK3288 and RK3399.

Required properties:
- compatible: value should be one of the following
"rockchip,rk3288-vpu";
"rockchip,rk3399-vpu";
- interrupts: encoding and decoding interrupt specifiers
- interrupt-names: should be "vepu" and "vdpu"
- clocks: phandle to VPU aclk, hclk clocks
- clock-names: should be "aclk" and "hclk"
- power-domains: phandle to power domain node
- iommus: phandle to a iommu node

Example:
SoC-specific DT entry:
vpu: video-codec@ff9a0000 {
compatible = "rockchip,rk3288-vpu";
reg = <0x0 0xff9a0000 0x0 0x800>;
interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "vepu", "vdpu";
clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
clock-names = "aclk", "hclk";
power-domains = <&power RK3288_PD_VIDEO>;
iommus = <&vpu_mmu>;
};
4 changes: 4 additions & 0 deletions Documentation/devicetree/bindings/media/spi/sony-cxd2880.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ Required properties:
- reg: SPI chip select number for the device.
- spi-max-frequency: Maximum bus speed, should be set to <55000000> (55MHz).

Optional properties:
- vcc-supply: Optional phandle to the vcc regulator to power the adapter,
as described in the file ../regulator/regulator.txt

Example:

cxd2880@0 {
Expand Down
59 changes: 59 additions & 0 deletions Documentation/devicetree/bindings/media/sun6i-csi.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
Allwinner V3s Camera Sensor Interface
-------------------------------------

Allwinner V3s SoC features a CSI module(CSI1) with parallel interface.

Required properties:
- compatible: value must be one of:
* "allwinner,sun6i-a31-csi"
* "allwinner,sun8i-h3-csi", "allwinner,sun6i-a31-csi"
* "allwinner,sun8i-v3s-csi"
- reg: base address and size of the memory-mapped region.
- interrupts: interrupt associated to this IP
- clocks: phandles to the clocks feeding the CSI
* bus: the CSI interface clock
* mod: the CSI module clock
* ram: the CSI DRAM clock
- clock-names: the clock names mentioned above
- resets: phandles to the reset line driving the CSI

The CSI node should contain one 'port' child node with one child 'endpoint'
node, according to the bindings defined in
Documentation/devicetree/bindings/media/video-interfaces.txt.

Endpoint node properties for CSI
---------------------------------
See the video-interfaces.txt for a detailed description of these properties.
- remote-endpoint : (required) a phandle to the bus receiver's endpoint
node
- bus-width: : (required) must be 8, 10, 12 or 16
- pclk-sample : (optional) (default: sample on falling edge)
- hsync-active : (required; parallel-only)
- vsync-active : (required; parallel-only)

Example:

csi1: csi@1cb4000 {
compatible = "allwinner,sun8i-v3s-csi";
reg = <0x01cb4000 0x1000>;
interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_CSI>,
<&ccu CLK_CSI1_SCLK>,
<&ccu CLK_DRAM_CSI>;
clock-names = "bus", "mod", "ram";
resets = <&ccu RST_BUS_CSI>;

port {
/* Parallel bus endpoint */
csi1_ep: endpoint {
remote-endpoint = <&adv7611_ep>;
bus-width = <16>;

/* If hsync-active/vsync-active are missing,
embedded BT.656 sync is used */
hsync-active = <0>; /* Active low */
vsync-active = <0>; /* Active low */
pclk-sample = <1>; /* Rising */
};
};
};
2 changes: 2 additions & 0 deletions Documentation/media/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# SPDX-License-Identifier: GPL-2.0

*.pdf
# Files generated from *.dot
uapi/v4l/pipeline.svg
2 changes: 2 additions & 0 deletions Documentation/media/Makefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# SPDX-License-Identifier: GPL-2.0

# Rules to convert a .h file to inline RST documentation

SRC_DIR=$(srctree)/Documentation/media
Expand Down
2 changes: 2 additions & 0 deletions Documentation/media/audio.h.rst.exceptions
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# SPDX-License-Identifier: GPL-2.0

# Ignore header name
ignore define _DVBAUDIO_H_

Expand Down
2 changes: 2 additions & 0 deletions Documentation/media/ca.h.rst.exceptions
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# SPDX-License-Identifier: GPL-2.0

# Ignore header name
ignore define _DVBCA_H_

Expand Down
2 changes: 1 addition & 1 deletion Documentation/media/cec-drivers/index.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. -*- coding: utf-8; mode: rst -*-
.. SPDX-License-Identifier: GPL-2.0
.. include:: <isonum.txt>

Expand Down
2 changes: 2 additions & 0 deletions Documentation/media/cec-drivers/pulse8-cec.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. SPDX-License-Identifier: GPL-2.0
Pulse-Eight CEC Adapter driver
==============================

Expand Down
2 changes: 2 additions & 0 deletions Documentation/media/cec.h.rst.exceptions
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# SPDX-License-Identifier: GPL-2.0

# Ignore header name
ignore define _CEC_UAPI_H

Expand Down
2 changes: 2 additions & 0 deletions Documentation/media/conf.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# -*- coding: utf-8; mode: python -*-

# SPDX-License-Identifier: GPL-2.0

project = 'Linux Media Subsystem Documentation'

tags.add("subproject")
Expand Down
2 changes: 2 additions & 0 deletions Documentation/media/conf_nitpick.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# -*- coding: utf-8; mode: python -*-

# SPDX-License-Identifier: GPL-2.0

project = 'Linux Media Subsystem Documentation'

# It is possible to run Sphinx in nickpick mode with:
Expand Down
2 changes: 2 additions & 0 deletions Documentation/media/dmx.h.rst.exceptions
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# SPDX-License-Identifier: GPL-2.0

# Ignore header name
ignore define _UAPI_DVBDMX_H_

Expand Down
2 changes: 2 additions & 0 deletions Documentation/media/dvb-drivers/avermedia.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. SPDX-License-Identifier: GPL-2.0
HOWTO: Get An Avermedia DVB-T working under Linux
-------------------------------------------------

Expand Down
2 changes: 2 additions & 0 deletions Documentation/media/dvb-drivers/bt8xx.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. SPDX-License-Identifier: GPL-2.0
How to get the bt8xx cards working
==================================

Expand Down
2 changes: 2 additions & 0 deletions Documentation/media/dvb-drivers/cards.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. SPDX-License-Identifier: GPL-2.0
Hardware supported by the linuxtv.org DVB drivers
=================================================

Expand Down
2 changes: 2 additions & 0 deletions Documentation/media/dvb-drivers/ci.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. SPDX-License-Identifier: GPL-2.0
Digital TV Conditional Access Interface (CI API)
================================================

Expand Down
2 changes: 2 additions & 0 deletions Documentation/media/dvb-drivers/contributors.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. SPDX-License-Identifier: GPL-2.0
Contributors
============

Expand Down
2 changes: 2 additions & 0 deletions Documentation/media/dvb-drivers/dvb-usb.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. SPDX-License-Identifier: GPL-2.0
Idea behind the dvb-usb-framework
=================================

Expand Down
2 changes: 2 additions & 0 deletions Documentation/media/dvb-drivers/faq.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. SPDX-License-Identifier: GPL-2.0
FAQ
===

Expand Down
2 changes: 2 additions & 0 deletions Documentation/media/dvb-drivers/frontends.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. SPDX-License-Identifier: GPL-2.0
****************
Frontend drivers
****************
Expand Down
2 changes: 1 addition & 1 deletion Documentation/media/dvb-drivers/index.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. -*- coding: utf-8; mode: rst -*-
.. SPDX-License-Identifier: GPL-2.0
.. include:: <isonum.txt>

Expand Down
2 changes: 2 additions & 0 deletions Documentation/media/dvb-drivers/intro.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. SPDX-License-Identifier: GPL-2.0
Introduction
============

Expand Down
Loading

0 comments on commit 5813540

Please sign in to comment.