mirror of
https://github.com/armbian/linux-cix.git
synced 2026-01-06 12:30:45 -08:00
Merge tag 'media/v5.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab: - New staging driver for Rockship ISPv1 unit - New staging driver for Rockchip MIPI Synopsys DPHY RX0 - y2038 fixes at V4L2 API (backward-compatible) - A dvb core fix when receiving invalid EIT sections - Some clang-specific warnings got fixed - Added support for touch V4L2 interface at vivid - Several drivers were converted to use the new i2c_new_scanned_device() kAPI - Added sm1 support at meson's vdec driver - Several other driver cleanups, fixes and improvements * tag 'media/v5.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (207 commits) media: staging/intel-ipu3: remove TODO item about acronyms media: v4l2-fwnode: Print the node name while parsing endpoints media: Revert "media: staging/intel-ipu3: make imgu use fixed running mode" media: mt9v111: constify copied structure media: platform: VIDEO_MEDIATEK_JPEG can also depend on MTK_IOMMU media: uvcvideo: Add a quirk to force GEO GC6500 Camera bits-per-pixel value media: uvcvideo: Avoid cyclic entity chains due to malformed USB descriptors media: hantro: fix post-processing NULL pointer dereference media: rcar-vin: Use correct pixel format when aligning format media: MAINTAINERS: add entry for Rockchip ISP1 driver media: staging: rkisp1: add TODO file for staging media: staging: rkisp1: add document for rkisp1 meta buffer format media: staging: rkisp1: add output device for parameters media: staging: rkisp1: add capture device for statistics media: staging: rkisp1: add user space ABI definitions media: staging: rkisp1: add streaming paths media: staging: rkisp1: add Rockchip ISP1 base driver media: staging: phy-rockchip-dphy-rx0: add Rockchip MIPI Synopsys DPHY RX0 driver media: staging: dt-bindings: add Rockchip MIPI RX D-PHY RX0 yaml bindings media: staging: dt-bindings: add Rockchip ISP1 yaml bindings ...
This commit is contained in:
@@ -16,7 +16,15 @@ description: |-
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: allwinner,sun7i-a20-csi0
|
||||
oneOf:
|
||||
- const: allwinner,sun4i-a10-csi1
|
||||
- const: allwinner,sun7i-a20-csi0
|
||||
- items:
|
||||
- const: allwinner,sun7i-a20-csi1
|
||||
- const: allwinner,sun4i-a10-csi1
|
||||
- items:
|
||||
- const: allwinner,sun8i-r40-csi0
|
||||
- const: allwinner,sun7i-a20-csi0
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
@@ -25,12 +33,16 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
minItems: 2
|
||||
maxItems: 3
|
||||
items:
|
||||
- description: The CSI interface clock
|
||||
- description: The CSI ISP clock
|
||||
- description: The CSI DRAM clock
|
||||
|
||||
clock-names:
|
||||
minItems: 2
|
||||
maxItems: 3
|
||||
items:
|
||||
- const: bus
|
||||
- const: isp
|
||||
|
||||
141
Documentation/devicetree/bindings/media/amlogic,gx-vdec.yaml
Normal file
141
Documentation/devicetree/bindings/media/amlogic,gx-vdec.yaml
Normal file
@@ -0,0 +1,141 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
# Copyright 2019 BayLibre, SAS
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/media/amlogic,gx-vdec.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: Amlogic Video Decoder
|
||||
|
||||
maintainers:
|
||||
- Neil Armstrong <narmstrong@baylibre.com>
|
||||
- Maxime Jourdan <mjourdan@baylibre.com>
|
||||
|
||||
description: |
|
||||
The video decoding IP lies within the DOS memory region,
|
||||
except for the hardware bitstream parser that makes use of an undocumented
|
||||
region.
|
||||
|
||||
It makes use of the following blocks:
|
||||
- ESPARSER is a bitstream parser that outputs to a VIFIFO. Further VDEC blocks
|
||||
then feed from this VIFIFO.
|
||||
- VDEC_1 can decode MPEG-1, MPEG-2, MPEG-4 part 2, MJPEG, H.263, H.264, VC-1.
|
||||
- VDEC_HEVC can decode HEVC and VP9.
|
||||
|
||||
Both VDEC_1 and VDEC_HEVC share the "vdec" IRQ and as such cannot run
|
||||
concurrently.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- amlogic,gxbb-vdec # GXBB (S905)
|
||||
- amlogic,gxl-vdec # GXL (S905X, S905D)
|
||||
- amlogic,gxm-vdec # GXM (S912)
|
||||
- const: amlogic,gx-vdec
|
||||
- enum:
|
||||
- amlogic,g12a-vdec # G12A (S905X2, S905D2)
|
||||
- amlogic,sm1-vdec # SM1 (S905X3, S905D3)
|
||||
|
||||
interrupts:
|
||||
minItems: 2
|
||||
|
||||
interrupt-names:
|
||||
items:
|
||||
- const: vdec
|
||||
- const: esparser
|
||||
|
||||
reg:
|
||||
minItems: 2
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: dos
|
||||
- const: esparser
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
reset-names:
|
||||
items:
|
||||
- const: esparser
|
||||
|
||||
clocks:
|
||||
minItems: 4
|
||||
maxItems: 5
|
||||
|
||||
clock-names:
|
||||
minItems: 4
|
||||
maxItems: 5
|
||||
items:
|
||||
- const: dos_parser
|
||||
- const: dos
|
||||
- const: vdec_1
|
||||
- const: vdec_hevc
|
||||
- const: vdec_hevcf
|
||||
|
||||
amlogic,ao-sysctrl:
|
||||
description: should point to the AOBUS sysctrl node
|
||||
allOf:
|
||||
- $ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
amlogic,canvas:
|
||||
description: should point to a canvas provider node
|
||||
allOf:
|
||||
- $ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- amlogic,gx-vdec
|
||||
|
||||
then:
|
||||
properties:
|
||||
clock-names:
|
||||
maxItems: 4
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- amlogic,g12a-vdec
|
||||
- amlogic,sm1-vdec
|
||||
|
||||
then:
|
||||
properties:
|
||||
clock-names:
|
||||
minItems: 5
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
- interrupts
|
||||
- interrupt-names
|
||||
- clocks
|
||||
- clock-names
|
||||
- resets
|
||||
- reset-names
|
||||
- amlogic,ao-sysctrl
|
||||
- amlogic,canvas
|
||||
|
||||
examples:
|
||||
- |
|
||||
vdec: video-decoder@c8820000 {
|
||||
compatible = "amlogic,gxl-vdec", "amlogic,gx-vdec";
|
||||
reg = <0xc8820000 0x10000>, <0xc110a580 0xe4>;
|
||||
reg-names = "dos", "esparser";
|
||||
interrupts = <44>, <32>;
|
||||
interrupt-names = "vdec", "esparser";
|
||||
clocks = <&clk_dos_parser> ,<&clk_dos>, <&clk_vdec_1>, <&clk_vdec_hevc>;
|
||||
clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc";
|
||||
resets = <&reset_parser>;
|
||||
reset-names = "esparser";
|
||||
amlogic,ao-sysctrl = <&sysctrl_AO>;
|
||||
amlogic,canvas = <&canvas>;
|
||||
};
|
||||
@@ -1,72 +0,0 @@
|
||||
Amlogic Video Decoder
|
||||
================================
|
||||
|
||||
The video decoding IP lies within the DOS memory region,
|
||||
except for the hardware bitstream parser that makes use of an undocumented
|
||||
region.
|
||||
|
||||
It makes use of the following blocks:
|
||||
|
||||
- ESPARSER is a bitstream parser that outputs to a VIFIFO. Further VDEC blocks
|
||||
then feed from this VIFIFO.
|
||||
- VDEC_1 can decode MPEG-1, MPEG-2, MPEG-4 part 2, MJPEG, H.263, H.264, VC-1.
|
||||
- VDEC_HEVC can decode HEVC and VP9.
|
||||
|
||||
Both VDEC_1 and VDEC_HEVC share the "vdec" IRQ and as such cannot run
|
||||
concurrently.
|
||||
|
||||
Device Tree Bindings:
|
||||
---------------------
|
||||
|
||||
VDEC: Video Decoder
|
||||
--------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible: value should be different for each SoC family as :
|
||||
- GXBB (S905) : "amlogic,gxbb-vdec"
|
||||
- GXL (S905X, S905D) : "amlogic,gxl-vdec"
|
||||
- GXM (S912) : "amlogic,gxm-vdec"
|
||||
followed by the common "amlogic,gx-vdec"
|
||||
- reg: base address and size of he following memory-mapped regions :
|
||||
- dos
|
||||
- esparser
|
||||
- reg-names: should contain the names of the previous memory regions
|
||||
- interrupts: should contain the following IRQs:
|
||||
- vdec
|
||||
- esparser
|
||||
- interrupt-names: should contain the names of the previous interrupts
|
||||
- amlogic,ao-sysctrl: should point to the AOBUS sysctrl node
|
||||
- amlogic,canvas: should point to a canvas provider node
|
||||
- clocks: should contain the following clocks :
|
||||
- dos_parser
|
||||
- dos
|
||||
- vdec_1
|
||||
- vdec_hevc
|
||||
- clock-names: should contain the names of the previous clocks
|
||||
- resets: should contain the parser reset
|
||||
- reset-names: should be "esparser"
|
||||
|
||||
Example:
|
||||
|
||||
vdec: video-codec@c8820000 {
|
||||
compatible = "amlogic,gxbb-vdec", "amlogic,gx-vdec";
|
||||
reg = <0x0 0xc8820000 0x0 0x10000>,
|
||||
<0x0 0xc110a580 0x0 0xe4>;
|
||||
reg-names = "dos", "esparser";
|
||||
|
||||
interrupts = <GIC_SPI 44 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 32 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "vdec", "esparser";
|
||||
|
||||
amlogic,ao-sysctrl = <&sysctrl_AO>;
|
||||
amlogic,canvas = <&canvas>;
|
||||
|
||||
clocks = <&clkc CLKID_DOS_PARSER>,
|
||||
<&clkc CLKID_DOS>,
|
||||
<&clkc CLKID_VDEC_1>,
|
||||
<&clkc CLKID_VDEC_HEVC>;
|
||||
clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc";
|
||||
|
||||
resets = <&reset RESET_PARSER>;
|
||||
reset-names = "esparser";
|
||||
};
|
||||
@@ -1,7 +1,8 @@
|
||||
Device-Tree bindings for hix5hd2 ir IP
|
||||
|
||||
Required properties:
|
||||
- compatible: Should contain "hisilicon,hix5hd2-ir".
|
||||
- compatible: Should contain "hisilicon,hix5hd2-ir", or:
|
||||
- "hisilicon,hi3796cv300-ir" for Hi3796CV300 IR device.
|
||||
- reg: Base physical address of the controller and length of memory
|
||||
mapped region.
|
||||
- interrupts: interrupt-specifier for the sole interrupt generated by
|
||||
|
||||
@@ -13,6 +13,7 @@ on Gen3 and RZ/G2 platforms to a CSI-2 receiver.
|
||||
- "renesas,vin-r8a7743" for the R8A7743 device
|
||||
- "renesas,vin-r8a7744" for the R8A7744 device
|
||||
- "renesas,vin-r8a7745" for the R8A7745 device
|
||||
- "renesas,vin-r8a77470" for the R8A77470 device
|
||||
- "renesas,vin-r8a774a1" for the R8A774A1 device
|
||||
- "renesas,vin-r8a774b1" for the R8A774B1 device
|
||||
- "renesas,vin-r8a774c0" for the R8A774C0 device
|
||||
@@ -41,9 +42,6 @@ on Gen3 and RZ/G2 platforms to a CSI-2 receiver.
|
||||
- interrupts: the interrupt for the device
|
||||
- clocks: Reference to the parent clock
|
||||
|
||||
Additionally, an alias named vinX will need to be created to specify
|
||||
which video input device this is.
|
||||
|
||||
The per-board settings for Gen2 and RZ/G1 platforms:
|
||||
|
||||
- port - sub-node describing a single endpoint connected to the VIN
|
||||
|
||||
202
Documentation/devicetree/bindings/media/ti,cal.yaml
Normal file
202
Documentation/devicetree/bindings/media/ti,cal.yaml
Normal file
@@ -0,0 +1,202 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/ti,cal.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Texas Instruments DRA72x CAMERA ADAPTATION LAYER (CAL) Device Tree Bindings
|
||||
|
||||
maintainers:
|
||||
- Benoit Parrot <bparrot@ti.com>
|
||||
|
||||
description: |-
|
||||
The Camera Adaptation Layer (CAL) is a key component for image capture
|
||||
applications. The capture module provides the system interface and the
|
||||
processing capability to connect CSI2 image-sensor modules to the
|
||||
DRA72x device.
|
||||
|
||||
CAL supports 2 camera port nodes on MIPI bus. Each CSI2 camera port nodes
|
||||
should contain a 'port' child node with child 'endpoint' node. Please
|
||||
refer to the bindings defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
# for DRA72 controllers
|
||||
- ti,dra72-cal
|
||||
# for DRA72 controllers pre ES2.0
|
||||
- ti,dra72-pre-es2-cal
|
||||
# for DRA76 controllers
|
||||
- ti,dra76-cal
|
||||
# for AM654 controllers
|
||||
- ti,am654-cal
|
||||
|
||||
reg:
|
||||
minItems: 2
|
||||
items:
|
||||
- description: The CAL main register region
|
||||
- description: The RX Core0 (DPHY0) register region
|
||||
- description: The RX Core1 (DPHY1) register region
|
||||
|
||||
reg-names:
|
||||
minItems: 2
|
||||
items:
|
||||
- const: cal_top
|
||||
- const: cal_rx_core0
|
||||
- const: cal_rx_core1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
ti,camerrx-control:
|
||||
$ref: "/schemas/types.yaml#/definitions/phandle-array"
|
||||
description:
|
||||
phandle to the device control module and offset to the
|
||||
control_camerarx_core register
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
clock-names:
|
||||
const: fck
|
||||
|
||||
power-domains:
|
||||
description:
|
||||
List of phandle and PM domain specifier as documented in
|
||||
Documentation/devicetree/bindings/power/power_domain.txt
|
||||
maxItems: 1
|
||||
|
||||
# See ./video-interfaces.txt for details
|
||||
ports:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
port@0:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 0
|
||||
description: CSI2 Port #0
|
||||
|
||||
patternProperties:
|
||||
endpoint:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
clock-lanes:
|
||||
maxItems: 1
|
||||
|
||||
data-lanes:
|
||||
minItems: 1
|
||||
maxItems: 4
|
||||
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
port@1:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
reg:
|
||||
const: 1
|
||||
description: CSI2 Port #1
|
||||
|
||||
patternProperties:
|
||||
endpoint:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
clock-lanes:
|
||||
maxItems: 1
|
||||
|
||||
data-lanes:
|
||||
minItems: 1
|
||||
maxItems: 4
|
||||
|
||||
remote-endpoint: true
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- port@0
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
- interrupts
|
||||
- ti,camerrx-control
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
cal: cal@4845b000 {
|
||||
compatible = "ti,dra72-cal";
|
||||
reg = <0x4845B000 0x400>,
|
||||
<0x4845B800 0x40>,
|
||||
<0x4845B900 0x40>;
|
||||
reg-names = "cal_top",
|
||||
"cal_rx_core0",
|
||||
"cal_rx_core1";
|
||||
interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,camerrx-control = <&scm_conf 0xE94>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
csi2_0: port@0 {
|
||||
reg = <0>;
|
||||
csi2_phy0: endpoint {
|
||||
remote-endpoint = <&csi2_cam0>;
|
||||
clock-lanes = <0>;
|
||||
data-lanes = <1 2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
i2c5: i2c@4807c000 {
|
||||
clock-frequency = <400000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
camera-sensor@3c {
|
||||
compatible = "ovti,ov5640";
|
||||
reg = <0x3c>;
|
||||
|
||||
clocks = <&clk_ov5640_fixed>;
|
||||
clock-names = "xclk";
|
||||
|
||||
port {
|
||||
csi2_cam0: endpoint {
|
||||
remote-endpoint = <&csi2_phy0>;
|
||||
clock-lanes = <0>;
|
||||
data-lanes = <1 2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
@@ -1,72 +0,0 @@
|
||||
Texas Instruments DRA72x CAMERA ADAPTATION LAYER (CAL)
|
||||
------------------------------------------------------
|
||||
|
||||
The Camera Adaptation Layer (CAL) is a key component for image capture
|
||||
applications. The capture module provides the system interface and the
|
||||
processing capability to connect CSI2 image-sensor modules to the
|
||||
DRA72x device.
|
||||
|
||||
Required properties:
|
||||
- compatible: must be "ti,dra72-cal"
|
||||
- reg: CAL Top level, Receiver Core #0, Receiver Core #1 and Camera RX
|
||||
control address space
|
||||
- reg-names: cal_top, cal_rx_core0, cal_rx_core1, and camerrx_control
|
||||
registers
|
||||
- interrupts: should contain IRQ line for the CAL;
|
||||
|
||||
CAL supports 2 camera port nodes on MIPI bus. Each CSI2 camera port nodes
|
||||
should contain a 'port' child node with child 'endpoint' node. Please
|
||||
refer to the bindings defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
|
||||
Example:
|
||||
cal: cal@4845b000 {
|
||||
compatible = "ti,dra72-cal";
|
||||
ti,hwmods = "cal";
|
||||
reg = <0x4845B000 0x400>,
|
||||
<0x4845B800 0x40>,
|
||||
<0x4845B900 0x40>,
|
||||
<0x4A002e94 0x4>;
|
||||
reg-names = "cal_top",
|
||||
"cal_rx_core0",
|
||||
"cal_rx_core1",
|
||||
"camerrx_control";
|
||||
interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
csi2_0: port@0 {
|
||||
reg = <0>;
|
||||
endpoint {
|
||||
slave-mode;
|
||||
remote-endpoint = <&ar0330_1>;
|
||||
};
|
||||
};
|
||||
csi2_1: port@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
i2c5: i2c@4807c000 {
|
||||
ar0330@10 {
|
||||
compatible = "ti,ar0330";
|
||||
reg = <0x10>;
|
||||
|
||||
port {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ar0330_1: endpoint {
|
||||
reg = <0>;
|
||||
clock-lanes = <1>;
|
||||
data-lanes = <0 2 3 4>;
|
||||
remote-endpoint = <&csi2_0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -15,8 +15,8 @@ The header file for this API is named ``dvb_frontend.h`` and located in
|
||||
Demodulator driver
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The demodulator driver is responsible to talk with the decoding part of the
|
||||
hardware. Such driver should implement :c:type:`dvb_frontend_ops`, with
|
||||
The demodulator driver is responsible for talking with the decoding part of the
|
||||
hardware. Such driver should implement :c:type:`dvb_frontend_ops`, which
|
||||
tells what type of digital TV standards are supported, and points to a
|
||||
series of functions that allow the DVB core to command the hardware via
|
||||
the code under ``include/media/dvb_frontend.c``.
|
||||
@@ -120,7 +120,7 @@ Satellite TV reception is::
|
||||
|
||||
.. |delta| unicode:: U+00394
|
||||
|
||||
The ``include/media/dvb_frontend.c`` has a kernel thread with is
|
||||
The ``include/media/dvb_frontend.c`` has a kernel thread which is
|
||||
responsible for tuning the device. It supports multiple algorithms to
|
||||
detect a channel, as defined at enum :c:func:`dvbfe_algo`.
|
||||
|
||||
@@ -220,11 +220,11 @@ Signal strength (:ref:`DTV-STAT-SIGNAL-STRENGTH`)
|
||||
- As the gain is visible through the set of registers that adjust the gain,
|
||||
typically, this statistics is always available [#f3]_.
|
||||
|
||||
- Drivers should try to make it available all the times, as this statistics
|
||||
- Drivers should try to make it available all the times, as these statistics
|
||||
can be used when adjusting an antenna position and to check for troubles
|
||||
at the cabling.
|
||||
|
||||
.. [#f3] On a few devices, the gain keeps floating if no carrier.
|
||||
.. [#f3] On a few devices, the gain keeps floating if there is no carrier.
|
||||
On such devices, strength report should check first if carrier is
|
||||
detected at the tuner (``FE_HAS_CARRIER``, see :c:type:`fe_status`),
|
||||
and otherwise return the lowest possible value.
|
||||
@@ -232,7 +232,7 @@ Signal strength (:ref:`DTV-STAT-SIGNAL-STRENGTH`)
|
||||
Carrier Signal to Noise ratio (:ref:`DTV-STAT-CNR`)
|
||||
- Signal to Noise ratio for the main carrier.
|
||||
|
||||
- Signal to Noise measurement depends on the device. On some hardware, is
|
||||
- Signal to Noise measurement depends on the device. On some hardware, it is
|
||||
available when the main carrier is detected. On those hardware, CNR
|
||||
measurement usually comes from the tuner (e. g. after ``FE_HAS_CARRIER``,
|
||||
see :c:type:`fe_status`).
|
||||
@@ -323,8 +323,8 @@ A typical example of the logic that handle status and statistics is::
|
||||
.read_status = foo_get_status_and_stats,
|
||||
};
|
||||
|
||||
Statistics collect
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
Statistics collection
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
On almost all frontend hardware, the bit and byte counts are stored by
|
||||
the hardware after a certain amount of time or after the total bit/block
|
||||
|
||||
@@ -177,7 +177,7 @@ Available follower modes are:
|
||||
- ``CEC_MODE_MONITOR``
|
||||
- 0xe0
|
||||
- Put the file descriptor into monitor mode. Can only be used in
|
||||
combination with :ref:`CEC_MODE_NO_INITIATOR <CEC-MODE-NO-INITIATOR>`,i
|
||||
combination with :ref:`CEC_MODE_NO_INITIATOR <CEC-MODE-NO-INITIATOR>`,
|
||||
otherwise the ``EINVAL`` error code will be returned.
|
||||
In monitor mode all messages this CEC
|
||||
device transmits and all messages it receives (both broadcast
|
||||
|
||||
@@ -81,7 +81,7 @@ for this ioctl call.
|
||||
#define VIDEO_EVENT_FRAME_RATE_CHANGED 2
|
||||
#define VIDEO_EVENT_DECODER_STOPPED 3
|
||||
#define VIDEO_EVENT_VSYNC 4
|
||||
__kernel_time_t timestamp;
|
||||
long timestamp;
|
||||
union {
|
||||
video_size_t size;
|
||||
unsigned int frame_rate; /* in frames per 1000sec */
|
||||
|
||||
@@ -170,7 +170,7 @@ VIDEO_GET_EVENT call.
|
||||
#define VIDEO_EVENT_FRAME_RATE_CHANGED 2
|
||||
#define VIDEO_EVENT_DECODER_STOPPED 3
|
||||
#define VIDEO_EVENT_VSYNC 4
|
||||
__kernel_time_t timestamp;
|
||||
long timestamp;
|
||||
union {
|
||||
video_size_t size;
|
||||
unsigned int frame_rate; /* in frames per 1000sec */
|
||||
|
||||
@@ -55,8 +55,7 @@ please make a proposal on the linux-media mailing list.
|
||||
|
||||
- ``V4L2_PIX_FMT_HM12``
|
||||
- 'HM12'
|
||||
- YUV 4:2:0 format used by the IVTV driver,
|
||||
`http://www.ivtvdriver.org/ <http://www.ivtvdriver.org/>`__
|
||||
- YUV 4:2:0 format used by the IVTV driver.
|
||||
|
||||
The format is documented in the kernel sources in the file
|
||||
``Documentation/media/v4l-drivers/cx2341x.rst``
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
.. _v4l2-pix-fmt-sgrbg12p:
|
||||
|
||||
*******************************************************************************************************************************
|
||||
V4L2_PIX_FMT_SRGGB12P ('pRAA'), V4L2_PIX_FMT_SGRBG12P ('pgAA'), V4L2_PIX_FMT_SGBRG12P ('pGAA'), V4L2_PIX_FMT_SBGGR12P ('pBAA'),
|
||||
V4L2_PIX_FMT_SRGGB12P ('pRCC'), V4L2_PIX_FMT_SGRBG12P ('pgCC'), V4L2_PIX_FMT_SGBRG12P ('pGCC'), V4L2_PIX_FMT_SBGGR12P ('pBCC'),
|
||||
*******************************************************************************************************************************
|
||||
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
.. _v4l2-pix-fmt-sgrbg14p:
|
||||
|
||||
*******************************************************************************************************************************
|
||||
V4L2_PIX_FMT_SRGGB14P ('pRCC'), V4L2_PIX_FMT_SGRBG14P ('pgCC'), V4L2_PIX_FMT_SGBRG14P ('pGCC'), V4L2_PIX_FMT_SBGGR14P ('pBCC'),
|
||||
V4L2_PIX_FMT_SRGGB14P ('pREE'), V4L2_PIX_FMT_SGRBG14P ('pgEE'), V4L2_PIX_FMT_SGBRG14P ('pGEE'), V4L2_PIX_FMT_SBGGR14P ('pBEE'),
|
||||
*******************************************************************************************************************************
|
||||
|
||||
*man V4L2_PIX_FMT_SRGGB14P(2)*
|
||||
|
||||
@@ -15,7 +15,7 @@ V4L2_TCH_FMT_DELTA_TD16 ('TD16')
|
||||
|
||||
*man V4L2_TCH_FMT_DELTA_TD16(2)*
|
||||
|
||||
16-bit signed Touch Delta
|
||||
16-bit signed little endian Touch Delta
|
||||
|
||||
|
||||
Description
|
||||
@@ -37,38 +37,38 @@ Each cell is one byte.
|
||||
:widths: 2 1 1 1 1 1 1 1 1
|
||||
|
||||
* - start + 0:
|
||||
- D'\ :sub:`00high`
|
||||
- D'\ :sub:`00low`
|
||||
- D'\ :sub:`01high`
|
||||
- D'\ :sub:`00high`
|
||||
- D'\ :sub:`01low`
|
||||
- D'\ :sub:`02high`
|
||||
- D'\ :sub:`01high`
|
||||
- D'\ :sub:`02low`
|
||||
- D'\ :sub:`03high`
|
||||
- D'\ :sub:`02high`
|
||||
- D'\ :sub:`03low`
|
||||
- D'\ :sub:`03high`
|
||||
* - start + 8:
|
||||
- D'\ :sub:`10high`
|
||||
- D'\ :sub:`10low`
|
||||
- D'\ :sub:`11high`
|
||||
- D'\ :sub:`10high`
|
||||
- D'\ :sub:`11low`
|
||||
- D'\ :sub:`12high`
|
||||
- D'\ :sub:`11high`
|
||||
- D'\ :sub:`12low`
|
||||
- D'\ :sub:`13high`
|
||||
- D'\ :sub:`12high`
|
||||
- D'\ :sub:`13low`
|
||||
- D'\ :sub:`13high`
|
||||
* - start + 16:
|
||||
- D'\ :sub:`20high`
|
||||
- D'\ :sub:`20low`
|
||||
- D'\ :sub:`21high`
|
||||
- D'\ :sub:`20high`
|
||||
- D'\ :sub:`21low`
|
||||
- D'\ :sub:`22high`
|
||||
- D'\ :sub:`21high`
|
||||
- D'\ :sub:`22low`
|
||||
- D'\ :sub:`23high`
|
||||
- D'\ :sub:`22high`
|
||||
- D'\ :sub:`23low`
|
||||
- D'\ :sub:`23high`
|
||||
* - start + 24:
|
||||
- D'\ :sub:`30high`
|
||||
- D'\ :sub:`30low`
|
||||
- D'\ :sub:`31high`
|
||||
- D'\ :sub:`30high`
|
||||
- D'\ :sub:`31low`
|
||||
- D'\ :sub:`32high`
|
||||
- D'\ :sub:`31high`
|
||||
- D'\ :sub:`32low`
|
||||
- D'\ :sub:`33high`
|
||||
- D'\ :sub:`32high`
|
||||
- D'\ :sub:`33low`
|
||||
- D'\ :sub:`33high`
|
||||
|
||||
@@ -15,7 +15,7 @@ V4L2_TCH_FMT_TU16 ('TU16')
|
||||
|
||||
*man V4L2_TCH_FMT_TU16(2)*
|
||||
|
||||
16-bit unsigned raw touch data
|
||||
16-bit unsigned little endian raw touch data
|
||||
|
||||
|
||||
Description
|
||||
@@ -36,38 +36,38 @@ Each cell is one byte.
|
||||
:widths: 2 1 1 1 1 1 1 1 1
|
||||
|
||||
* - start + 0:
|
||||
- R'\ :sub:`00high`
|
||||
- R'\ :sub:`00low`
|
||||
- R'\ :sub:`01high`
|
||||
- R'\ :sub:`00high`
|
||||
- R'\ :sub:`01low`
|
||||
- R'\ :sub:`02high`
|
||||
- R'\ :sub:`01high`
|
||||
- R'\ :sub:`02low`
|
||||
- R'\ :sub:`03high`
|
||||
- R'\ :sub:`02high`
|
||||
- R'\ :sub:`03low`
|
||||
- R'\ :sub:`03high`
|
||||
* - start + 8:
|
||||
- R'\ :sub:`10high`
|
||||
- R'\ :sub:`10low`
|
||||
- R'\ :sub:`11high`
|
||||
- R'\ :sub:`10high`
|
||||
- R'\ :sub:`11low`
|
||||
- R'\ :sub:`12high`
|
||||
- R'\ :sub:`11high`
|
||||
- R'\ :sub:`12low`
|
||||
- R'\ :sub:`13high`
|
||||
- R'\ :sub:`12high`
|
||||
- R'\ :sub:`13low`
|
||||
- R'\ :sub:`13high`
|
||||
* - start + 16:
|
||||
- R'\ :sub:`20high`
|
||||
- R'\ :sub:`20low`
|
||||
- R'\ :sub:`21high`
|
||||
- R'\ :sub:`20high`
|
||||
- R'\ :sub:`21low`
|
||||
- R'\ :sub:`22high`
|
||||
- R'\ :sub:`21high`
|
||||
- R'\ :sub:`22low`
|
||||
- R'\ :sub:`23high`
|
||||
- R'\ :sub:`22high`
|
||||
- R'\ :sub:`23low`
|
||||
- R'\ :sub:`23high`
|
||||
* - start + 24:
|
||||
- R'\ :sub:`30high`
|
||||
- R'\ :sub:`30low`
|
||||
- R'\ :sub:`31high`
|
||||
- R'\ :sub:`30high`
|
||||
- R'\ :sub:`31low`
|
||||
- R'\ :sub:`32high`
|
||||
- R'\ :sub:`31high`
|
||||
- R'\ :sub:`32low`
|
||||
- R'\ :sub:`33high`
|
||||
- R'\ :sub:`32high`
|
||||
- R'\ :sub:`33low`
|
||||
- R'\ :sub:`33high`
|
||||
|
||||
@@ -44,7 +44,9 @@ To enumerate image formats applications initialize the ``type`` and
|
||||
the :ref:`VIDIOC_ENUM_FMT` ioctl with a pointer to this structure. Drivers
|
||||
fill the rest of the structure or return an ``EINVAL`` error code. All
|
||||
formats are enumerable by beginning at index zero and incrementing by
|
||||
one until ``EINVAL`` is returned.
|
||||
one until ``EINVAL`` is returned. If applicable, drivers shall return
|
||||
formats in preference order, where preferred formats are returned before
|
||||
(that is, with lower ``index`` value) less-preferred formats.
|
||||
|
||||
.. note::
|
||||
|
||||
|
||||
@@ -279,7 +279,7 @@ EBUSY
|
||||
then it will set this flag to signal this to the application.
|
||||
* - ``V4L2_DV_FL_HALF_LINE``
|
||||
- Specific to interlaced formats: if set, then the vertical
|
||||
backporch of field 1 (aka the odd field) is really one half-line
|
||||
frontporch of field 1 (aka the odd field) is really one half-line
|
||||
longer and the vertical backporch of field 2 (aka the even field)
|
||||
is really one half-line shorter, so each field has exactly the
|
||||
same number of half-lines. Whether half-lines can be detected or
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
The cx18 driver
|
||||
===============
|
||||
|
||||
.. note::
|
||||
|
||||
This documentation is outdated.
|
||||
|
||||
Some notes regarding the cx18 driver for the Conexant CX23418 MPEG
|
||||
encoder chip:
|
||||
|
||||
1) Currently supported are:
|
||||
|
||||
- Hauppauge HVR-1600
|
||||
- Compro VideoMate H900
|
||||
- Yuan MPC718
|
||||
- Conexant Raptor PAL/SECAM devkit
|
||||
|
||||
2) Some people have problems getting the i2c bus to work.
|
||||
The symptom is that the eeprom cannot be read and the card is
|
||||
unusable. This is probably fixed, but if you have problems
|
||||
then post to the video4linux or ivtv-users mailing list.
|
||||
|
||||
3) VBI (raw or sliced) has not yet been implemented.
|
||||
|
||||
4) MPEG indexing is not yet implemented.
|
||||
|
||||
5) The driver is still a bit rough around the edges, this should
|
||||
improve over time.
|
||||
|
||||
|
||||
Firmware:
|
||||
|
||||
You can obtain the firmware files here:
|
||||
|
||||
http://dl.ivtvdriver.org/ivtv/firmware/cx18-firmware.tar.gz
|
||||
|
||||
Untar and copy the .fw files to your firmware directory.
|
||||
@@ -38,7 +38,6 @@ For more details see the file COPYING in the source distribution of Linux.
|
||||
bttv
|
||||
cafe_ccic
|
||||
cpia2
|
||||
cx18
|
||||
cx2341x
|
||||
cx88
|
||||
davinci-vpbe
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user