Merge tag 'media/v5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media

Pull media updates from Mauro Carvalho Chehab:

 - a new sensor driver for ov5675

 - a new platform driver for Allwinner A10 sensor interface

 - some new remote controller keymaps

 - some cosmetic changes at V4L2 core in order to avoid #ifdefs and to
   merge two core modules into one

 - removal of bcm2048 radio driver from staging

 - removal of davinci_vpfe video driver from staging

 - regression fix since Kernel 5.1 at the legacy VideoBuffer version 1
   core

 - added some documentation for remote controller protocols

 - pixel format documentation was split on two files

 - lots of other driver improvements and cleanups

* tag 'media/v5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (321 commits)
  media: videobuf-core.c: poll_wait needs a non-NULL buf pointer
  media: sun4i: Make sun4i_csi_formats static
  media: imx: remove unused including <linux/version.h>
  media: stm32-dcmi: Delete an unnecessary of_node_put() call in dcmi_probe()
  media: pvrusb2: qctrl.flag will be uninitlaized if cx2341x_ctrl_query() returns error code
  media: em28xx: Fix exception handling in em28xx_alloc_urbs()
  media: don't do a 31 bit shift on a signed int
  media: use the BIT() macro
  media: ov9650: add a sanity check
  media: aspeed-video: address a protential usage of an unitialized var
  media: vicodec: make life easier for static analyzers
  media: remove include stdarg.h from some drivers
  v4l2-core: fix coding style for the two new c files
  media: v4l2-core: Remove BUG() from i2c and spi helpers
  media: v4l2-core: introduce a helper to unregister a i2c subdev
  media: v4l2-core: introduce a helper to unregister a spi subdev
  media: v4l2-core: move i2c helpers out of v4l2-common.c
  media: v4l2-core: move spi helpers out of v4l2-common.c
  media: v4l2-core: Module re-organization
  media: usbvision: Remove dead code
  ...
This commit is contained in:
Linus Torvalds
2019-09-17 17:55:23 -07:00
476 changed files with 16792 additions and 24190 deletions

View File

@@ -0,0 +1,109 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/allwinner,sun4i-a10-csi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Allwinner A10 CMOS Sensor Interface (CSI) Device Tree Bindings
maintainers:
- Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com>
description: |-
The Allwinner A10 and later has a CMOS Sensor Interface to retrieve
frames from a parallel or BT656 sensor.
properties:
compatible:
const: allwinner,sun7i-a20-csi0
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
items:
- description: The CSI interface clock
- description: The CSI module clock
- description: The CSI ISP clock
- description: The CSI DRAM clock
clock-names:
items:
- const: bus
- const: mod
- const: isp
- const: ram
resets:
maxItems: 1
# See ./video-interfaces.txt for details
port:
type: object
additionalProperties: false
properties:
endpoint:
type: object
properties:
bus-width:
enum: [8, 16]
data-active: true
hsync-active: true
pclk-sample: true
remote-endpoint: true
vsync-active: true
required:
- bus-width
- data-active
- hsync-active
- pclk-sample
- remote-endpoint
- vsync-active
required:
- endpoint
required:
- compatible
- reg
- interrupts
- clocks
additionalProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/sun7i-a20-ccu.h>
#include <dt-bindings/reset/sun4i-a10-ccu.h>
csi0: csi@1c09000 {
compatible = "allwinner,sun7i-a20-csi0";
reg = <0x01c09000 0x1000>;
interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI0>,
<&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>;
clock-names = "bus", "mod", "isp", "ram";
resets = <&ccu RST_CSI0>;
port {
csi_from_ov5640: endpoint {
remote-endpoint = <&ov5640_to_csi>;
bus-width = <8>;
hsync-active = <1>; /* Active high */
vsync-active = <0>; /* Active low */
data-active = <1>; /* Active high */
pclk-sample = <1>; /* Rising */
};
};
};
...

View File

@@ -0,0 +1,80 @@
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/allwinner,sun4i-a10-ir.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Allwinner A10 Infrared Controller Device Tree Bindings
maintainers:
- Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com>
allOf:
- $ref: "rc.yaml#"
properties:
compatible:
oneOf:
- const: allwinner,sun4i-a10-ir
- const: allwinner,sun5i-a13-ir
- items:
- const: allwinner,sun8i-a83t-ir
- const: allwinner,sun6i-a31-ir
- const: allwinner,sun6i-a31-ir
- items:
- const: allwinner,sun50i-a64-ir
- const: allwinner,sun6i-a31-ir
- items:
- const: allwinner,sun50i-h6-ir
- const: allwinner,sun6i-a31-ir
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
items:
- description: Bus Clock
- description: Module Clock
clock-names:
items:
- const: apb
- const: ir
resets:
maxItems: 1
clock-frequency:
default: 8000000
description:
IR Receiver clock frequency, in Hertz.
required:
- compatible
- reg
- interrupts
- clocks
- clock-names
# FIXME: We should set it, but it would report all the generic
# properties as additional properties.
# additionalProperties: false
examples:
- |
ir0: ir@1c21800 {
compatible = "allwinner,sun4i-a10-ir";
clocks = <&apb0_gates 6>, <&ir0_clk>;
clock-names = "apb", "ir";
clock-frequency = <3000000>;
resets = <&apb0_rst 1>;
interrupts = <0 5 1>;
reg = <0x01C21800 0x40>;
linux,rc-map-name = "rc-rc6-mce";
};
...

View File

@@ -5,7 +5,8 @@ The Cadence MIPI-CSI2 TX controller is a CSI-2 bridge supporting up to
4 CSI lanes in output, and up to 4 different pixel streams in input.
Required properties:
- compatible: must be set to "cdns,csi2tx"
- compatible: must be set to "cdns,csi2tx" or "cdns,csi2tx-1.3"
for version 1.3 of the controller, "cdns,csi2tx-2.1" for v2.1
- reg: base address and size of the memory mapped region
- clocks: phandles to the clocks driving the controller
- clock-names: must contain:

View File

@@ -9,7 +9,7 @@ to connect directly to external CMOS image sensors.
Required properties:
- compatible : "fsl,imx7-csi";
- compatible : "fsl,imx7-csi" or "fsl,imx6ul-csi";
- reg : base address and length of the register set for the device;
- interrupts : should contain CSI interrupt;
- clocks : list of clock specifiers, see

View File

@@ -5,10 +5,12 @@ to handle communication between HDMI connected devices over the CEC bus.
Required properties:
- compatible : value should be following depending on the SoC :
For GXBB, GXL, GXM and G12A (AO_CEC_A module) :
For GXBB, GXL, GXM, G12A and SM1 (AO_CEC_A module) :
"amlogic,meson-gx-ao-cec"
For G12A (AO_CEC_B module) :
"amlogic,meson-g12a-ao-cec"
For SM1 (AO_CEC_B module) :
"amlogic,meson-sm1-ao-cec"
- reg : Physical base address of the IP registers and length of memory
mapped region.
@@ -16,9 +18,9 @@ Required properties:
- interrupts : AO-CEC interrupt number to the CPU.
- clocks : from common clock binding: handle to AO-CEC clock.
- clock-names : from common clock binding, must contain :
For GXBB, GXL, GXM and G12A (AO_CEC_A module) :
For GXBB, GXL, GXM, G12A and SM1 (AO_CEC_A module) :
- "core"
For G12A (AO_CEC_B module) :
For G12A, SM1 (AO_CEC_B module) :
- "oscin"
corresponding to entry in the clocks property.
- hdmi-phandle: phandle to the HDMI controller

View File

@@ -35,6 +35,7 @@ Optional properties:
- resets : Must contain an entry for each entry in reset-names.
- reset-names : Must include the following entries:
- mc
- iommus: Must contain phandle to the IOMMU device node.
Example:
@@ -59,4 +60,5 @@ video-codec@6001a000 {
clocks = <&tegra_car TEGRA20_CLK_VDE>;
reset-names = "vde", "mc";
resets = <&tegra_car 61>, <&mc TEGRA20_MC_RESET_VDE>;
iommus = <&mc TEGRA_SWGROUP_VDE>;
};

View File

@@ -1,117 +1 @@
The following properties are common to the infrared remote controllers:
- linux,rc-map-name: string, specifies the scancode/key mapping table
defined in-kernel for the remote controller. Support values are:
* "rc-adstech-dvb-t-pci"
* "rc-alink-dtu-m"
* "rc-anysee"
* "rc-apac-viewcomp"
* "rc-asus-pc39"
* "rc-asus-ps3-100"
* "rc-ati-tv-wonder-hd-600"
* "rc-ati-x10"
* "rc-avermedia-a16d"
* "rc-avermedia-cardbus"
* "rc-avermedia-dvbt"
* "rc-avermedia-m135a"
* "rc-avermedia-m733a-rm-k6"
* "rc-avermedia-rm-ks"
* "rc-avermedia"
* "rc-avertv-303"
* "rc-azurewave-ad-tu700"
* "rc-behold-columbus"
* "rc-behold"
* "rc-budget-ci-old"
* "rc-cec"
* "rc-cinergy-1400"
* "rc-cinergy"
* "rc-delock-61959"
* "rc-dib0700-nec"
* "rc-dib0700-rc5"
* "rc-digitalnow-tinytwin"
* "rc-digittrade"
* "rc-dm1105-nec"
* "rc-dntv-live-dvbt-pro"
* "rc-dntv-live-dvb-t"
* "rc-dtt200u"
* "rc-dvbsky"
* "rc-empty"
* "rc-em-terratec"
* "rc-encore-enltv2"
* "rc-encore-enltv-fm53"
* "rc-encore-enltv"
* "rc-evga-indtube"
* "rc-eztv"
* "rc-flydvb"
* "rc-flyvideo"
* "rc-fusionhdtv-mce"
* "rc-gadmei-rm008z"
* "rc-geekbox"
* "rc-genius-tvgo-a11mce"
* "rc-gotview7135"
* "rc-hauppauge"
* "rc-imon-mce"
* "rc-imon-pad"
* "rc-iodata-bctv7e"
* "rc-it913x-v1"
* "rc-it913x-v2"
* "rc-kaiomy"
* "rc-kworld-315u"
* "rc-kworld-pc150u"
* "rc-kworld-plus-tv-analog"
* "rc-leadtek-y04g0051"
* "rc-lirc"
* "rc-lme2510"
* "rc-manli"
* "rc-medion-x10"
* "rc-medion-x10-digitainer"
* "rc-medion-x10-or2x"
* "rc-msi-digivox-ii"
* "rc-msi-digivox-iii"
* "rc-msi-tvanywhere-plus"
* "rc-msi-tvanywhere"
* "rc-nebula"
* "rc-nec-terratec-cinergy-xs"
* "rc-norwood"
* "rc-npgtech"
* "rc-pctv-sedna"
* "rc-pinnacle-color"
* "rc-pinnacle-grey"
* "rc-pinnacle-pctv-hd"
* "rc-pixelview-new"
* "rc-pixelview"
* "rc-pixelview-002t"
* "rc-pixelview-mk12"
* "rc-powercolor-real-angel"
* "rc-proteus-2309"
* "rc-purpletv"
* "rc-pv951"
* "rc-hauppauge"
* "rc-rc5-tv"
* "rc-rc6-mce"
* "rc-real-audio-220-32-keys"
* "rc-reddo"
* "rc-snapstream-firefly"
* "rc-streamzap"
* "rc-tbs-nec"
* "rc-technisat-ts35"
* "rc-technisat-usb2"
* "rc-terratec-cinergy-c-pci"
* "rc-terratec-cinergy-s2-hd"
* "rc-terratec-cinergy-xs"
* "rc-terratec-slim"
* "rc-terratec-slim-2"
* "rc-tevii-nec"
* "rc-tivo"
* "rc-total-media-in-hand"
* "rc-total-media-in-hand-02"
* "rc-trekstor"
* "rc-tt-1500"
* "rc-twinhan-dtv-cab-ci"
* "rc-twinhan1027"
* "rc-videomate-k100"
* "rc-videomate-s350"
* "rc-videomate-tv-pvr"
* "rc-winfast"
* "rc-winfast-usbii-deluxe"
* "rc-su3000"
This file has been moved to rc.yaml.

View File

@@ -0,0 +1,145 @@
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/rc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Generic Infrared Remote Controller Device Tree Bindings
maintainers:
- Mauro Carvalho Chehab <mchehab@kernel.org>
- Sean Young <sean@mess.org>
properties:
$nodename:
pattern: "^ir(@[a-f0-9]+)?$"
linux,rc-map-name:
description:
Specifies the scancode/key mapping table defined in-kernel for
the remote controller.
allOf:
- $ref: '/schemas/types.yaml#/definitions/string'
- enum:
- rc-adstech-dvb-t-pci
- rc-alink-dtu-m
- rc-anysee
- rc-apac-viewcomp
- rc-astrometa-t2hybrid
- rc-asus-pc39
- rc-asus-ps3-100
- rc-ati-tv-wonder-hd-600
- rc-ati-x10
- rc-avermedia
- rc-avermedia-a16d
- rc-avermedia-cardbus
- rc-avermedia-dvbt
- rc-avermedia-m135a
- rc-avermedia-m733a-rm-k6
- rc-avermedia-rm-ks
- rc-avertv-303
- rc-azurewave-ad-tu700
- rc-behold
- rc-behold-columbus
- rc-budget-ci-old
- rc-cec
- rc-cinergy
- rc-cinergy-1400
- rc-d680-dmb
- rc-delock-61959
- rc-dib0700-nec
- rc-dib0700-rc5
- rc-digitalnow-tinytwin
- rc-digittrade
- rc-dm1105-nec
- rc-dntv-live-dvb-t
- rc-dntv-live-dvbt-pro
- rc-dtt200u
- rc-dvbsky
- rc-dvico-mce
- rc-dvico-portable
- rc-em-terratec
- rc-empty
- rc-encore-enltv
- rc-encore-enltv-fm53
- rc-encore-enltv2
- rc-evga-indtube
- rc-eztv
- rc-flydvb
- rc-flyvideo
- rc-fusionhdtv-mce
- rc-gadmei-rm008z
- rc-geekbox
- rc-genius-tvgo-a11mce
- rc-gotview7135
- rc-hauppauge
- rc-hauppauge
- rc-hisi-poplar
- rc-hisi-tv-demo
- rc-imon-mce
- rc-imon-pad
- rc-imon-rsc
- rc-iodata-bctv7e
- rc-it913x-v1
- rc-it913x-v2
- rc-kaiomy
- rc-kworld-315u
- rc-kworld-pc150u
- rc-kworld-plus-tv-analog
- rc-leadtek-y04g0051
- rc-lme2510
- rc-manli
- rc-medion-x10
- rc-medion-x10-digitainer
- rc-medion-x10-or2x
- rc-msi-digivox-ii
- rc-msi-digivox-iii
- rc-msi-tvanywhere
- rc-msi-tvanywhere-plus
- rc-nebula
- rc-nec-terratec-cinergy-xs
- rc-norwood
- rc-npgtech
- rc-pctv-sedna
- rc-pinnacle-color
- rc-pinnacle-grey
- rc-pinnacle-pctv-hd
- rc-pixelview
- rc-pixelview-002t
- rc-pixelview-mk12
- rc-pixelview-new
- rc-powercolor-real-angel
- rc-proteus-2309
- rc-purpletv
- rc-pv951
- rc-rc5-tv
- rc-rc6-mce
- rc-real-audio-220-32-keys
- rc-reddo
- rc-snapstream-firefly
- rc-streamzap
- rc-su3000
- rc-tango
- rc-tbs-nec
- rc-technisat-ts35
- rc-technisat-usb2
- rc-terratec-cinergy-c-pci
- rc-terratec-cinergy-s2-hd
- rc-terratec-cinergy-xs
- rc-terratec-slim
- rc-terratec-slim-2
- rc-tevii-nec
- rc-tivo
- rc-total-media-in-hand
- rc-total-media-in-hand-02
- rc-trekstor
- rc-tt-1500
- rc-twinhan-dtv-cab-ci
- rc-twinhan1027
- rc-videomate-k100
- rc-videomate-s350
- rc-videomate-tv-pvr
- rc-winfast
- rc-winfast-usbii-deluxe
- rc-xbox-dvd
- rc-zx-irdec

View File

@@ -1,14 +1,17 @@
device-tree bindings for rockchip VPU codec
Rockchip (Video Processing Unit) present in various Rockchip platforms,
such as RK3288 and RK3399.
such as RK3288, RK3328 and RK3399.
Required properties:
- compatible: value should be one of the following
"rockchip,rk3288-vpu";
"rockchip,rk3328-vpu";
"rockchip,rk3399-vpu";
- interrupts: encoding and decoding interrupt specifiers
- interrupt-names: should be "vepu" and "vdpu"
- interrupt-names: should be
"vepu", "vdpu" on RK3288 and RK3399,
"vdpu" on RK3328.
- clocks: phandle to VPU aclk, hclk clocks
- clock-names: should be "aclk" and "hclk"
- power-domains: phandle to power domain node
@@ -27,3 +30,14 @@ SoC-specific DT entry:
power-domains = <&power RK3288_PD_VIDEO>;
iommus = <&vpu_mmu>;
};
vpu: video-codec@ff350000 {
compatible = "rockchip,rk3328-vpu";
reg = <0x0 0xff350000 0x0 0x800>;
interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "vdpu";
clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
clock-names = "aclk", "hclk";
power-domains = <&power RK3328_PD_VPU>;
iommus = <&vpu_mmu>;
};

View File

@@ -1,28 +0,0 @@
Device-Tree bindings for SUNXI IR controller found in sunXi SoC family
Required properties:
- compatible : "allwinner,sun4i-a10-ir" or "allwinner,sun5i-a13-ir"
- clocks : list of clock specifiers, corresponding to
entries in clock-names property;
- clock-names : should contain "apb" and "ir" entries;
- interrupts : should contain IR IRQ number;
- reg : should contain IO map address for IR.
Optional properties:
- linux,rc-map-name: see rc.txt file in the same directory.
- resets : phandle + reset specifier pair
- clock-frequency : IR Receiver clock frequency, in Hertz. Defaults to 8 MHz
if missing.
Example:
ir0: ir@1c21800 {
compatible = "allwinner,sun4i-a10-ir";
clocks = <&apb0_gates 6>, <&ir0_clk>;
clock-names = "apb", "ir";
clock-frequency = <3000000>;
resets = <&apb0_rst 1>;
interrupts = <0 5 1>;
reg = <0x01C21800 0x40>;
linux,rc-map-name = "rc-rc6-mce";
};