mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
media updates for v4.16-rc1
-----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJacX62AAoJEAhfPr2O5OEVjKYP/R3v+c8ztiHzaeibcZZ8IFNl 58E0Y0yGa8OpoGJx9uqtEOamQmZoHhACfId7joIp/Jv38bgWAdbxOmk3Y4FDCFqG 1bRrpnnmvlfabiMMfLpURLqKhf7rJMtErZkrnmmqg9P/lEMohaZUJAsgBZNfJM8l fZeacSnCSpzlxVcUb9Bf4vWhLk39R+xFzvFrwzbVUIHf3bDVpf4S4kNorMkhSZSF HaISYXqVMhpKca7CngVKytbfacUStUY01cXcjdMuB/sD7ySwdtKogbPMvrOSaexz G/8MB+sGT1JKUgIlh6Qv8hX805KuxBgfP19XSOH46nNU8KbYegdGhN5QXlokwI1m dAOiozkU93r5yBZl6QzkN3uwXe492PoLgczifg97pzAJP0BfWeFStkYqlugLTwwC Slmr7g3FZVJajbPl6WyioAGW7xfqBF7ftScZOHYxmhy41CWCGKJctmsJOjncyz5O GInEIP3KR4CgjR+iM1LoKvE+OvVo4kRc7hrcUsjQNsbfBn6xiixjwH+5M+UVvezA 6UQpmtWGg4pX1djb8j8f6mKF8KZM12Pp3jb4Rl1cLsytN5BOBKaMEKdV3rgL+19P Yo0x/1wK/unkI20Om71vYyQ0nXVF9j7Tpeij5u0M57TeTVYCwloQgHmrcvQJdo8+ Pqw5XEUiDpAIjvKp0XGh =H9AS -----END PGP SIGNATURE----- Merge tag 'media/v4.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 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 ...
This commit is contained in:
commit
68c5735eaa
953 changed files with 21723 additions and 14035 deletions
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
* 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 = <¶llel_from_ov5640>;
|
||||
bus-width = <8>;
|
||||
data-shift = <2>; /* lines 9:2 are used */
|
||||
hsync-active = <0>;
|
||||
vsync-active = <0>;
|
||||
pclk-sample = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
47
Documentation/devicetree/bindings/media/i2c/ov7740.txt
Normal file
47
Documentation/devicetree/bindings/media/i2c/ov7740.txt
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
* 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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -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
|
||||
----------------------------------
|
||||
|
||||
|
|
|
|||
55
Documentation/devicetree/bindings/media/nvidia,tegra-vde.txt
Normal file
55
Documentation/devicetree/bindings/media/nvidia,tegra-vde.txt
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
NVIDIA Tegra Video Decoder Engine
|
||||
|
||||
Required properties:
|
||||
- compatible : Must contain one of the following values:
|
||||
- "nvidia,tegra20-vde"
|
||||
- "nvidia,tegra30-vde"
|
||||
- "nvidia,tegra114-vde"
|
||||
- "nvidia,tegra124-vde"
|
||||
- "nvidia,tegra132-vde"
|
||||
- reg : Must contain an entry for each entry in reg-names.
|
||||
- reg-names : Must include the following entries:
|
||||
- sxe
|
||||
- bsev
|
||||
- mbe
|
||||
- ppe
|
||||
- mce
|
||||
- tfe
|
||||
- ppb
|
||||
- vdma
|
||||
- frameid
|
||||
- iram : Must contain phandle to the mmio-sram device node that represents
|
||||
IRAM region used by VDE.
|
||||
- interrupts : Must contain an entry for each entry in interrupt-names.
|
||||
- interrupt-names : Must include the following entries:
|
||||
- sync-token
|
||||
- bsev
|
||||
- sxe
|
||||
- clocks : Must include the following entries:
|
||||
- vde
|
||||
- resets : Must include the following entries:
|
||||
- vde
|
||||
|
||||
Example:
|
||||
|
||||
video-codec@6001a000 {
|
||||
compatible = "nvidia,tegra20-vde";
|
||||
reg = <0x6001a000 0x1000 /* Syntax Engine */
|
||||
0x6001b000 0x1000 /* Video Bitstream Engine */
|
||||
0x6001c000 0x100 /* Macroblock Engine */
|
||||
0x6001c200 0x100 /* Post-processing Engine */
|
||||
0x6001c400 0x100 /* Motion Compensation Engine */
|
||||
0x6001c600 0x100 /* Transform Engine */
|
||||
0x6001c800 0x100 /* Pixel prediction block */
|
||||
0x6001ca00 0x100 /* Video DMA */
|
||||
0x6001d800 0x300 /* Video frame controls */>;
|
||||
reg-names = "sxe", "bsev", "mbe", "ppe", "mce",
|
||||
"tfe", "ppb", "vdma", "frameid";
|
||||
iram = <&vde_pool>; /* IRAM region */
|
||||
interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, /* Sync token interrupt */
|
||||
<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, /* BSE-V interrupt */
|
||||
<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; /* SXE interrupt */
|
||||
interrupt-names = "sync-token", "bsev", "sxe";
|
||||
clocks = <&tegra_car TEGRA20_CLK_VDE>;
|
||||
resets = <&tegra_car 61>;
|
||||
};
|
||||
|
|
@ -66,6 +66,6 @@ Example:
|
|||
tpg1_out: endpoint {
|
||||
remote-endpoint = <&switch_in0>;
|
||||
};
|
||||
}:
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue