forked from Minki/linux
media updates for v5.8-rc1
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE+QmuaPwR3wnBdVwACF8+vY7k4RUFAl7XUmwACgkQCF8+vY7k 4RU4zg//fT32wiVAPHCCp+pDZVnWNeipXE1gnpqghd/qZXfzBPiLEC9sPS74VVkA jf1hhR33VZpKAKTPg/b074qhRZBywEOdHZnT/0CEE1oNB61shVOnyDYzLGSq95cO 6V55ovbi5IOkrg0QEJbHpG5YHzt+pq5XeWOkqGNsHwla7N7iMGMVYfHepVVDWPnZ 0wGYFF9cAJP+X/uxqkZLDVMA/K1I+QKh6vrj/qx53/eRt8VID3+i8ig3guk4PlUq 7RLw5w/CywtNaGE5zaz7T3i2eoED71JHOTXi6RxdP1z8IDvELZ9mT95GQ+enlwqt AS6Ju1sV40wviHMv5prJWQjJkrrtYH3S907lIjwBpQLNGbh2+5crCd/6CwumkGgv 1cCZ1dVmXpCe++9mU9AXmSkjsjGPStNcmHMOpc1Pwn9jUV3LQOOSDp8+RYdt1WHU Iw9cyM8NOpz5Mv/B1/ZPQ1gPb9lr1gE09XyUekxtAI/nl4nNHGWO8QDuX7Odfrv9 8nfo14lk/p6XCTA8dsWJCgI5B1fgnqD4frHKWO9Uctppc/KBW41c8JpQUjBNlG/T MhtlGwYMVgSQxpQ6wK018JUAFoWkn1Sr0zMKRayqCnMjMLHsaMwE6kq+LgmRBqbB ersKV/9ZLYqCU1d6PhEVG6xUs6GsWdLcyhALlmHsddPSdpFXdf8= =KNAo -----END PGP SIGNATURE----- Merge tag 'media/v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: - Media documentation is now split into admin-guide, driver-api and userspace-api books (a longstanding request from Jon); - The media Kconfig was reorganized, in order to make easier to select drivers and their dependencies; - The testing drivers now has a separate directory; - added a new driver for Rockchip Video Decoder IP; - The atomisp staging driver was resurrected. It is meant to work with 4 generations of cameras on Atom-based laptops, tablets and cell phones. So, it seems worth investing time to cleanup this driver and making it in good shape. - Added some V4L2 core ancillary routines to help with h264 codecs; - Added an ov2740 image sensor driver; - The si2157 gained support for Analog TV, which, in turn, added support for some cx231xx and cx23885 boards to also support analog standards; - Added some V4L2 controls (V4L2_CID_CAMERA_ORIENTATION and V4L2_CID_CAMERA_SENSOR_ROTATION) to help identifying where the camera is located at the device; - VIDIOC_ENUM_FMT was extended to support MC-centric devices; - Lots of drivers improvements and cleanups. * tag 'media/v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (503 commits) media: Documentation: media: Refer to mbus format documentation from CSI-2 docs media: s5k5baf: Replace zero-length array with flexible-array media: i2c: imx219: Drop <linux/clk-provider.h> and <linux/clkdev.h> media: i2c: Add ov2740 image sensor driver media: ov8856: Implement sensor module revision identification media: ov8856: Add devicetree support media: dt-bindings: ov8856: Document YAML bindings media: dvb-usb: Add Cinergy S2 PCIe Dual Port support media: dvbdev: Fix tuner->demod media controller link media: dt-bindings: phy: phy-rockchip-dphy-rx0: move rockchip dphy rx0 bindings out of staging media: staging: dt-bindings: phy-rockchip-dphy-rx0: remove non-used reg property media: atomisp: unify the version for isp2401 a0 and b0 versions media: atomisp: update TODO with the current data media: atomisp: adjust some code at sh_css that could be broken media: atomisp: don't produce errs for ignored IRQs media: atomisp: print IRQ when debugging media: atomisp: isp_mmu: don't use kmem_cache media: atomisp: add a notice about possible leak resources media: atomisp: disable the dynamic and reserved pools media: atomisp: turn on camera before setting it ...
This commit is contained in:
commit
a98f670e41
@ -37,4 +37,4 @@ when changes are made.
|
||||
|
||||
The following CEC error injection implementations exist:
|
||||
|
||||
- Documentation/media/uapi/cec/cec-pin-error-inj.rst
|
||||
- Documentation/userspace-api/media/cec/cec-pin-error-inj.rst
|
||||
|
@ -55,15 +55,15 @@ I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||
loop_cmd = $(echo-cmd) $(cmd_$(1)) || exit;
|
||||
|
||||
# $2 sphinx builder e.g. "html"
|
||||
# $3 name of the build subfolder / e.g. "media", used as:
|
||||
# $3 name of the build subfolder / e.g. "userspace-api/media", used as:
|
||||
# * dest folder relative to $(BUILDDIR) and
|
||||
# * cache folder relative to $(BUILDDIR)/.doctrees
|
||||
# $4 dest subfolder e.g. "man" for man pages at media/man
|
||||
# $4 dest subfolder e.g. "man" for man pages at userspace-api/media/man
|
||||
# $5 reST source folder relative to $(srctree)/$(src),
|
||||
# e.g. "media" for the linux-tv book-set at ./Documentation/media
|
||||
# e.g. "userspace-api/media" for the linux-tv book-set at ./Documentation/userspace-api/media
|
||||
|
||||
quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4)
|
||||
cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/media $2 && \
|
||||
cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/userspace-api/media $2 && \
|
||||
PYTHONDONTWRITEBYTECODE=1 \
|
||||
BUILDDIR=$(abspath $(BUILDDIR)) SPHINX_CONF=$(abspath $(srctree)/$(src)/$5/$(SPHINX_CONF)) \
|
||||
$(PYTHON) $(srctree)/scripts/jobserver-exec \
|
||||
@ -124,7 +124,7 @@ refcheckdocs:
|
||||
|
||||
cleandocs:
|
||||
$(Q)rm -rf $(BUILDDIR)
|
||||
$(Q)$(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/media clean
|
||||
$(Q)$(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/userspace-api/media clean
|
||||
|
||||
dochelp:
|
||||
@echo ' Linux kernel internal documentation in different formats from ReST:'
|
||||
|
@ -93,6 +93,7 @@ configure specific aspects of kernel behavior to your liking.
|
||||
lockup-watchdogs
|
||||
LSM/index
|
||||
md
|
||||
media/index
|
||||
mm/index
|
||||
module-signing
|
||||
mono
|
||||
|
@ -458,7 +458,7 @@
|
||||
bttv.card= [HW,V4L] bttv (bt848 + bt878 based grabber cards)
|
||||
bttv.radio= Most important insmod options are available as
|
||||
kernel args too.
|
||||
bttv.pll= See Documentation/media/v4l-drivers/bttv.rst
|
||||
bttv.pll= See Documentation/admin-guide/media/bttv.rst
|
||||
bttv.tuner=
|
||||
|
||||
bulk_remove=off [PPC] This parameter disables the use of the pSeries
|
||||
@ -2746,7 +2746,7 @@
|
||||
See Documentation/admin-guide/pm/sleep-states.rst.
|
||||
|
||||
meye.*= [HW] Set MotionEye Camera parameters
|
||||
See Documentation/media/v4l-drivers/meye.rst.
|
||||
See Documentation/admin-guide/media/meye.rst.
|
||||
|
||||
mfgpt_irq= [IA-32] Specify the IRQ to use for the
|
||||
Multi-Function General Purpose Timers on AMD Geode
|
||||
|
94
Documentation/admin-guide/media/avermedia.rst
Normal file
94
Documentation/admin-guide/media/avermedia.rst
Normal file
@ -0,0 +1,94 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
======================================
|
||||
Avermedia DVB-T on BT878 Release Notes
|
||||
======================================
|
||||
|
||||
February 14th 2006
|
||||
|
||||
.. note::
|
||||
|
||||
Several other Avermedia devices are supported. For a more
|
||||
broader and updated content about that, please check:
|
||||
|
||||
https://linuxtv.org/wiki/index.php/AVerMedia
|
||||
|
||||
The Avermedia DVB-T
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The Avermedia DVB-T is a budget PCI DVB card. It has 3 inputs:
|
||||
|
||||
* RF Tuner Input
|
||||
* Composite Video Input (RCA Jack)
|
||||
* SVIDEO Input (Mini-DIN)
|
||||
|
||||
The RF Tuner Input is the input to the tuner module of the
|
||||
card. The Tuner is otherwise known as the "Frontend" . The
|
||||
Frontend of the Avermedia DVB-T is a Microtune 7202D. A timely
|
||||
post to the linux-dvb mailing list ascertained that the
|
||||
Microtune 7202D is supported by the sp887x driver which is
|
||||
found in the dvb-hw CVS module.
|
||||
|
||||
The DVB-T card is based around the BT878 chip which is a very
|
||||
common multimedia bridge and often found on Analogue TV cards.
|
||||
There is no on-board MPEG2 decoder, which means that all MPEG2
|
||||
decoding must be done in software, or if you have one, on an
|
||||
MPEG2 hardware decoding card or chipset.
|
||||
|
||||
|
||||
Getting the card going
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
At this stage, it has not been able to ascertain the
|
||||
functionality of the remaining device nodes in respect of the
|
||||
Avermedia DVBT. However, full functionality in respect of
|
||||
tuning, receiving and supplying the MPEG2 data stream is
|
||||
possible with the currently available versions of the driver.
|
||||
It may be possible that additional functionality is available
|
||||
from the card (i.e. viewing the additional analogue inputs
|
||||
that the card presents), but this has not been tested yet. If
|
||||
I get around to this, I'll update the document with whatever I
|
||||
find.
|
||||
|
||||
To power up the card, load the following modules in the
|
||||
following order:
|
||||
|
||||
* modprobe bttv (normally loaded automatically)
|
||||
* modprobe dvb-bt8xx (or place dvb-bt8xx in /etc/modules)
|
||||
|
||||
Insertion of these modules into the running kernel will
|
||||
activate the appropriate DVB device nodes. It is then possible
|
||||
to start accessing the card with utilities such as scan, tzap,
|
||||
dvbstream etc.
|
||||
|
||||
The frontend module sp887x.o, requires an external firmware.
|
||||
Please use the command "get_dvb_firmware sp887x" to download
|
||||
it. Then copy it to /usr/lib/hotplug/firmware or /lib/firmware/
|
||||
(depending on configuration of firmware hotplug).
|
||||
|
||||
Known Limitations
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
At present I can say with confidence that the frontend tunes
|
||||
via /dev/dvb/adapter{x}/frontend0 and supplies an MPEG2 stream
|
||||
via /dev/dvb/adapter{x}/dvr0. I have not tested the
|
||||
functionality of any other part of the card yet. I will do so
|
||||
over time and update this document.
|
||||
|
||||
There are some limitations in the i2c layer due to a returned
|
||||
error message inconsistency. Although this generates errors in
|
||||
dmesg and the system logs, it does not appear to affect the
|
||||
ability of the frontend to function correctly.
|
||||
|
||||
Further Update
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
dvbstream and VideoLAN Client on windows works a treat with
|
||||
DVB, in fact this is currently serving as my main way of
|
||||
viewing DVB-T at the moment. Additionally, VLC is happily
|
||||
decoding HDTV signals, although the PC is dropping the odd
|
||||
frame here and there - I assume due to processing capability -
|
||||
as all the decoding is being done under windows in software.
|
||||
|
||||
Many thanks to Nigel Pearson for the updates to this document
|
||||
since the recent revision of the driver.
|
156
Documentation/admin-guide/media/bt8xx.rst
Normal file
156
Documentation/admin-guide/media/bt8xx.rst
Normal file
@ -0,0 +1,156 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
==================================
|
||||
How to get the bt8xx cards working
|
||||
==================================
|
||||
|
||||
Authors:
|
||||
Richard Walker,
|
||||
Jamie Honan,
|
||||
Michael Hunold,
|
||||
Manu Abraham,
|
||||
Uwe Bugla,
|
||||
Michael Krufky
|
||||
|
||||
General information
|
||||
-------------------
|
||||
|
||||
This class of cards has a bt878a as the PCI interface, and require the bttv driver
|
||||
for accessing the i2c bus and the gpio pins of the bt8xx chipset.
|
||||
|
||||
Please see :doc:`bttv-cardlist` for a complete list of Cards based on the
|
||||
Conexant Bt8xx PCI bridge supported by the Linux Kernel.
|
||||
|
||||
In order to be able to compile the kernel, some config options should be
|
||||
enabled::
|
||||
|
||||
./scripts/config -e PCI
|
||||
./scripts/config -e INPUT
|
||||
./scripts/config -m I2C
|
||||
./scripts/config -m MEDIA_SUPPORT
|
||||
./scripts/config -e MEDIA_PCI_SUPPORT
|
||||
./scripts/config -e MEDIA_ANALOG_TV_SUPPORT
|
||||
./scripts/config -e MEDIA_DIGITAL_TV_SUPPORT
|
||||
./scripts/config -e MEDIA_RADIO_SUPPORT
|
||||
./scripts/config -e RC_CORE
|
||||
./scripts/config -m VIDEO_BT848
|
||||
./scripts/config -m DVB_BT8XX
|
||||
|
||||
If you want to automatically support all possible variants of the Bt8xx
|
||||
cards, you should also do::
|
||||
|
||||
./scripts/config -e MEDIA_SUBDRV_AUTOSELECT
|
||||
|
||||
.. note::
|
||||
|
||||
Please use the following options with care as deselection of drivers which
|
||||
are in fact necessary may result in DVB devices that cannot be tuned due
|
||||
to lack of driver support.
|
||||
|
||||
If your goal is to just support an specific board, you may, instead,
|
||||
disable MEDIA_SUBDRV_AUTOSELECT and manually select the frontend drivers
|
||||
required by your board. With that, you can save some RAM.
|
||||
|
||||
You can do that by calling make xconfig/qconfig/menuconfig and look at
|
||||
the options on those menu options (only enabled if
|
||||
``Autoselect ancillary drivers`` is disabled:
|
||||
|
||||
#) ``Device drivers`` => ``Multimedia support`` => ``Customize TV tuners``
|
||||
#) ``Device drivers`` => ``Multimedia support`` => ``Customize DVB frontends``
|
||||
|
||||
Then, on each of the above menu, please select your card-specific
|
||||
frontend and tuner modules.
|
||||
|
||||
|
||||
Loading Modules
|
||||
---------------
|
||||
|
||||
Regular case: If the bttv driver detects a bt8xx-based DVB card, all
|
||||
frontend and backend modules will be loaded automatically.
|
||||
|
||||
Exceptions are:
|
||||
|
||||
- Old TV cards without EEPROMs, sharing a common PCI subsystem ID;
|
||||
- Old TwinHan DST cards or clones with or without CA slot and not
|
||||
containing an Eeprom.
|
||||
|
||||
In the following cases overriding the PCI type detection for bttv and
|
||||
for dvb-bt8xx drivers by passing modprobe parameters may be necessary.
|
||||
|
||||
Running TwinHan and Clones
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
As shown at :doc:`bttv-cardlist`, TwinHan and
|
||||
clones use ``card=113`` modprobe parameter. So, in order to properly
|
||||
detect it for devices without EEPROM, you should use::
|
||||
|
||||
$ modprobe bttv card=113
|
||||
$ modprobe dst
|
||||
|
||||
Useful parameters for verbosity level and debugging the dst module::
|
||||
|
||||
verbose=0: messages are disabled
|
||||
1: only error messages are displayed
|
||||
2: notifications are displayed
|
||||
3: other useful messages are displayed
|
||||
4: debug setting
|
||||
dst_addons=0: card is a free to air (FTA) card only
|
||||
0x20: card has a conditional access slot for scrambled channels
|
||||
dst_algo=0: (default) Software tuning algorithm
|
||||
1: Hardware tuning algorithm
|
||||
|
||||
|
||||
The autodetected values are determined by the cards' "response string".
|
||||
|
||||
In your logs see f. ex.: dst_get_device_id: Recognize [DSTMCI].
|
||||
|
||||
For bug reports please send in a complete log with verbose=4 activated.
|
||||
Please also see :doc:`ci`.
|
||||
|
||||
Running multiple cards
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
See :doc:`bttv-cardlist` for a complete list of
|
||||
Card ID. Some examples:
|
||||
|
||||
=========================== ===
|
||||
Brand name ID
|
||||
=========================== ===
|
||||
Pinnacle PCTV Sat 94
|
||||
Nebula Electronics Digi TV 104
|
||||
pcHDTV HD-2000 TV 112
|
||||
Twinhan DST and clones 113
|
||||
Avermedia AverTV DVB-T 77: 123
|
||||
Avermedia AverTV DVB-T 761 124
|
||||
DViCO FusionHDTV DVB-T Lite 128
|
||||
DViCO FusionHDTV 5 Lite 135
|
||||
=========================== ===
|
||||
|
||||
.. note::
|
||||
|
||||
When you have multiple cards, the order of the card ID should
|
||||
match the order where they're detected by the system. Please notice
|
||||
that removing/inserting other PCI cards may change the detection
|
||||
order.
|
||||
|
||||
Example::
|
||||
|
||||
$ modprobe bttv card=113 card=135
|
||||
|
||||
In case of further problems please subscribe and send questions to
|
||||
the mailing list: linux-media@vger.kernel.org.
|
||||
|
||||
Probing the cards with broken PCI subsystem ID
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
There are some TwinHan cards whose EEPROM has become corrupted for some
|
||||
reason. The cards do not have a correct PCI subsystem ID.
|
||||
Still, it is possible to force probing the cards with::
|
||||
|
||||
$ echo 109e 0878 $subvendor $subdevice > \
|
||||
/sys/bus/pci/drivers/bt878/new_id
|
||||
|
||||
The two numbers there are::
|
||||
|
||||
109e: PCI_VENDOR_ID_BROOKTREE
|
||||
0878: PCI_DEVICE_ID_BROOKTREE_878
|
683
Documentation/admin-guide/media/bttv-cardlist.rst
Normal file
683
Documentation/admin-guide/media/bttv-cardlist.rst
Normal file
@ -0,0 +1,683 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
BTTV cards list
|
||||
===============
|
||||
|
||||
.. tabularcolumns:: |p{1.4cm}|p{11.1cm}|p{4.2cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 2 19 18
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- PCI subsystem IDs
|
||||
|
||||
* - 0
|
||||
- *** UNKNOWN/GENERIC ***
|
||||
-
|
||||
|
||||
* - 1
|
||||
- MIRO PCTV
|
||||
-
|
||||
|
||||
* - 2
|
||||
- Hauppauge (bt848)
|
||||
-
|
||||
|
||||
* - 3
|
||||
- STB, Gateway P/N 6000699 (bt848)
|
||||
-
|
||||
|
||||
* - 4
|
||||
- Intel Create and Share PCI/ Smart Video Recorder III
|
||||
-
|
||||
|
||||
* - 5
|
||||
- Diamond DTV2000
|
||||
-
|
||||
|
||||
* - 6
|
||||
- AVerMedia TVPhone
|
||||
-
|
||||
|
||||
* - 7
|
||||
- MATRIX-Vision MV-Delta
|
||||
-
|
||||
|
||||
* - 8
|
||||
- Lifeview FlyVideo II (Bt848) LR26 / MAXI TV Video PCI2 LR26
|
||||
-
|
||||
|
||||
* - 9
|
||||
- IMS/IXmicro TurboTV
|
||||
-
|
||||
|
||||
* - 10
|
||||
- Hauppauge (bt878)
|
||||
- 0070:13eb, 0070:3900, 2636:10b4
|
||||
|
||||
* - 11
|
||||
- MIRO PCTV pro
|
||||
-
|
||||
|
||||
* - 12
|
||||
- ADS Technologies Channel Surfer TV (bt848)
|
||||
-
|
||||
|
||||
* - 13
|
||||
- AVerMedia TVCapture 98
|
||||
- 1461:0002, 1461:0004, 1461:0300
|
||||
|
||||
* - 14
|
||||
- Aimslab Video Highway Xtreme (VHX)
|
||||
-
|
||||
|
||||
* - 15
|
||||
- Zoltrix TV-Max
|
||||
- a1a0:a0fc
|
||||
|
||||
* - 16
|
||||
- Prolink Pixelview PlayTV (bt878)
|
||||
-
|
||||
|
||||
* - 17
|
||||
- Leadtek WinView 601
|
||||
-
|
||||
|
||||
* - 18
|
||||
- AVEC Intercapture
|
||||
-
|
||||
|
||||
* - 19
|
||||
- Lifeview FlyVideo II EZ /FlyKit LR38 Bt848 (capture only)
|
||||
-
|
||||
|
||||
* - 20
|
||||
- CEI Raffles Card
|
||||
-
|
||||
|
||||
* - 21
|
||||
- Lifeview FlyVideo 98/ Lucky Star Image World ConferenceTV LR50
|
||||
-
|
||||
|
||||
* - 22
|
||||
- Askey CPH050/ Phoebe Tv Master + FM
|
||||
- 14ff:3002
|
||||
|
||||
* - 23
|
||||
- Modular Technology MM201/MM202/MM205/MM210/MM215 PCTV, bt878
|
||||
- 14c7:0101
|
||||
|
||||
* - 24
|
||||
- Askey CPH05X/06X (bt878) [many vendors]
|
||||
- 144f:3002, 144f:3005, 144f:5000, 14ff:3000
|
||||
|
||||
* - 25
|
||||
- Terratec TerraTV+ Version 1.0 (Bt848)/ Terra TValue Version 1.0/ Vobis TV-Boostar
|
||||
-
|
||||
|
||||
* - 26
|
||||
- Hauppauge WinCam newer (bt878)
|
||||
-
|
||||
|
||||
* - 27
|
||||
- Lifeview FlyVideo 98/ MAXI TV Video PCI2 LR50
|
||||
-
|
||||
|
||||
* - 28
|
||||
- Terratec TerraTV+ Version 1.1 (bt878)
|
||||
- 153b:1127, 1852:1852
|
||||
|
||||
* - 29
|
||||
- Imagenation PXC200
|
||||
- 1295:200a
|
||||
|
||||
* - 30
|
||||
- Lifeview FlyVideo 98 LR50
|
||||
- 1f7f:1850
|
||||
|
||||
* - 31
|
||||
- Formac iProTV, Formac ProTV I (bt848)
|
||||
-
|
||||
|
||||
* - 32
|
||||
- Intel Create and Share PCI/ Smart Video Recorder III
|
||||
-
|
||||
|
||||
* - 33
|
||||
- Terratec TerraTValue Version Bt878
|
||||
- 153b:1117, 153b:1118, 153b:1119, 153b:111a, 153b:1134, 153b:5018
|
||||
|
||||
* - 34
|
||||
- Leadtek WinFast 2000/ WinFast 2000 XP
|
||||
- 107d:6606, 107d:6609, 6606:217d, f6ff:fff6
|
||||
|
||||
* - 35
|
||||
- Lifeview FlyVideo 98 LR50 / Chronos Video Shuttle II
|
||||
- 1851:1850, 1851:a050
|
||||
|
||||
* - 36
|
||||
- Lifeview FlyVideo 98FM LR50 / Typhoon TView TV/FM Tuner
|
||||
- 1852:1852
|
||||
|
||||
* - 37
|
||||
- Prolink PixelView PlayTV pro
|
||||
-
|
||||
|
||||
* - 38
|
||||
- Askey CPH06X TView99
|
||||
- 144f:3000, 144f:a005, a04f:a0fc
|
||||
|
||||
* - 39
|
||||
- Pinnacle PCTV Studio/Rave
|
||||
- 11bd:0012, bd11:1200, bd11:ff00, 11bd:ff12
|
||||
|
||||
* - 40
|
||||
- STB TV PCI FM, Gateway P/N 6000704 (bt878), 3Dfx VoodooTV 100
|
||||
- 10b4:2636, 10b4:2645, 121a:3060
|
||||
|
||||
* - 41
|
||||
- AVerMedia TVPhone 98
|
||||
- 1461:0001, 1461:0003
|
||||
|
||||
* - 42
|
||||
- ProVideo PV951
|
||||
- aa0c:146c
|
||||
|
||||
* - 43
|
||||
- Little OnAir TV
|
||||
-
|
||||
|
||||
* - 44
|
||||
- Sigma TVII-FM
|
||||
-
|
||||
|
||||
* - 45
|
||||
- MATRIX-Vision MV-Delta 2
|
||||
-
|
||||
|
||||
* - 46
|
||||
- Zoltrix Genie TV/FM
|
||||
- 15b0:4000, 15b0:400a, 15b0:400d, 15b0:4010, 15b0:4016
|
||||
|
||||
* - 47
|
||||
- Terratec TV/Radio+
|
||||
- 153b:1123
|
||||
|
||||
* - 48
|
||||
- Askey CPH03x/ Dynalink Magic TView
|
||||
-
|
||||
|
||||
* - 49
|
||||
- IODATA GV-BCTV3/PCI
|
||||
- 10fc:4020
|
||||
|
||||
* - 50
|
||||
- Prolink PV-BT878P+4E / PixelView PlayTV PAK / Lenco MXTV-9578 CP
|
||||
-
|
||||
|
||||
* - 51
|
||||
- Eagle Wireless Capricorn2 (bt878A)
|
||||
-
|
||||
|
||||
* - 52
|
||||
- Pinnacle PCTV Studio Pro
|
||||
-
|
||||
|
||||
* - 53
|
||||
- Typhoon TView RDS + FM Stereo / KNC1 TV Station RDS
|
||||
-
|
||||
|
||||
* - 54
|
||||
- Lifeview FlyVideo 2000 /FlyVideo A2/ Lifetec LT 9415 TV [LR90]
|
||||
-
|
||||
|
||||
* - 55
|
||||
- Askey CPH031/ BESTBUY Easy TV
|
||||
-
|
||||
|
||||
* - 56
|
||||
- Lifeview FlyVideo 98FM LR50
|
||||
- a051:41a0
|
||||
|
||||
* - 57
|
||||
- GrandTec 'Grand Video Capture' (Bt848)
|
||||
- 4344:4142
|
||||
|
||||
* - 58
|
||||
- Askey CPH060/ Phoebe TV Master Only (No FM)
|
||||
-
|
||||
|
||||
* - 59
|
||||
- Askey CPH03x TV Capturer
|
||||
-
|
||||
|
||||
* - 60
|
||||
- Modular Technology MM100PCTV
|
||||
-
|
||||
|
||||
* - 61
|
||||
- AG Electronics GMV1
|
||||
- 15cb:0101
|
||||
|
||||
* - 62
|
||||
- Askey CPH061/ BESTBUY Easy TV (bt878)
|
||||
-
|
||||
|
||||
* - 63
|
||||
- ATI TV-Wonder
|
||||
- 1002:0001
|
||||
|
||||
* - 64
|
||||
- ATI TV-Wonder VE
|
||||
- 1002:0003
|
||||
|
||||
* - 65
|
||||
- Lifeview FlyVideo 2000S LR90
|
||||
-
|
||||
|
||||
* - 66
|
||||
- Terratec TValueRadio
|
||||
- 153b:1135, 153b:ff3b
|
||||
|
||||
* - 67
|
||||
- IODATA GV-BCTV4/PCI
|
||||
- 10fc:4050
|
||||
|
||||
* - 68
|
||||
- 3Dfx VoodooTV FM (Euro)
|
||||
- 10b4:2637
|
||||
|
||||
* - 69
|
||||
- Active Imaging AIMMS
|
||||
-
|
||||
|
||||
* - 70
|
||||
- Prolink Pixelview PV-BT878P+ (Rev.4C,8E)
|
||||
-
|
||||
|
||||
* - 71
|
||||
- Lifeview FlyVideo 98EZ (capture only) LR51
|
||||
- 1851:1851
|
||||
|
||||
* - 72
|
||||
- Prolink Pixelview PV-BT878P+9B (PlayTV Pro rev.9B FM+NICAM)
|
||||
- 1554:4011
|
||||
|
||||
* - 73
|
||||
- Sensoray 311/611
|
||||
- 6000:0311, 6000:0611
|
||||
|
||||
* - 74
|
||||
- RemoteVision MX (RV605)
|
||||
-
|
||||
|
||||
* - 75
|
||||
- Powercolor MTV878/ MTV878R/ MTV878F
|
||||
-
|
||||
|
||||
* - 76
|
||||
- Canopus WinDVR PCI (COMPAQ Presario 3524JP, 5112JP)
|
||||
- 0e11:0079
|
||||
|
||||
* - 77
|
||||
- GrandTec Multi Capture Card (Bt878)
|
||||
-
|
||||
|
||||
* - 78
|
||||
- Jetway TV/Capture JW-TV878-FBK, Kworld KW-TV878RF
|
||||
- 0a01:17de
|
||||
|
||||
* - 79
|
||||
- DSP Design TCVIDEO
|
||||
-
|
||||
|
||||
* - 80
|
||||
- Hauppauge WinTV PVR
|
||||
- 0070:4500
|
||||
|
||||
* - 81
|
||||
- IODATA GV-BCTV5/PCI
|
||||
- 10fc:4070, 10fc:d018
|
||||
|
||||
* - 82
|
||||
- Osprey 100/150 (878)
|
||||
- 0070:ff00
|
||||
|
||||
* - 83
|
||||
- Osprey 100/150 (848)
|
||||
-
|
||||
|
||||
* - 84
|
||||
- Osprey 101 (848)
|
||||
-
|
||||
|
||||
* - 85
|
||||
- Osprey 101/151
|
||||
-
|
||||
|
||||
* - 86
|
||||
- Osprey 101/151 w/ svid
|
||||
-
|
||||
|
||||
* - 87
|
||||
- Osprey 200/201/250/251
|
||||
-
|
||||
|
||||
* - 88
|
||||
- Osprey 200/250
|
||||
- 0070:ff01
|
||||
|
||||
* - 89
|
||||
- Osprey 210/220/230
|
||||
-
|
||||
|
||||
* - 90
|
||||
- Osprey 500
|
||||
- 0070:ff02
|
||||
|
||||
* - 91
|
||||
- Osprey 540
|
||||
- 0070:ff04
|
||||
|
||||
* - 92
|
||||
- Osprey 2000
|
||||
- 0070:ff03
|
||||
|
||||
* - 93
|
||||
- IDS Eagle
|
||||
-
|
||||
|
||||
* - 94
|
||||
- Pinnacle PCTV Sat
|
||||
- 11bd:001c
|
||||
|
||||
* - 95
|
||||
- Formac ProTV II (bt878)
|
||||
-
|
||||
|
||||
* - 96
|
||||
- MachTV
|
||||
-
|
||||
|
||||
* - 97
|
||||
- Euresys Picolo
|
||||
-
|
||||
|
||||
* - 98
|
||||
- ProVideo PV150
|
||||
- aa00:1460, aa01:1461, aa02:1462, aa03:1463, aa04:1464, aa05:1465, aa06:1466, aa07:1467
|
||||
|
||||
* - 99
|
||||
- AD-TVK503
|
||||
-
|
||||
|
||||
* - 100
|
||||
- Hercules Smart TV Stereo
|
||||
-
|
||||
|
||||
* - 101
|
||||
- Pace TV & Radio Card
|
||||
-
|
||||
|
||||
* - 102
|
||||
- IVC-200
|
||||
- 0000:a155, 0001:a155, 0002:a155, 0003:a155, 0100:a155, 0101:a155, 0102:a155, 0103:a155, 0800:a155, 0801:a155, 0802:a155, 0803:a155
|
||||
|
||||
* - 103
|
||||
- Grand X-Guard / Trust 814PCI
|
||||
- 0304:0102
|
||||
|
||||
* - 104
|
||||
- Nebula Electronics DigiTV
|
||||
- 0071:0101
|
||||
|
||||
* - 105
|
||||
- ProVideo PV143
|
||||
- aa00:1430, aa00:1431, aa00:1432, aa00:1433, aa03:1433
|
||||
|
||||
* - 106
|
||||
- PHYTEC VD-009-X1 VD-011 MiniDIN (bt878)
|
||||
-
|
||||
|
||||
* - 107
|
||||
- PHYTEC VD-009-X1 VD-011 Combi (bt878)
|
||||
-
|
||||
|
||||
* - 108
|
||||
- PHYTEC VD-009 MiniDIN (bt878)
|
||||
-
|
||||
|
||||
* - 109
|
||||
- PHYTEC VD-009 Combi (bt878)
|
||||
-
|
||||
|
||||
* - 110
|
||||
- IVC-100
|
||||
- ff00:a132
|
||||
|
||||
* - 111
|
||||
- IVC-120G
|
||||
- ff00:a182, ff01:a182, ff02:a182, ff03:a182, ff04:a182, ff05:a182, ff06:a182, ff07:a182, ff08:a182, ff09:a182, ff0a:a182, ff0b:a182, ff0c:a182, ff0d:a182, ff0e:a182, ff0f:a182
|
||||
|
||||
* - 112
|
||||
- pcHDTV HD-2000 TV
|
||||
- 7063:2000
|
||||
|
||||
* - 113
|
||||
- Twinhan DST + clones
|
||||
- 11bd:0026, 1822:0001, 270f:fc00, 1822:0026
|
||||
|
||||
* - 114
|
||||
- Winfast VC100
|
||||
- 107d:6607
|
||||
|
||||
* - 115
|
||||
- Teppro TEV-560/InterVision IV-560
|
||||
-
|
||||
|
||||
* - 116
|
||||
- SIMUS GVC1100
|
||||
- aa6a:82b2
|
||||
|
||||
* - 117
|
||||
- NGS NGSTV+
|
||||
-
|
||||
|
||||
* - 118
|
||||
- LMLBT4
|
||||
-
|
||||
|
||||
* - 119
|
||||
- Tekram M205 PRO
|
||||
-
|
||||
|
||||
* - 120
|
||||
- Conceptronic CONTVFMi
|
||||
-
|
||||
|
||||
* - 121
|
||||
- Euresys Picolo Tetra
|
||||
- 1805:0105, 1805:0106, 1805:0107, 1805:0108
|
||||
|
||||
* - 122
|
||||
- Spirit TV Tuner
|
||||
-
|
||||
|
||||
* - 123
|
||||
- AVerMedia AVerTV DVB-T 771
|
||||
- 1461:0771
|
||||
|
||||
* - 124
|
||||
- AverMedia AverTV DVB-T 761
|
||||
- 1461:0761
|
||||
|
||||
* - 125
|
||||
- MATRIX Vision Sigma-SQ
|
||||
-
|
||||
|
||||
* - 126
|
||||
- MATRIX Vision Sigma-SLC
|
||||
-
|
||||
|
||||
* - 127
|
||||
- APAC Viewcomp 878(AMAX)
|
||||
-
|
||||
|
||||
* - 128
|
||||
- DViCO FusionHDTV DVB-T Lite
|
||||
- 18ac:db10, 18ac:db11
|
||||
|
||||
* - 129
|
||||
- V-Gear MyVCD
|
||||
-
|
||||
|
||||
* - 130
|
||||
- Super TV Tuner
|
||||
-
|
||||
|
||||
* - 131
|
||||
- Tibet Systems 'Progress DVR' CS16
|
||||
-
|
||||
|
||||
* - 132
|
||||
- Kodicom 4400R (master)
|
||||
-
|
||||
|
||||
* - 133
|
||||
- Kodicom 4400R (slave)
|
||||
-
|
||||
|
||||
* - 134
|
||||
- Adlink RTV24
|
||||
-
|
||||
|
||||
* - 135
|
||||
- DViCO FusionHDTV 5 Lite
|
||||
- 18ac:d500
|
||||
|
||||
* - 136
|
||||
- Acorp Y878F
|
||||
- 9511:1540
|
||||
|
||||
* - 137
|
||||
- Conceptronic CTVFMi v2
|
||||
- 036e:109e
|
||||
|
||||
* - 138
|
||||
- Prolink Pixelview PV-BT878P+ (Rev.2E)
|
||||
-
|
||||
|
||||
* - 139
|
||||
- Prolink PixelView PlayTV MPEG2 PV-M4900
|
||||
-
|
||||
|
||||
* - 140
|
||||
- Osprey 440
|
||||
- 0070:ff07
|
||||
|
||||
* - 141
|
||||
- Asound Skyeye PCTV
|
||||
-
|
||||
|
||||
* - 142
|
||||
- Sabrent TV-FM (bttv version)
|
||||
-
|
||||
|
||||
* - 143
|
||||
- Hauppauge ImpactVCB (bt878)
|
||||
- 0070:13eb
|
||||
|
||||
* - 144
|
||||
- MagicTV
|
||||
-
|
||||
|
||||
* - 145
|
||||
- SSAI Security Video Interface
|
||||
- 4149:5353
|
||||
|
||||
* - 146
|
||||
- SSAI Ultrasound Video Interface
|
||||
- 414a:5353
|
||||
|
||||
* - 147
|
||||
- VoodooTV 200 (USA)
|
||||
- 121a:3000
|
||||
|
||||
* - 148
|
||||
- DViCO FusionHDTV 2
|
||||
- dbc0:d200
|
||||
|
||||
* - 149
|
||||
- Typhoon TV-Tuner PCI (50684)
|
||||
-
|
||||
|
||||
* - 150
|
||||
- Geovision GV-600
|
||||
- 008a:763c
|
||||
|
||||
* - 151
|
||||
- Kozumi KTV-01C
|
||||
-
|
||||
|
||||
* - 152
|
||||
- Encore ENL TV-FM-2
|
||||
- 1000:1801
|
||||
|
||||
* - 153
|
||||
- PHYTEC VD-012 (bt878)
|
||||
-
|
||||
|
||||
* - 154
|
||||
- PHYTEC VD-012-X1 (bt878)
|
||||
-
|
||||
|
||||
* - 155
|
||||
- PHYTEC VD-012-X2 (bt878)
|
||||
-
|
||||
|
||||
* - 156
|
||||
- IVCE-8784
|
||||
- 0000:f050, 0001:f050, 0002:f050, 0003:f050
|
||||
|
||||
* - 157
|
||||
- Geovision GV-800(S) (master)
|
||||
- 800a:763d
|
||||
|
||||
* - 158
|
||||
- Geovision GV-800(S) (slave)
|
||||
- 800b:763d, 800c:763d, 800d:763d
|
||||
|
||||
* - 159
|
||||
- ProVideo PV183
|
||||
- 1830:1540, 1831:1540, 1832:1540, 1833:1540, 1834:1540, 1835:1540, 1836:1540, 1837:1540
|
||||
|
||||
* - 160
|
||||
- Tongwei Video Technology TD-3116
|
||||
- f200:3116
|
||||
|
||||
* - 161
|
||||
- Aposonic W-DVR
|
||||
- 0279:0228
|
||||
|
||||
* - 162
|
||||
- Adlink MPG24
|
||||
-
|
||||
|
||||
* - 163
|
||||
- Bt848 Capture 14MHz
|
||||
-
|
||||
|
||||
* - 164
|
||||
- CyberVision CV06 (SV)
|
||||
-
|
||||
|
||||
* - 165
|
||||
- Kworld V-Stream Xpert TV PVR878
|
||||
-
|
||||
|
||||
* - 166
|
||||
- PCI-8604PW
|
||||
-
|
1761
Documentation/admin-guide/media/bttv.rst
Normal file
1761
Documentation/admin-guide/media/bttv.rst
Normal file
File diff suppressed because it is too large
Load Diff
357
Documentation/admin-guide/media/building.rst
Normal file
357
Documentation/admin-guide/media/building.rst
Normal file
@ -0,0 +1,357 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
===================================
|
||||
Building support for a media device
|
||||
===================================
|
||||
|
||||
The first step is to download the Kernel's source code, either via a
|
||||
distribution-specific source file or via the Kernel's main git tree\ [1]_.
|
||||
|
||||
Please notice, however, that, if:
|
||||
|
||||
- you're a braveheart and want to experiment with new stuff;
|
||||
- if you want to report a bug;
|
||||
- if you're developing new patches
|
||||
|
||||
you should use the main media development tree ``master`` branch:
|
||||
|
||||
https://git.linuxtv.org/media_tree.git/
|
||||
|
||||
In this case, you may find some useful information at the
|
||||
`LinuxTv wiki pages <https://linuxtv.org/wiki>`_:
|
||||
|
||||
https://linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers
|
||||
|
||||
.. [1] The upstream Linux Kernel development tree is located at
|
||||
|
||||
https://git.kernel.org/pub/scm/li nux/kernel/git/torvalds/linux.git/
|
||||
|
||||
Configuring the Linux Kernel
|
||||
============================
|
||||
|
||||
You can access a menu of Kernel building options with::
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
Then, select all desired options and exit it, saving the configuration.
|
||||
|
||||
The changed configuration will be at the ``.config`` file. It would
|
||||
look like::
|
||||
|
||||
...
|
||||
# CONFIG_RC_CORE is not set
|
||||
# CONFIG_CEC_CORE is not set
|
||||
CONFIG_MEDIA_SUPPORT=m
|
||||
CONFIG_MEDIA_SUPPORT_FILTER=y
|
||||
...
|
||||
|
||||
The media subsystem is controlled by those menu configuration options::
|
||||
|
||||
Device Drivers --->
|
||||
<M> Remote Controller support --->
|
||||
[ ] HDMI CEC RC integration
|
||||
[ ] Enable CEC error injection support
|
||||
[*] HDMI CEC drivers --->
|
||||
<*> Multimedia support --->
|
||||
|
||||
The ``Remote Controller support`` option enables the core support for
|
||||
remote controllers\ [2]_.
|
||||
|
||||
The ``HDMI CEC RC integration`` option enables integration of HDMI CEC
|
||||
with Linux, allowing to receive data via HDMI CEC as if it were produced
|
||||
by a remote controller directly connected to the machine.
|
||||
|
||||
The ``HDMI CEC drivers`` option allow selecting platform and USB drivers
|
||||
that receives and/or transmits CEC codes via HDMI interfaces\ [3]_.
|
||||
|
||||
The last option (``Multimedia support``) enables support for cameras,
|
||||
audio/video grabbers and TV.
|
||||
|
||||
The media subsystem support can either be built together with the main
|
||||
Kernel or as a module. For most use cases, it is preferred to have it
|
||||
built as modules.
|
||||
|
||||
.. note::
|
||||
|
||||
Instead of using a menu, the Kernel provides a script with allows
|
||||
enabling configuration options directly. To enable media support
|
||||
and remote controller support using Kernel modules, you could use::
|
||||
|
||||
$ scripts/config -m RC_CORE
|
||||
$ scripts/config -m MEDIA_SUPPORT
|
||||
|
||||
.. [2] ``Remote Controller support`` should also be enabled if you
|
||||
want to use some TV card drivers that may depend on the remote
|
||||
controller core support.
|
||||
|
||||
.. [3] Please notice that the DRM subsystem also have drivers for GPUs
|
||||
that use the media HDMI CEC support.
|
||||
|
||||
Those GPU-specific drivers are selected via the ``Graphics support``
|
||||
menu, under ``Device Drivers``.
|
||||
|
||||
When a GPU driver supports supports HDMI CEC, it will automatically
|
||||
enable the CEC core support at the media subsystem.
|
||||
|
||||
Media dependencies
|
||||
------------------
|
||||
|
||||
It should be noticed that enabling the above from a clean config is
|
||||
usually not enough. The media subsystem depends on several other Linux
|
||||
core support in order to work.
|
||||
|
||||
For example, most media devices use a serial communication bus in
|
||||
order to talk with some peripherals. Such bus is called I²C
|
||||
(Inter-Integrated Circuit). In order to be able to build support
|
||||
for such hardware, the I²C bus support should be enabled, either via
|
||||
menu or with::
|
||||
|
||||
./scripts/config -m I2C
|
||||
|
||||
Another example: the remote controller core requires support for
|
||||
input devices, with can be enabled with::
|
||||
|
||||
./scripts/config -m INPUT
|
||||
|
||||
Other core functionality may also be needed (like PCI and/or USB support),
|
||||
depending on the specific driver(s) you would like to enable.
|
||||
|
||||
Enabling Remote Controller Support
|
||||
----------------------------------
|
||||
|
||||
The remote controller menu allows selecting drivers for specific devices.
|
||||
It's menu looks like this::
|
||||
|
||||
--- Remote Controller support
|
||||
<M> Compile Remote Controller keymap modules
|
||||
[*] LIRC user interface
|
||||
[*] Support for eBPF programs attached to lirc devices
|
||||
[*] Remote controller decoders --->
|
||||
[*] Remote Controller devices --->
|
||||
|
||||
The ``Compile Remote Controller keymap modules`` option creates key maps for
|
||||
several popular remote controllers.
|
||||
|
||||
The ``LIRC user interface`` option adds enhanced functionality when using the
|
||||
``lirc`` program, by enabling an API that allows userspace to receive raw data
|
||||
from remote controllers.
|
||||
|
||||
The ``Support for eBPF programs attached to lirc devices`` option allows
|
||||
the usage of special programs (called eBPF) that would allow aplications
|
||||
to add extra remote controller decoding functionality to the Linux Kernel.
|
||||
|
||||
The ``Remote controller decoders`` option allows selecting the
|
||||
protocols that will be recognized by the Linux Kernel. Except if you
|
||||
want to disable some specific decoder, it is suggested to keep all
|
||||
sub-options enabled.
|
||||
|
||||
The ``Remote Controller devices`` allows you to select the drivers
|
||||
that would be needed to support your device.
|
||||
|
||||
The same configuration can also be set via the ``script/config``
|
||||
script. So, for instance, in order to support the ITE remote controller
|
||||
driver (found on Intel NUCs and on some ASUS x86 desktops), you could do::
|
||||
|
||||
$ scripts/config -e INPUT
|
||||
$ scripts/config -e ACPI
|
||||
$ scripts/config -e MODULES
|
||||
$ scripts/config -m RC_CORE
|
||||
$ scripts/config -e RC_DEVICES
|
||||
$ scripts/config -e RC_DECODERS
|
||||
$ scripts/config -m IR_RC5_DECODER
|
||||
$ scripts/config -m IR_ITE_CIR
|
||||
|
||||
Enabling HDMI CEC Support
|
||||
-------------------------
|
||||
|
||||
The HDMI CEC support is set automatically when a driver requires it. So,
|
||||
all you need to do is to enable support either for a graphics card
|
||||
that needs it or by one of the existing HDMI drivers.
|
||||
|
||||
The HDMI-specific drivers are available at the ``HDMI CEC drivers``
|
||||
menu\ [4]_::
|
||||
|
||||
--- HDMI CEC drivers
|
||||
< > ChromeOS EC CEC driver
|
||||
< > Amlogic Meson AO CEC driver
|
||||
< > Amlogic Meson G12A AO CEC driver
|
||||
< > Generic GPIO-based CEC driver
|
||||
< > Samsung S5P CEC driver
|
||||
< > STMicroelectronics STiH4xx HDMI CEC driver
|
||||
< > STMicroelectronics STM32 HDMI CEC driver
|
||||
< > Tegra HDMI CEC driver
|
||||
< > SECO Boards HDMI CEC driver
|
||||
[ ] SECO Boards IR RC5 support
|
||||
< > Pulse Eight HDMI CEC
|
||||
< > RainShadow Tech HDMI CEC
|
||||
|
||||
.. [4] The above contents is just an example. The actual options for
|
||||
HDMI devices depends on the system's architecture and may vary
|
||||
on new Kernels.
|
||||
|
||||
Enabling Media Support
|
||||
----------------------
|
||||
|
||||
The Media menu has a lot more options than the remote controller menu.
|
||||
Once selected, you should see the following options::
|
||||
|
||||
--- Media support
|
||||
[ ] Filter media drivers
|
||||
[*] Autoselect ancillary drivers
|
||||
Media device types --->
|
||||
Media core support --->
|
||||
Video4Linux options --->
|
||||
Media controller options --->
|
||||
Digital TV options --->
|
||||
HDMI CEC options --->
|
||||
Media drivers --->
|
||||
Media ancillary drivers --->
|
||||
|
||||
Except if you know exactly what you're doing, or if you want to build
|
||||
a driver for a SoC platform, it is strongly recommended to keep the
|
||||
``Autoselect ancillary drivers`` option turned on, as it will auto-select
|
||||
the needed I²C ancillary drivers.
|
||||
|
||||
There are now two ways to select media device drivers, as described
|
||||
below.
|
||||
|
||||
``Filter media drivers`` menu
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
This menu is meant to easy setup for PC and Laptop hardware. It works
|
||||
by letting the user to specify what kind of media drivers are desired,
|
||||
with those options::
|
||||
|
||||
[ ] Cameras and video grabbers
|
||||
[ ] Analog TV
|
||||
[ ] Digital TV
|
||||
[ ] AM/FM radio receivers/transmitters
|
||||
[ ] Software defined radio
|
||||
[ ] Platform-specific devices
|
||||
[ ] Test drivers
|
||||
|
||||
So, if you want to add support to a camera or video grabber only,
|
||||
select just the first option. Multiple options are allowed.
|
||||
|
||||
Once the options on this menu are selected, the building system will
|
||||
auto-select the needed core drivers in order to support the selected
|
||||
functionality.
|
||||
|
||||
.. note::
|
||||
|
||||
Most TV cards are hybrid: they support both Analog TV and Digital TV.
|
||||
|
||||
If you have an hybrid card, you may need to enable both ``Analog TV``
|
||||
and ``Digital TV`` at the menu.
|
||||
|
||||
When using this option, the defaults for the the media support core
|
||||
functionality are usually good enough to provide the basic functionality
|
||||
for the driver. Yet, you could manually enable some desired extra (optional)
|
||||
functionality using the settings under each of the following
|
||||
``Media support`` sub-menus::
|
||||
|
||||
Media core support --->
|
||||
Video4Linux options --->
|
||||
Media controller options --->
|
||||
Digital TV options --->
|
||||
HDMI CEC options --->
|
||||
|
||||
Once you select the desired filters, the drivers that matches the filtering
|
||||
criteria will be available at the ``Media support->Media drivers`` sub-menu.
|
||||
|
||||
``Media Core Support`` menu without filtering
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
If you disable the ``Filter media drivers`` menu, all drivers available
|
||||
for your system whose dependencies are met should be shown at the
|
||||
``Media drivers`` menu.
|
||||
|
||||
Please notice, however, that you should first ensure that the
|
||||
``Media Core Support`` menu has all the core functionality your drivers
|
||||
would need, as otherwise the corresponding device drivers won't be shown.
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
In order to enable modular support for one of the boards listed on
|
||||
:doc:`this table <cx231xx-cardlist>`, with modular media core modules, the
|
||||
``.config`` file should contain those lines::
|
||||
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_INPUT=y
|
||||
CONFIG_RC_CORE=m
|
||||
CONFIG_MEDIA_SUPPORT=m
|
||||
CONFIG_MEDIA_SUPPORT_FILTER=y
|
||||
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
|
||||
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
|
||||
CONFIG_MEDIA_USB_SUPPORT=y
|
||||
CONFIG_VIDEO_CX231XX=y
|
||||
CONFIG_VIDEO_CX231XX_DVB=y
|
||||
|
||||
Building and installing a new Kernel
|
||||
====================================
|
||||
|
||||
Once the ``.config`` file has everything needed, all it takes to build
|
||||
is to run the ``make`` command::
|
||||
|
||||
$ make
|
||||
|
||||
And then install the new Kernel and its modules::
|
||||
|
||||
$ sudo make modules_install
|
||||
$ sudo make install
|
||||
|
||||
Building just the new media drivers and core
|
||||
============================================
|
||||
|
||||
Running a new development Kernel from the development tree is usually risky,
|
||||
because it may have experimental changes that may have bugs. So, there are
|
||||
some ways to build just the new drivers, using alternative trees.
|
||||
|
||||
There is the `Linux Kernel backports project
|
||||
<https://backports.wiki.kernel.org/index.php/Main_Page>`_, with contains
|
||||
newer drivers meant to be compiled against stable Kernels.
|
||||
|
||||
The LinuxTV developers, with are responsible for maintaining the media
|
||||
subsystem also maintains a backport tree, with just the media drivers
|
||||
daily updated from the newest kernel. Such tree is available at:
|
||||
|
||||
https://git.linuxtv.org/media_build.git/
|
||||
|
||||
It should be noticed that, while it should be relatively safe to use the
|
||||
``media_build`` tree for testing purposes, there are not warranties that
|
||||
it would work (or even build) on a random Kernel. This tree is maintained
|
||||
using a "best-efforts" principle, as time permits us to fix issues there.
|
||||
|
||||
If you notice anything wrong on it, feel free to submit patches at the
|
||||
Linux media subsystem's mailing list: media@vger.kernel.org. Please
|
||||
add ``[PATCH media-build]`` at the e-mail's subject if you submit a new
|
||||
patch for the media-build.
|
||||
|
||||
Before using it, you should run::
|
||||
|
||||
$ ./build
|
||||
|
||||
.. note::
|
||||
|
||||
1) you may need to run it twice if the ``media-build`` tree gets
|
||||
updated;
|
||||
2) you may need to do a ``make distclean`` if you had built it
|
||||
in the past for a different Kernel version than the one you're
|
||||
currently using;
|
||||
3) by default, it will use the same config options for media as
|
||||
the ones defined on the Kernel you're running.
|
||||
|
||||
In order to select different drivers or different config options,
|
||||
use::
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
Then, you can build and install the new drivers::
|
||||
|
||||
$ make && sudo make install
|
||||
|
||||
This will override the previous media drivers that your Kernel were
|
||||
using.
|
29
Documentation/admin-guide/media/cardlist.rst
Normal file
29
Documentation/admin-guide/media/cardlist.rst
Normal file
@ -0,0 +1,29 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
==========
|
||||
Cards List
|
||||
==========
|
||||
|
||||
The media subsystem provide support for lots of PCI and USB drivers, plus
|
||||
platform-specific drivers. It also contains several ancillary I²C drivers.
|
||||
|
||||
The platform-specific drivers are usually present on embedded systems,
|
||||
or are supported by the main board. Usually, setting them is done via
|
||||
OpenFirmware or ACPI.
|
||||
|
||||
The PCI and USB drivers, however, are independent of the system's board,
|
||||
and may be added/removed by the user.
|
||||
|
||||
You may also take a look at
|
||||
https://linuxtv.org/wiki/index.php/Hardware_Device_Information
|
||||
for more details about supported cards.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
usb-cardlist
|
||||
pci-cardlist
|
||||
platform-cardlist
|
||||
radio-cardlist
|
||||
i2c-cardlist
|
||||
misc-cardlist
|
10
Documentation/admin-guide/media/cec-drivers.rst
Normal file
10
Documentation/admin-guide/media/cec-drivers.rst
Normal file
@ -0,0 +1,10 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
=================================
|
||||
CEC driver-specific documentation
|
||||
=================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
pulse8-cec
|
77
Documentation/admin-guide/media/ci.rst
Normal file
77
Documentation/admin-guide/media/ci.rst
Normal file
@ -0,0 +1,77 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Digital TV Conditional Access Interface
|
||||
=======================================
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
This documentation is outdated.
|
||||
|
||||
This document describes the usage of the high level CI API as
|
||||
in accordance to the Linux DVB API. This is a not a documentation for the,
|
||||
existing low level CI API.
|
||||
|
||||
.. note::
|
||||
|
||||
For the Twinhan/Twinhan clones, the dst_ca module handles the CI
|
||||
hardware handling. This module is loaded automatically if a CI
|
||||
(Common Interface, that holds the CAM (Conditional Access Module)
|
||||
is detected.
|
||||
|
||||
ca_zap
|
||||
~~~~~~
|
||||
|
||||
A userspace application, like ``ca_zap`` is required to handle encrypted
|
||||
MPEG-TS streams.
|
||||
|
||||
The ``ca_zap`` userland application is in charge of sending the
|
||||
descrambling related information to the Conditional Access Module (CAM).
|
||||
|
||||
This application requires the following to function properly as of now.
|
||||
|
||||
a) Tune to a valid channel, with szap.
|
||||
|
||||
eg: $ szap -c channels.conf -r "TMC" -x
|
||||
|
||||
b) a channels.conf containing a valid PMT PID
|
||||
|
||||
eg: TMC:11996:h:0:27500:278:512:650:321
|
||||
|
||||
here 278 is a valid PMT PID. the rest of the values are the
|
||||
same ones that szap uses.
|
||||
|
||||
c) after running a szap, you have to run ca_zap, for the
|
||||
descrambler to function,
|
||||
|
||||
eg: $ ca_zap channels.conf "TMC"
|
||||
|
||||
d) Hopefully enjoy your favourite subscribed channel as you do with
|
||||
a FTA card.
|
||||
|
||||
.. note::
|
||||
|
||||
Currently ca_zap, and dst_test, both are meant for demonstration
|
||||
purposes only, they can become full fledged applications if necessary.
|
||||
|
||||
|
||||
Cards that fall in this category
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
At present the cards that fall in this category are the Twinhan and its
|
||||
clones, these cards are available as VVMER, Tomato, Hercules, Orange and
|
||||
so on.
|
||||
|
||||
CI modules that are supported
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The CI module support is largely dependent upon the firmware on the cards
|
||||
Some cards do support almost all of the available CI modules. There is
|
||||
nothing much that can be done in order to make additional CI modules
|
||||
working with these cards.
|
||||
|
||||
Modules that have been tested by this driver at present are
|
||||
|
||||
(1) Irdeto 1 and 2 from SCM
|
||||
(2) Viaccess from SCM
|
||||
(3) Dragoncam
|
145
Documentation/admin-guide/media/cpia2.rst
Normal file
145
Documentation/admin-guide/media/cpia2.rst
Normal file
@ -0,0 +1,145 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
The cpia2 driver
|
||||
================
|
||||
|
||||
Authors: Peter Pregler <Peter_Pregler@email.com>,
|
||||
Scott J. Bertin <scottbertin@yahoo.com>, and
|
||||
Jarl Totland <Jarl.Totland@bdc.no> for the original cpia driver, which
|
||||
this one was modelled from.
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
This is a driver for STMicroelectronics's CPiA2 (second generation
|
||||
Colour Processor Interface ASIC) based cameras. This camera outputs an MJPEG
|
||||
stream at up to vga size. It implements the Video4Linux interface as much as
|
||||
possible. Since the V4L interface does not support compressed formats, only
|
||||
an mjpeg enabled application can be used with the camera. We have modified the
|
||||
gqcam application to view this stream.
|
||||
|
||||
The driver is implemented as two kernel modules. The cpia2 module
|
||||
contains the camera functions and the V4L interface. The cpia2_usb module
|
||||
contains usb specific functions. The main reason for this was the size of the
|
||||
module was getting out of hand, so I separated them. It is not likely that
|
||||
there will be a parallel port version.
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
- Supports cameras with the Vision stv6410 (CIF) and stv6500 (VGA) cmos
|
||||
sensors. I only have the vga sensor, so can't test the other.
|
||||
- Image formats: VGA, QVGA, CIF, QCIF, and a number of sizes in between.
|
||||
VGA and QVGA are the native image sizes for the VGA camera. CIF is done
|
||||
in the coprocessor by scaling QVGA. All other sizes are done by clipping.
|
||||
- Palette: YCrCb, compressed with MJPEG.
|
||||
- Some compression parameters are settable.
|
||||
- Sensor framerate is adjustable (up to 30 fps CIF, 15 fps VGA).
|
||||
- Adjust brightness, color, contrast while streaming.
|
||||
- Flicker control settable for 50 or 60 Hz mains frequency.
|
||||
|
||||
Making and installing the stv672 driver modules
|
||||
-----------------------------------------------
|
||||
|
||||
Requirements
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Video4Linux must be either compiled into the kernel or
|
||||
available as a module. Video4Linux2 is automatically detected and made
|
||||
available at compile time.
|
||||
|
||||
Setup
|
||||
~~~~~
|
||||
|
||||
Use ``modprobe cpia2`` to load and ``modprobe -r cpia2`` to unload. This
|
||||
may be done automatically by your distribution.
|
||||
|
||||
Driver options
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
.. tabularcolumns:: |p{13ex}|L|
|
||||
|
||||
|
||||
============== ========================================================
|
||||
Option Description
|
||||
============== ========================================================
|
||||
video_nr video device to register (0=/dev/video0, etc)
|
||||
range -1 to 64. default is -1 (first available)
|
||||
If you have more than 1 camera, this MUST be -1.
|
||||
buffer_size Size for each frame buffer in bytes (default 68k)
|
||||
num_buffers Number of frame buffers (1-32, default 3)
|
||||
alternate USB Alternate (2-7, default 7)
|
||||
flicker_freq Frequency for flicker reduction(50 or 60, default 60)
|
||||
flicker_mode 0 to disable, or 1 to enable flicker reduction.
|
||||
(default 0). This is only effective if the camera
|
||||
uses a stv0672 coprocessor.
|
||||
============== ========================================================
|
||||
|
||||
Setting the options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If you are using modules, edit /etc/modules.conf and add an options
|
||||
line like this::
|
||||
|
||||
options cpia2 num_buffers=3 buffer_size=65535
|
||||
|
||||
If the driver is compiled into the kernel, at boot time specify them
|
||||
like this::
|
||||
|
||||
cpia2.num_buffers=3 cpia2.buffer_size=65535
|
||||
|
||||
What buffer size should I use?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The maximum image size depends on the alternate you choose, and the
|
||||
frame rate achieved by the camera. If the compression engine is able to
|
||||
keep up with the frame rate, the maximum image size is given by the table
|
||||
below.
|
||||
|
||||
The compression engine starts out at maximum compression, and will
|
||||
increase image quality until it is close to the size in the table. As long
|
||||
as the compression engine can keep up with the frame rate, after a short time
|
||||
the images will all be about the size in the table, regardless of resolution.
|
||||
|
||||
At low alternate settings, the compression engine may not be able to
|
||||
compress the image enough and will reduce the frame rate by producing larger
|
||||
images.
|
||||
|
||||
The default of 68k should be good for most users. This will handle
|
||||
any alternate at frame rates down to 15fps. For lower frame rates, it may
|
||||
be necessary to increase the buffer size to avoid having frames dropped due
|
||||
to insufficient space.
|
||||
|
||||
========== ========== ======== =====
|
||||
Alternate bytes/ms 15fps 30fps
|
||||
========== ========== ======== =====
|
||||
2 128 8533 4267
|
||||
3 384 25600 12800
|
||||
4 640 42667 21333
|
||||
5 768 51200 25600
|
||||
6 896 59733 29867
|
||||
7 1023 68200 34100
|
||||
========== ========== ======== =====
|
||||
|
||||
Table: Image size(bytes)
|
||||
|
||||
|
||||
How many buffers should I use?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
For normal streaming, 3 should give the best results. With only 2,
|
||||
it is possible for the camera to finish sending one image just after a
|
||||
program has started reading the other. If this happens, the driver must drop
|
||||
a frame. The exception to this is if you have a heavily loaded machine. In
|
||||
this case use 2 buffers. You are probably not reading at the full frame rate.
|
||||
If the camera can send multiple images before a read finishes, it could
|
||||
overwrite the third buffer before the read finishes, leading to a corrupt
|
||||
image. Single and double buffering have extra checks to avoid overwriting.
|
||||
|
||||
Using the camera
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
We are providing a modified gqcam application to view the output. In
|
||||
order to avoid confusion, here it is called mview. There is also the qx5view
|
||||
program which can also control the lights on the qx5 microscope. MJPEG Tools
|
||||
(http://mjpeg.sourceforge.net) can also be used to record from the camera.
|
17
Documentation/admin-guide/media/cx18-cardlist.rst
Normal file
17
Documentation/admin-guide/media/cx18-cardlist.rst
Normal file
@ -0,0 +1,17 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
CX18 cards list
|
||||
===============
|
||||
|
||||
Those cards are supported by cx18 driver:
|
||||
|
||||
- Hauppauge HVR-1600 (ESMT memory)
|
||||
- Hauppauge HVR-1600 (Samsung memory)
|
||||
- Compro VideoMate H900
|
||||
- Yuan MPC718 MiniPCI DVB-T/Analog
|
||||
- Conexant Raptor PAL/SECAM
|
||||
- Toshiba Qosmio DVB-T/Analog
|
||||
- Leadtek WinFast PVR2100
|
||||
- Leadtek WinFast DVR3100
|
||||
- GoTView PCI DVD3 Hybrid
|
||||
- Hauppauge HVR-1600 (s5h1411/tda18271)
|
99
Documentation/admin-guide/media/cx231xx-cardlist.rst
Normal file
99
Documentation/admin-guide/media/cx231xx-cardlist.rst
Normal file
@ -0,0 +1,99 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
cx231xx cards list
|
||||
==================
|
||||
|
||||
.. tabularcolumns:: |p{1.4cm}|p{10.0cm}|p{6.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 2 12 19
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- USB IDs
|
||||
* - 0
|
||||
- Unknown CX231xx video grabber
|
||||
- 0572:5A3C
|
||||
* - 1
|
||||
- Conexant Hybrid TV - CARRAERA
|
||||
- 0572:58A2
|
||||
* - 2
|
||||
- Conexant Hybrid TV - SHELBY
|
||||
- 0572:58A1
|
||||
* - 3
|
||||
- Conexant Hybrid TV - RDE253S
|
||||
- 0572:58A4
|
||||
* - 4
|
||||
- Conexant Hybrid TV - RDU253S
|
||||
- 0572:58A5
|
||||
* - 5
|
||||
- Conexant VIDEO GRABBER
|
||||
- 0572:58A6, 07ca:c039
|
||||
* - 6
|
||||
- Conexant Hybrid TV - rde 250
|
||||
- 0572:589E
|
||||
* - 7
|
||||
- Conexant Hybrid TV - RDU 250
|
||||
- 0572:58A0
|
||||
* - 8
|
||||
- Hauppauge EXETER
|
||||
- 2040:b120, 2040:b140
|
||||
* - 9
|
||||
- Hauppauge USB Live 2
|
||||
- 2040:c200
|
||||
* - 10
|
||||
- Pixelview PlayTV USB Hybrid
|
||||
- 4000:4001
|
||||
* - 11
|
||||
- Pixelview Xcapture USB
|
||||
- 1D19:6109, 4000:4001
|
||||
* - 12
|
||||
- Kworld UB430 USB Hybrid
|
||||
- 1b80:e424
|
||||
* - 13
|
||||
- Iconbit Analog Stick U100 FM
|
||||
- 1f4d:0237
|
||||
* - 14
|
||||
- Hauppauge WinTV USB2 FM (PAL)
|
||||
- 2040:b110
|
||||
* - 15
|
||||
- Hauppauge WinTV USB2 FM (NTSC)
|
||||
- 2040:b111
|
||||
* - 16
|
||||
- Elgato Video Capture V2
|
||||
- 0fd9:0037
|
||||
* - 17
|
||||
- Geniatech OTG102
|
||||
- 1f4d:0102
|
||||
* - 18
|
||||
- Kworld UB445 USB Hybrid
|
||||
- 1b80:e421
|
||||
* - 19
|
||||
- Hauppauge WinTV 930C-HD (1113xx) / HVR-900H (111xxx) / PCTV QuatroStick 521e
|
||||
- 2040:b130, 2040:b138, 2013:0259
|
||||
* - 20
|
||||
- Hauppauge WinTV 930C-HD (1114xx) / HVR-901H (1114xx) / PCTV QuatroStick 522e
|
||||
- 2040:b131, 2040:b139, 2013:025e
|
||||
* - 21
|
||||
- Hauppauge WinTV-HVR-955Q (111401)
|
||||
- 2040:b123, 2040:b124
|
||||
* - 22
|
||||
- Terratec Grabby
|
||||
- 1f4d:0102
|
||||
* - 23
|
||||
- Evromedia USB Full Hybrid Full HD
|
||||
- 1b80:d3b2
|
||||
* - 24
|
||||
- Astrometa T2hybrid
|
||||
- 15f4:0135
|
||||
* - 25
|
||||
- The Imaging Source DFG/USB2pro
|
||||
- 199e:8002
|
||||
* - 26
|
||||
- Hauppauge WinTV-HVR-935C
|
||||
- 2040:b151
|
||||
* - 27
|
||||
- Hauppauge WinTV-HVR-975
|
||||
- 2040:b150
|
267
Documentation/admin-guide/media/cx23885-cardlist.rst
Normal file
267
Documentation/admin-guide/media/cx23885-cardlist.rst
Normal file
@ -0,0 +1,267 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
cx23885 cards list
|
||||
==================
|
||||
|
||||
.. tabularcolumns:: |p{1.4cm}|p{11.1cm}|p{4.2cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 2 19 18
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- PCI subsystem IDs
|
||||
|
||||
* - 0
|
||||
- UNKNOWN/GENERIC
|
||||
- 0070:3400
|
||||
|
||||
* - 1
|
||||
- Hauppauge WinTV-HVR1800lp
|
||||
- 0070:7600
|
||||
|
||||
* - 2
|
||||
- Hauppauge WinTV-HVR1800
|
||||
- 0070:7800, 0070:7801, 0070:7809
|
||||
|
||||
* - 3
|
||||
- Hauppauge WinTV-HVR1250
|
||||
- 0070:7911
|
||||
|
||||
* - 4
|
||||
- DViCO FusionHDTV5 Express
|
||||
- 18ac:d500
|
||||
|
||||
* - 5
|
||||
- Hauppauge WinTV-HVR1500Q
|
||||
- 0070:7790, 0070:7797
|
||||
|
||||
* - 6
|
||||
- Hauppauge WinTV-HVR1500
|
||||
- 0070:7710, 0070:7717
|
||||
|
||||
* - 7
|
||||
- Hauppauge WinTV-HVR1200
|
||||
- 0070:71d1, 0070:71d3
|
||||
|
||||
* - 8
|
||||
- Hauppauge WinTV-HVR1700
|
||||
- 0070:8101
|
||||
|
||||
* - 9
|
||||
- Hauppauge WinTV-HVR1400
|
||||
- 0070:8010
|
||||
|
||||
* - 10
|
||||
- DViCO FusionHDTV7 Dual Express
|
||||
- 18ac:d618
|
||||
|
||||
* - 11
|
||||
- DViCO FusionHDTV DVB-T Dual Express
|
||||
- 18ac:db78
|
||||
|
||||
* - 12
|
||||
- Leadtek Winfast PxDVR3200 H
|
||||
- 107d:6681
|
||||
|
||||
* - 13
|
||||
- Compro VideoMate E650F
|
||||
- 185b:e800
|
||||
|
||||
* - 14
|
||||
- TurboSight TBS 6920
|
||||
- 6920:8888
|
||||
|
||||
* - 15
|
||||
- TeVii S470
|
||||
- d470:9022
|
||||
|
||||
* - 16
|
||||
- DVBWorld DVB-S2 2005
|
||||
- 0001:2005
|
||||
|
||||
* - 17
|
||||
- NetUP Dual DVB-S2 CI
|
||||
- 1b55:2a2c
|
||||
|
||||
* - 18
|
||||
- Hauppauge WinTV-HVR1270
|
||||
- 0070:2211
|
||||
|
||||
* - 19
|
||||
- Hauppauge WinTV-HVR1275
|
||||
- 0070:2215, 0070:221d, 0070:22f2
|
||||
|
||||
* - 20
|
||||
- Hauppauge WinTV-HVR1255
|
||||
- 0070:2251, 0070:22f1
|
||||
|
||||
* - 21
|
||||
- Hauppauge WinTV-HVR1210
|
||||
- 0070:2291, 0070:2295, 0070:2299, 0070:229d, 0070:22f0, 0070:22f3, 0070:22f4, 0070:22f5
|
||||
|
||||
* - 22
|
||||
- Mygica X8506 DMB-TH
|
||||
- 14f1:8651
|
||||
|
||||
* - 23
|
||||
- Magic-Pro ProHDTV Extreme 2
|
||||
- 14f1:8657
|
||||
|
||||
* - 24
|
||||
- Hauppauge WinTV-HVR1850
|
||||
- 0070:8541
|
||||
|
||||
* - 25
|
||||
- Compro VideoMate E800
|
||||
- 1858:e800
|
||||
|
||||
* - 26
|
||||
- Hauppauge WinTV-HVR1290
|
||||
- 0070:8551
|
||||
|
||||
* - 27
|
||||
- Mygica X8558 PRO DMB-TH
|
||||
- 14f1:8578
|
||||
|
||||
* - 28
|
||||
- LEADTEK WinFast PxTV1200
|
||||
- 107d:6f22
|
||||
|
||||
* - 29
|
||||
- GoTView X5 3D Hybrid
|
||||
- 5654:2390
|
||||
|
||||
* - 30
|
||||
- NetUP Dual DVB-T/C-CI RF
|
||||
- 1b55:e2e4
|
||||
|
||||
* - 31
|
||||
- Leadtek Winfast PxDVR3200 H XC4000
|
||||
- 107d:6f39
|
||||
|
||||
* - 32
|
||||
- MPX-885
|
||||
-
|
||||
|
||||
* - 33
|
||||
- Mygica X8502/X8507 ISDB-T
|
||||
- 14f1:8502
|
||||
|
||||
* - 34
|
||||
- TerraTec Cinergy T PCIe Dual
|
||||
- 153b:117e
|
||||
|
||||
* - 35
|
||||
- TeVii S471
|
||||
- d471:9022
|
||||
|
||||
* - 36
|
||||
- Hauppauge WinTV-HVR1255
|
||||
- 0070:2259
|
||||
|
||||
* - 37
|
||||
- Prof Revolution DVB-S2 8000
|
||||
- 8000:3034
|
||||
|
||||
* - 38
|
||||
- Hauppauge WinTV-HVR4400/HVR5500
|
||||
- 0070:c108, 0070:c138, 0070:c1f8
|
||||
|
||||
* - 39
|
||||
- AVerTV Hybrid Express Slim HC81R
|
||||
- 1461:d939
|
||||
|
||||
* - 40
|
||||
- TurboSight TBS 6981
|
||||
- 6981:8888
|
||||
|
||||
* - 41
|
||||
- TurboSight TBS 6980
|
||||
- 6980:8888
|
||||
|
||||
* - 42
|
||||
- Leadtek Winfast PxPVR2200
|
||||
- 107d:6f21
|
||||
|
||||
* - 43
|
||||
- Hauppauge ImpactVCB-e
|
||||
- 0070:7133, 0070:7137
|
||||
|
||||
* - 44
|
||||
- DViCO FusionHDTV DVB-T Dual Express2
|
||||
- 18ac:db98
|
||||
|
||||
* - 45
|
||||
- DVBSky T9580
|
||||
- 4254:9580
|
||||
|
||||
* - 46
|
||||
- DVBSky T980C
|
||||
- 4254:980c
|
||||
|
||||
* - 47
|
||||
- DVBSky S950C
|
||||
- 4254:950c
|
||||
|
||||
* - 48
|
||||
- Technotrend TT-budget CT2-4500 CI
|
||||
- 13c2:3013
|
||||
|
||||
* - 49
|
||||
- DVBSky S950
|
||||
- 4254:0950
|
||||
|
||||
* - 50
|
||||
- DVBSky S952
|
||||
- 4254:0952
|
||||
|
||||
* - 51
|
||||
- DVBSky T982
|
||||
- 4254:0982
|
||||
|
||||
* - 52
|
||||
- Hauppauge WinTV-HVR5525
|
||||
- 0070:f038
|
||||
|
||||
* - 53
|
||||
- Hauppauge WinTV Starburst
|
||||
- 0070:c12a
|
||||
|
||||
* - 54
|
||||
- ViewCast 260e
|
||||
- 1576:0260
|
||||
|
||||
* - 55
|
||||
- ViewCast 460e
|
||||
- 1576:0460
|
||||
|
||||
* - 56
|
||||
- Hauppauge WinTV-QuadHD-DVB
|
||||
- 0070:6a28, 0070:6b28
|
||||
|
||||
* - 57
|
||||
- Hauppauge WinTV-QuadHD-ATSC
|
||||
- 0070:6a18, 0070:6b18
|
||||
|
||||
* - 58
|
||||
- Hauppauge WinTV-HVR-1265(161111)
|
||||
- 0070:2a18
|
||||
|
||||
* - 59
|
||||
- Hauppauge WinTV-Starburst2
|
||||
- 0070:f02a
|
||||
|
||||
* - 60
|
||||
- Hauppauge WinTV-QuadHD-DVB(885)
|
||||
-
|
||||
|
||||
* - 61
|
||||
- Hauppauge WinTV-QuadHD-ATSC(885)
|
||||
-
|
||||
|
||||
* - 62
|
||||
- AVerMedia CE310B
|
||||
- 1461:3100
|
383
Documentation/admin-guide/media/cx88-cardlist.rst
Normal file
383
Documentation/admin-guide/media/cx88-cardlist.rst
Normal file
@ -0,0 +1,383 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
CX88 cards list
|
||||
===============
|
||||
|
||||
.. tabularcolumns:: |p{1.4cm}|p{11.1cm}|p{4.2cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 2 19 18
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- PCI subsystem IDs
|
||||
|
||||
* - 0
|
||||
- UNKNOWN/GENERIC
|
||||
-
|
||||
|
||||
* - 1
|
||||
- Hauppauge WinTV 34xxx models
|
||||
- 0070:3400, 0070:3401
|
||||
|
||||
* - 2
|
||||
- GDI Black Gold
|
||||
- 14c7:0106, 14c7:0107
|
||||
|
||||
* - 3
|
||||
- PixelView
|
||||
- 1554:4811
|
||||
|
||||
* - 4
|
||||
- ATI TV Wonder Pro
|
||||
- 1002:00f8, 1002:00f9
|
||||
|
||||
* - 5
|
||||
- Leadtek Winfast 2000XP Expert
|
||||
- 107d:6611, 107d:6613
|
||||
|
||||
* - 6
|
||||
- AverTV Studio 303 (M126)
|
||||
- 1461:000b
|
||||
|
||||
* - 7
|
||||
- MSI TV-@nywhere Master
|
||||
- 1462:8606
|
||||
|
||||
* - 8
|
||||
- Leadtek Winfast DV2000
|
||||
- 107d:6620, 107d:6621
|
||||
|
||||
* - 9
|
||||
- Leadtek PVR 2000
|
||||
- 107d:663b, 107d:663c, 107d:6632, 107d:6630, 107d:6638, 107d:6631, 107d:6637, 107d:663d
|
||||
|
||||
* - 10
|
||||
- IODATA GV-VCP3/PCI
|
||||
- 10fc:d003
|
||||
|
||||
* - 11
|
||||
- Prolink PlayTV PVR
|
||||
-
|
||||
|
||||
* - 12
|
||||
- ASUS PVR-416
|
||||
- 1043:4823, 1461:c111
|
||||
|
||||
* - 13
|
||||
- MSI TV-@nywhere
|
||||
-
|
||||
|
||||
* - 14
|
||||
- KWorld/VStream XPert DVB-T
|
||||
- 17de:08a6
|
||||
|
||||
* - 15
|
||||
- DViCO FusionHDTV DVB-T1
|
||||
- 18ac:db00
|
||||
|
||||
* - 16
|
||||
- KWorld LTV883RF
|
||||
-
|
||||
|
||||
* - 17
|
||||
- DViCO FusionHDTV 3 Gold-Q
|
||||
- 18ac:d810, 18ac:d800
|
||||
|
||||
* - 18
|
||||
- Hauppauge Nova-T DVB-T
|
||||
- 0070:9002, 0070:9001, 0070:9000
|
||||
|
||||
* - 19
|
||||
- Conexant DVB-T reference design
|
||||
- 14f1:0187
|
||||
|
||||
* - 20
|
||||
- Provideo PV259
|
||||
- 1540:2580
|
||||
|
||||
* - 21
|
||||
- DViCO FusionHDTV DVB-T Plus
|
||||
- 18ac:db10, 18ac:db11
|
||||
|
||||
* - 22
|
||||
- pcHDTV HD3000 HDTV
|
||||
- 7063:3000
|
||||
|
||||
* - 23
|
||||
- digitalnow DNTV Live! DVB-T
|
||||
- 17de:a8a6
|
||||
|
||||
* - 24
|
||||
- Hauppauge WinTV 28xxx (Roslyn) models
|
||||
- 0070:2801
|
||||
|
||||
* - 25
|
||||
- Digital-Logic MICROSPACE Entertainment Center (MEC)
|
||||
- 14f1:0342
|
||||
|
||||
* - 26
|
||||
- IODATA GV/BCTV7E
|
||||
- 10fc:d035
|
||||
|
||||
* - 27
|
||||
- PixelView PlayTV Ultra Pro (Stereo)
|
||||
-
|
||||
|
||||
* - 28
|
||||
- DViCO FusionHDTV 3 Gold-T
|
||||
- 18ac:d820
|
||||
|
||||
* - 29
|
||||
- ADS Tech Instant TV DVB-T PCI
|
||||
- 1421:0334
|
||||
|
||||
* - 30
|
||||
- TerraTec Cinergy 1400 DVB-T
|
||||
- 153b:1166
|
||||
|
||||
* - 31
|
||||
- DViCO FusionHDTV 5 Gold
|
||||
- 18ac:d500
|
||||
|
||||
* - 32
|
||||
- AverMedia UltraTV Media Center PCI 550
|
||||
- 1461:8011
|
||||
|
||||
* - 33
|
||||
- Kworld V-Stream Xpert DVD
|
||||
-
|
||||
|
||||
* - 34
|
||||
- ATI HDTV Wonder
|
||||
- 1002:a101
|
||||
|
||||
* - 35
|
||||
- WinFast DTV1000-T
|
||||
- 107d:665f
|
||||
|
||||
* - 36
|
||||
- AVerTV 303 (M126)
|
||||
- 1461:000a
|
||||
|
||||
* - 37
|
||||
- Hauppauge Nova-S-Plus DVB-S
|
||||
- 0070:9201, 0070:9202
|
||||
|
||||
* - 38
|
||||
- Hauppauge Nova-SE2 DVB-S
|
||||
- 0070:9200
|
||||
|
||||
* - 39
|
||||
- KWorld DVB-S 100
|
||||
- 17de:08b2, 1421:0341
|
||||
|
||||
* - 40
|
||||
- Hauppauge WinTV-HVR1100 DVB-T/Hybrid
|
||||
- 0070:9400, 0070:9402
|
||||
|
||||
* - 41
|
||||
- Hauppauge WinTV-HVR1100 DVB-T/Hybrid (Low Profile)
|
||||
- 0070:9800, 0070:9802
|
||||
|
||||
* - 42
|
||||
- digitalnow DNTV Live! DVB-T Pro
|
||||
- 1822:0025, 1822:0019
|
||||
|
||||
* - 43
|
||||
- KWorld/VStream XPert DVB-T with cx22702
|
||||
- 17de:08a1, 12ab:2300
|
||||
|
||||
* - 44
|
||||
- DViCO FusionHDTV DVB-T Dual Digital
|
||||
- 18ac:db50, 18ac:db54
|
||||
|
||||
* - 45
|
||||
- KWorld HardwareMpegTV XPert
|
||||
- 17de:0840, 1421:0305
|
||||
|
||||
* - 46
|
||||
- DViCO FusionHDTV DVB-T Hybrid
|
||||
- 18ac:db40, 18ac:db44
|
||||
|
||||
* - 47
|
||||
- pcHDTV HD5500 HDTV
|
||||
- 7063:5500
|
||||
|
||||
* - 48
|
||||
- Kworld MCE 200 Deluxe
|
||||
- 17de:0841
|
||||
|
||||
* - 49
|
||||
- PixelView PlayTV P7000
|
||||
- 1554:4813
|
||||
|
||||
* - 50
|
||||
- NPG Tech Real TV FM Top 10
|
||||
- 14f1:0842
|
||||
|
||||
* - 51
|
||||
- WinFast DTV2000 H
|
||||
- 107d:665e
|
||||
|
||||
* - 52
|
||||
- Geniatech DVB-S
|
||||
- 14f1:0084
|
||||
|
||||
* - 53
|
||||
- Hauppauge WinTV-HVR3000 TriMode Analog/DVB-S/DVB-T
|
||||
- 0070:1404, 0070:1400, 0070:1401, 0070:1402
|
||||
|
||||
* - 54
|
||||
- Norwood Micro TV Tuner
|
||||
-
|
||||
|
||||
* - 55
|
||||
- Shenzhen Tungsten Ages Tech TE-DTV-250 / Swann OEM
|
||||
- c180:c980
|
||||
|
||||
* - 56
|
||||
- Hauppauge WinTV-HVR1300 DVB-T/Hybrid MPEG Encoder
|
||||
- 0070:9600, 0070:9601, 0070:9602
|
||||
|
||||
* - 57
|
||||
- ADS Tech Instant Video PCI
|
||||
- 1421:0390
|
||||
|
||||
* - 58
|
||||
- Pinnacle PCTV HD 800i
|
||||
- 11bd:0051
|
||||
|
||||
* - 59
|
||||
- DViCO FusionHDTV 5 PCI nano
|
||||
- 18ac:d530
|
||||
|
||||
* - 60
|
||||
- Pinnacle Hybrid PCTV
|
||||
- 12ab:1788
|
||||
|
||||
* - 61
|
||||
- Leadtek TV2000 XP Global
|
||||
- 107d:6f18, 107d:6618, 107d:6619
|
||||
|
||||
* - 62
|
||||
- PowerColor RA330
|
||||
- 14f1:ea3d
|
||||
|
||||
* - 63
|
||||
- Geniatech X8000-MT DVBT
|
||||
- 14f1:8852
|
||||
|
||||
* - 64
|
||||
- DViCO FusionHDTV DVB-T PRO
|
||||
- 18ac:db30
|
||||
|
||||
* - 65
|
||||
- DViCO FusionHDTV 7 Gold
|
||||
- 18ac:d610
|
||||
|
||||
* - 66
|
||||
- Prolink Pixelview MPEG 8000GT
|
||||
- 1554:4935
|
||||
|
||||
* - 67
|
||||
- Kworld PlusTV HD PCI 120 (ATSC 120)
|
||||
- 17de:08c1
|
||||
|
||||
* - 68
|
||||
- Hauppauge WinTV-HVR4000 DVB-S/S2/T/Hybrid
|
||||
- 0070:6900, 0070:6904, 0070:6902
|
||||
|
||||
* - 69
|
||||
- Hauppauge WinTV-HVR4000(Lite) DVB-S/S2
|
||||
- 0070:6905, 0070:6906
|
||||
|
||||
* - 70
|
||||
- TeVii S460 DVB-S/S2
|
||||
- d460:9022
|
||||
|
||||
* - 71
|
||||
- Omicom SS4 DVB-S/S2 PCI
|
||||
- A044:2011
|
||||
|
||||
* - 72
|
||||
- TBS 8920 DVB-S/S2
|
||||
- 8920:8888
|
||||
|
||||
* - 73
|
||||
- TeVii S420 DVB-S
|
||||
- d420:9022
|
||||
|
||||
* - 74
|
||||
- Prolink Pixelview Global Extreme
|
||||
- 1554:4976
|
||||
|
||||
* - 75
|
||||
- PROF 7300 DVB-S/S2
|
||||
- B033:3033
|
||||
|
||||
* - 76
|
||||
- SATTRADE ST4200 DVB-S/S2
|
||||
- b200:4200
|
||||
|
||||
* - 77
|
||||
- TBS 8910 DVB-S
|
||||
- 8910:8888
|
||||
|
||||
* - 78
|
||||
- Prof 6200 DVB-S
|
||||
- b022:3022
|
||||
|
||||
* - 79
|
||||
- Terratec Cinergy HT PCI MKII
|
||||
- 153b:1177
|
||||
|
||||
* - 80
|
||||
- Hauppauge WinTV-IR Only
|
||||
- 0070:9290
|
||||
|
||||
* - 81
|
||||
- Leadtek WinFast DTV1800 Hybrid
|
||||
- 107d:6654
|
||||
|
||||
* - 82
|
||||
- WinFast DTV2000 H rev. J
|
||||
- 107d:6f2b
|
||||
|
||||
* - 83
|
||||
- Prof 7301 DVB-S/S2
|
||||
- b034:3034
|
||||
|
||||
* - 84
|
||||
- Samsung SMT 7020 DVB-S
|
||||
- 18ac:dc00, 18ac:dccd
|
||||
|
||||
* - 85
|
||||
- Twinhan VP-1027 DVB-S
|
||||
- 1822:0023
|
||||
|
||||
* - 86
|
||||
- TeVii S464 DVB-S/S2
|
||||
- d464:9022
|
||||
|
||||
* - 87
|
||||
- Leadtek WinFast DTV2000 H PLUS
|
||||
- 107d:6f42
|
||||
|
||||
* - 88
|
||||
- Leadtek WinFast DTV1800 H (XC4000)
|
||||
- 107d:6f38
|
||||
|
||||
* - 89
|
||||
- Leadtek TV2000 XP Global (SC4100)
|
||||
- 107d:6f36
|
||||
|
||||
* - 90
|
||||
- Leadtek TV2000 XP Global (XC4100)
|
||||
- 107d:6f43
|
||||
|
||||
* - 91
|
||||
- NotOnlyTV LV3H
|
||||
-
|
58
Documentation/admin-guide/media/cx88.rst
Normal file
58
Documentation/admin-guide/media/cx88.rst
Normal file
@ -0,0 +1,58 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
The cx88 driver
|
||||
===============
|
||||
|
||||
Author: Gerd Hoffmann
|
||||
|
||||
This is a v4l2 device driver for the cx2388x chip.
|
||||
|
||||
|
||||
Current status
|
||||
--------------
|
||||
|
||||
video
|
||||
- Works.
|
||||
- Overlay isn't supported.
|
||||
|
||||
audio
|
||||
- Works. The TV standard detection is made by the driver, as the
|
||||
hardware has bugs to auto-detect.
|
||||
- audio data dma (i.e. recording without loopback cable to the
|
||||
sound card) is supported via cx88-alsa.
|
||||
|
||||
vbi
|
||||
- Works.
|
||||
|
||||
|
||||
How to add support for new cards
|
||||
--------------------------------
|
||||
|
||||
The driver needs some config info for the TV cards. This stuff is in
|
||||
cx88-cards.c. If the driver doesn't work well you likely need a new
|
||||
entry for your card in that file. Check the kernel log (using dmesg)
|
||||
to see whenever the driver knows your card or not. There is a line
|
||||
like this one:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
cx8800[0]: subsystem: 0070:3400, board: Hauppauge WinTV \
|
||||
34xxx models [card=1,autodetected]
|
||||
|
||||
If your card is listed as "board: UNKNOWN/GENERIC" it is unknown to
|
||||
the driver. What to do then?
|
||||
|
||||
1) Try upgrading to the latest snapshot, maybe it has been added
|
||||
meanwhile.
|
||||
2) You can try to create a new entry yourself, have a look at
|
||||
cx88-cards.c. If that worked, mail me your changes as unified
|
||||
diff ("diff -u").
|
||||
3) Or you can mail me the config information. We need at least the
|
||||
following information to add the card:
|
||||
|
||||
- the PCI Subsystem ID ("0070:3400" from the line above,
|
||||
"lspci -v" output is fine too).
|
||||
- the tuner type used by the card. You can try to find one by
|
||||
trial-and-error using the tuner=<n> insmod option. If you
|
||||
know which one the card has you can also have a look at the
|
||||
list in CARDLIST.tuner
|
65
Documentation/admin-guide/media/davinci-vpbe.rst
Normal file
65
Documentation/admin-guide/media/davinci-vpbe.rst
Normal file
@ -0,0 +1,65 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
The VPBE V4L2 driver design
|
||||
===========================
|
||||
|
||||
Functional partitioning
|
||||
-----------------------
|
||||
|
||||
Consists of the following:
|
||||
|
||||
1. V4L2 display driver
|
||||
|
||||
Implements creation of video2 and video3 device nodes and
|
||||
provides v4l2 device interface to manage VID0 and VID1 layers.
|
||||
|
||||
2. Display controller
|
||||
|
||||
Loads up VENC, OSD and external encoders such as ths8200. It provides
|
||||
a set of API calls to V4L2 drivers to set the output/standards
|
||||
in the VENC or external sub devices. It also provides
|
||||
a device object to access the services from OSD subdevice
|
||||
using sub device ops. The connection of external encoders to VENC LCD
|
||||
controller port is done at init time based on default output and standard
|
||||
selection or at run time when application change the output through
|
||||
V4L2 IOCTLs.
|
||||
|
||||
When connected to an external encoder, vpbe controller is also responsible
|
||||
for setting up the interface between VENC and external encoders based on
|
||||
board specific settings (specified in board-xxx-evm.c). This allows
|
||||
interfacing external encoders such as ths8200. The setup_if_config()
|
||||
is implemented for this as well as configure_venc() (part of the next patch)
|
||||
API to set timings in VENC for a specific display resolution. As of this
|
||||
patch series, the interconnection and enabling and setting of the external
|
||||
encoders is not present, and would be a part of the next patch series.
|
||||
|
||||
3. VENC subdevice module
|
||||
|
||||
Responsible for setting outputs provided through internal DACs and also
|
||||
setting timings at LCD controller port when external encoders are connected
|
||||
at the port or LCD panel timings required. When external encoder/LCD panel
|
||||
is connected, the timings for a specific standard/preset is retrieved from
|
||||
the board specific table and the values are used to set the timings in
|
||||
venc using non-standard timing mode.
|
||||
|
||||
Support LCD Panel displays using the VENC. For example to support a Logic
|
||||
PD display, it requires setting up the LCD controller port with a set of
|
||||
timings for the resolution supported and setting the dot clock. So we could
|
||||
add the available outputs as a board specific entry (i.e add the "LogicPD"
|
||||
output name to board-xxx-evm.c). A table of timings for various LCDs
|
||||
supported can be maintained in the board specific setup file to support
|
||||
various LCD displays.As of this patch a basic driver is present, and this
|
||||
support for external encoders and displays forms a part of the next
|
||||
patch series.
|
||||
|
||||
4. OSD module
|
||||
|
||||
OSD module implements all OSD layer management and hardware specific
|
||||
features. The VPBE module interacts with the OSD for enabling and
|
||||
disabling appropriate features of the OSD.
|
||||
|
||||
Current status
|
||||
--------------
|
||||
|
||||
A fully functional working version of the V4L2 driver is available. This
|
||||
driver has been tested with NTSC and PAL standards and buffer streaming.
|
16
Documentation/admin-guide/media/dvb-drivers.rst
Normal file
16
Documentation/admin-guide/media/dvb-drivers.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
========================================
|
||||
Digital TV driver-specific documentation
|
||||
========================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
avermedia
|
||||
bt8xx
|
||||
lmedm04
|
||||
opera-firmware
|
||||
technisat
|
||||
ttusb-dec
|
||||
zr364xx
|
16
Documentation/admin-guide/media/dvb-usb-a800-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-a800-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-a800 cards list
|
||||
=======================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AVerMedia AverTV DVB-T USB 2.0 (A800)
|
||||
- 07ca:a800, 07ca:a801
|
20
Documentation/admin-guide/media/dvb-usb-af9005-cardlist.rst
Normal file
20
Documentation/admin-guide/media/dvb-usb-af9005-cardlist.rst
Normal file
@ -0,0 +1,20 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-af9005 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Afatech DVB-T USB1.1 stick
|
||||
- 15a4:9020
|
||||
* - Ansonic DVB-T USB1.1 stick
|
||||
- 10b9:6000
|
||||
* - TerraTec Cinergy T USB XE
|
||||
- 0ccd:0055
|
80
Documentation/admin-guide/media/dvb-usb-af9015-cardlist.rst
Normal file
80
Documentation/admin-guide/media/dvb-usb-af9015-cardlist.rst
Normal file
@ -0,0 +1,80 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-af9015 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AVerMedia A309
|
||||
- 07ca:a309
|
||||
* - AVerMedia AVerTV DVB-T Volar X
|
||||
- 07ca:a815
|
||||
* - Afatech AF9015 reference design
|
||||
- 15a4:9015, 15a4:9016
|
||||
* - AverMedia AVerTV Red HD+ (A850T)
|
||||
- 07ca:850b
|
||||
* - AverMedia AVerTV Volar Black HD (A850)
|
||||
- 07ca:850a
|
||||
* - AverMedia AVerTV Volar GPS 805 (A805)
|
||||
- 07ca:a805
|
||||
* - AverMedia AVerTV Volar M (A815Mac)
|
||||
- 07ca:815a
|
||||
* - Conceptronic USB2.0 DVB-T CTVDIGRCU V3.0
|
||||
- 1b80:e397
|
||||
* - DigitalNow TinyTwin
|
||||
- 13d3:3226
|
||||
* - DigitalNow TinyTwin v2
|
||||
- 1b80:e402
|
||||
* - DigitalNow TinyTwin v3
|
||||
- 1f4d:9016
|
||||
* - Fujitsu-Siemens Slim Mobile USB DVB-T
|
||||
- 07ca:8150
|
||||
* - Genius TVGo DVB-T03
|
||||
- 0458:4012
|
||||
* - KWorld Digital MC-810
|
||||
- 1b80:c810
|
||||
* - KWorld PlusTV DVB-T PCI Pro Card (DVB-T PC160-T)
|
||||
- 1b80:c161
|
||||
* - KWorld PlusTV Dual DVB-T PCI (DVB-T PC160-2T)
|
||||
- 1b80:c160
|
||||
* - KWorld PlusTV Dual DVB-T Stick (DVB-T 399U)
|
||||
- 1b80:e399, 1b80:e400
|
||||
* - KWorld USB DVB-T Stick Mobile (UB383-T)
|
||||
- 1b80:e383
|
||||
* - KWorld USB DVB-T TV Stick II (VS-DVB-T 395U)
|
||||
- 1b80:e396, 1b80:e39b, 1b80:e395, 1b80:e39a
|
||||
* - Leadtek WinFast DTV Dongle Gold
|
||||
- 0413:6029
|
||||
* - Leadtek WinFast DTV2000DS
|
||||
- 0413:6a04
|
||||
* - MSI DIGIVOX Duo
|
||||
- 1462:8801
|
||||
* - MSI Digi VOX mini III
|
||||
- 1462:8807
|
||||
* - Pinnacle PCTV 71e
|
||||
- 2304:022b
|
||||
* - Sveon STV20 Tuner USB DVB-T HDTV
|
||||
- 1b80:e39d
|
||||
* - Sveon STV22 Dual USB DVB-T Tuner HDTV
|
||||
- 1b80:e401
|
||||
* - Telestar Starstick 2
|
||||
- 10b9:8000
|
||||
* - TerraTec Cinergy T Stick Dual RC
|
||||
- 0ccd:0099
|
||||
* - TerraTec Cinergy T Stick RC
|
||||
- 0ccd:0097
|
||||
* - TerraTec Cinergy T USB XE
|
||||
- 0ccd:0069
|
||||
* - TrekStor DVB-T USB Stick
|
||||
- 15a4:901b
|
||||
* - TwinHan AzureWave AD-TU700(704J)
|
||||
- 13d3:3237
|
||||
* - Xtensions XD-380
|
||||
- 1ae7:0381
|
74
Documentation/admin-guide/media/dvb-usb-af9035-cardlist.rst
Normal file
74
Documentation/admin-guide/media/dvb-usb-af9035-cardlist.rst
Normal file
@ -0,0 +1,74 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-af9035 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AVerMedia AVerTV Volar HD/PRO (A835)
|
||||
- 07ca:a835, 07ca:b835
|
||||
* - AVerMedia HD Volar (A867)
|
||||
- 07ca:1867, 07ca:a867, 07ca:0337
|
||||
* - AVerMedia TD310 DVB-T2
|
||||
- 07ca:1871
|
||||
* - AVerMedia Twinstar (A825)
|
||||
- 07ca:0825
|
||||
* - Afatech AF9035 reference design
|
||||
- 15a4:9035, 15a4:1000, 15a4:1001, 15a4:1002, 15a4:1003
|
||||
* - Asus U3100Mini Plus
|
||||
- 0b05:1779
|
||||
* - Avermedia A835B(1835)
|
||||
- 07ca:1835
|
||||
* - Avermedia A835B(2835)
|
||||
- 07ca:2835
|
||||
* - Avermedia A835B(3835)
|
||||
- 07ca:3835
|
||||
* - Avermedia A835B(4835)
|
||||
- 07ca:4835
|
||||
* - Avermedia AverTV Volar HD 2 (TD110)
|
||||
- 07ca:a110
|
||||
* - Avermedia H335
|
||||
- 07ca:0335
|
||||
* - Digital Dual TV Receiver CTVDIGDUAL_V2
|
||||
- 1b80:e410
|
||||
* - EVOLVEO XtraTV stick
|
||||
- 1f4d:a115
|
||||
* - Hauppauge WinTV-MiniStick 2
|
||||
- 2040:f900
|
||||
* - ITE 9135 Generic
|
||||
- 048d:9135
|
||||
* - ITE 9135(9005) Generic
|
||||
- 048d:9005
|
||||
* - ITE 9135(9006) Generic
|
||||
- 048d:9006
|
||||
* - ITE 9303 Generic
|
||||
- 048d:9306
|
||||
* - Kworld UB499-2T T09
|
||||
- 1b80:e409
|
||||
* - Leadtek WinFast DTV Dongle Dual
|
||||
- 0413:6a05
|
||||
* - Logilink VG0022A
|
||||
- 1d19:0100
|
||||
* - PCTV AndroiDTV (78e)
|
||||
- 2013:025a
|
||||
* - PCTV microStick (79e)
|
||||
- 2013:0262
|
||||
* - Sveon STV22 Dual DVB-T HDTV
|
||||
- 1b80:e411
|
||||
* - TerraTec Cinergy T Stick
|
||||
- 0ccd:0093
|
||||
* - TerraTec Cinergy T Stick (rev. 2)
|
||||
- 0ccd:00aa
|
||||
* - TerraTec Cinergy T Stick Dual RC (rev. 2)
|
||||
- 0ccd:0099
|
||||
* - TerraTec Cinergy TC2 Stick
|
||||
- 0ccd:10b2
|
||||
* - TerraTec T1
|
||||
- 0ccd:10ae
|
16
Documentation/admin-guide/media/dvb-usb-anysee-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-anysee-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-anysee cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Anysee
|
||||
- 04b4:861f, 1c73:861f
|
16
Documentation/admin-guide/media/dvb-usb-au6610-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-au6610-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-au6610 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Sigmatek DVB-110
|
||||
- 058f:6610
|
20
Documentation/admin-guide/media/dvb-usb-az6007-cardlist.rst
Normal file
20
Documentation/admin-guide/media/dvb-usb-az6007-cardlist.rst
Normal file
@ -0,0 +1,20 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-az6007 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Azurewave 6007
|
||||
- 13d3:0ccd
|
||||
* - Technisat CableStar Combo HD CI
|
||||
- 14f7:0003
|
||||
* - Terratec H7
|
||||
- 0ccd:10b4, 0ccd:10a3
|
24
Documentation/admin-guide/media/dvb-usb-az6027-cardlist.rst
Normal file
24
Documentation/admin-guide/media/dvb-usb-az6027-cardlist.rst
Normal file
@ -0,0 +1,24 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-az6027 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AZUREWAVE DVB-S/S2 USB2.0 (AZ6027)
|
||||
- 13d3:3275
|
||||
* - Elgato EyeTV Sat
|
||||
- 0fd9:002a, 0fd9:0025, 0fd9:0036
|
||||
* - TERRATEC S7
|
||||
- 0ccd:10a4
|
||||
* - TERRATEC S7 MKII
|
||||
- 0ccd:10ac
|
||||
* - Technisat SkyStar USB 2 HD CI
|
||||
- 14f7:0001, 14f7:0002
|
18
Documentation/admin-guide/media/dvb-usb-ce6230-cardlist.rst
Normal file
18
Documentation/admin-guide/media/dvb-usb-ce6230-cardlist.rst
Normal file
@ -0,0 +1,18 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-ce6230 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AVerMedia A310 USB 2.0 DVB-T tuner
|
||||
- 07ca:a310
|
||||
* - Intel CE9500 reference design
|
||||
- 8086:9500
|
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-cinergyT2 cards list
|
||||
============================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - TerraTec/qanu USB2.0 Highspeed DVB-T Receiver
|
||||
- 0ccd:0x0038
|
40
Documentation/admin-guide/media/dvb-usb-cxusb-cardlist.rst
Normal file
40
Documentation/admin-guide/media/dvb-usb-cxusb-cardlist.rst
Normal file
@ -0,0 +1,40 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-cxusb cards list
|
||||
========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AVerMedia AVerTVHD Volar (A868R)
|
||||
-
|
||||
* - Conexant DMB-TH Stick
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T Dual Digital 2
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T Dual Digital 4
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T Dual Digital 4 (rev 2)
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T Dual USB
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T NANO2
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T USB (LGZ201)
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T USB (TH7579)
|
||||
-
|
||||
* - DViCO FusionHDTV5 USB Gold
|
||||
-
|
||||
* - DigitalNow DVB-T Dual USB
|
||||
-
|
||||
* - Medion MD95700 (MDUSBTV-HYBRID)
|
||||
-
|
||||
* - Mygica D689 DMB-TH
|
||||
-
|
162
Documentation/admin-guide/media/dvb-usb-dib0700-cardlist.rst
Normal file
162
Documentation/admin-guide/media/dvb-usb-dib0700-cardlist.rst
Normal file
@ -0,0 +1,162 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dib0700 cards list
|
||||
==========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - ASUS My Cinema U3000 Mini DVBT Tuner
|
||||
- 0b05:171f
|
||||
* - ASUS My Cinema U3100 Mini DVBT Tuner
|
||||
- 0b05:173f
|
||||
* - AVerMedia AVerTV DVB-T Express
|
||||
- 07ca:b568
|
||||
* - AVerMedia AVerTV DVB-T Volar
|
||||
- 07ca:a807, 07ca:b808
|
||||
* - Artec T14BR DVB-T
|
||||
- 05d8:810f
|
||||
* - Asus My Cinema-U3000Hybrid
|
||||
- 0b05:1736
|
||||
* - Compro Videomate U500
|
||||
- 185b:1e78, 185b:1e80
|
||||
* - DiBcom NIM7090 reference design
|
||||
- 10b8:1bb2
|
||||
* - DiBcom NIM8096MD reference design
|
||||
- 10b8:1fa8
|
||||
* - DiBcom NIM9090MD reference design
|
||||
- 10b8:2384
|
||||
* - DiBcom STK7070P reference design
|
||||
- 10b8:1ebc
|
||||
* - DiBcom STK7070PD reference design
|
||||
- 10b8:1ebe
|
||||
* - DiBcom STK7700D reference design
|
||||
- 10b8:1ef0
|
||||
* - DiBcom STK7700P reference design
|
||||
- 10b8:1e14, 10b8:1e78
|
||||
* - DiBcom STK7770P reference design
|
||||
- 10b8:1e80
|
||||
* - DiBcom STK807xP reference design
|
||||
- 10b8:1f90
|
||||
* - DiBcom STK807xPVR reference design
|
||||
- 10b8:1f98
|
||||
* - DiBcom STK8096-PVR reference design
|
||||
- 2013:1faa, 10b8:1faa
|
||||
* - DiBcom STK8096GP reference design
|
||||
- 10b8:1fa0
|
||||
* - DiBcom STK9090M reference design
|
||||
- 10b8:2383
|
||||
* - DiBcom TFE7090PVR reference design
|
||||
- 10b8:1bb4
|
||||
* - DiBcom TFE7790P reference design
|
||||
- 10b8:1e6e
|
||||
* - DiBcom TFE8096P reference design
|
||||
- 10b8:1f9C
|
||||
* - Elgato EyeTV DTT
|
||||
- 0fd9:0021
|
||||
* - Elgato EyeTV DTT rev. 2
|
||||
- 0fd9:003f
|
||||
* - Elgato EyeTV Diversity
|
||||
- 0fd9:0011
|
||||
* - Elgato EyeTV Dtt Dlx PD378S
|
||||
- 0fd9:0020
|
||||
* - EvolutePC TVWay+
|
||||
- 1e59:0002
|
||||
* - Gigabyte U7000
|
||||
- 1044:7001
|
||||
* - Gigabyte U8000-RH
|
||||
- 1044:7002
|
||||
* - Hama DVB=T Hybrid USB Stick
|
||||
- 147f:2758
|
||||
* - Hauppauge ATSC MiniCard (B200)
|
||||
- 2040:b200
|
||||
* - Hauppauge ATSC MiniCard (B210)
|
||||
- 2040:b210
|
||||
* - Hauppauge Nova-T 500 Dual DVB-T
|
||||
- 2040:9941, 2040:9950
|
||||
* - Hauppauge Nova-T MyTV.t
|
||||
- 2040:7080
|
||||
* - Hauppauge Nova-T Stick
|
||||
- 2040:7050, 2040:7060, 2040:7070
|
||||
* - Hauppauge Nova-TD Stick (52009)
|
||||
- 2040:5200
|
||||
* - Hauppauge Nova-TD Stick/Elgato Eye-TV Diversity
|
||||
- 2040:9580
|
||||
* - Hauppauge Nova-TD-500 (84xxx)
|
||||
- 2040:8400
|
||||
* - Leadtek WinFast DTV Dongle H
|
||||
- 0413:60f6
|
||||
* - Leadtek Winfast DTV Dongle (STK7700P based)
|
||||
- 0413:6f00, 0413:6f01
|
||||
* - Medion CTX1921 DVB-T USB
|
||||
- 1660:1921
|
||||
* - Microsoft Xbox One Digital TV Tuner
|
||||
- 045e:02d5
|
||||
* - PCTV 2002e
|
||||
- 2013:025c
|
||||
* - PCTV 2002e SE
|
||||
- 2013:025d
|
||||
* - Pinnacle Expresscard 320cx
|
||||
- 2304:022e
|
||||
* - Pinnacle PCTV 2000e
|
||||
- 2304:022c
|
||||
* - Pinnacle PCTV 282e
|
||||
- 2013:0248, 2304:0248
|
||||
* - Pinnacle PCTV 340e HD Pro USB Stick
|
||||
- 2304:023d
|
||||
* - Pinnacle PCTV 72e
|
||||
- 2304:0236
|
||||
* - Pinnacle PCTV 73A
|
||||
- 2304:0243
|
||||
* - Pinnacle PCTV 73e
|
||||
- 2304:0237
|
||||
* - Pinnacle PCTV 73e SE
|
||||
- 2013:0245, 2304:0245
|
||||
* - Pinnacle PCTV DVB-T Flash Stick
|
||||
- 2304:0228
|
||||
* - Pinnacle PCTV Dual DVB-T Diversity Stick
|
||||
- 2304:0229
|
||||
* - Pinnacle PCTV HD Pro USB Stick
|
||||
- 2304:023a
|
||||
* - Pinnacle PCTV HD USB Stick
|
||||
- 2304:023b
|
||||
* - Pinnacle PCTV Hybrid Stick Solo
|
||||
- 2304:023e
|
||||
* - Prolink Pixelview SBTVD
|
||||
- 1554:5010
|
||||
* - Sony PlayTV
|
||||
- 1415:0003
|
||||
* - TechniSat AirStar TeleStick 2
|
||||
- 14f7:0004
|
||||
* - Terratec Cinergy DT USB XS Diversity/ T5
|
||||
- 0ccd:0081, 0ccd:10a1
|
||||
* - Terratec Cinergy DT XS Diversity
|
||||
- 0ccd:005a
|
||||
* - Terratec Cinergy HT Express
|
||||
- 0ccd:0060
|
||||
* - Terratec Cinergy HT USB XE
|
||||
- 0ccd:0058
|
||||
* - Terratec Cinergy T Express
|
||||
- 0ccd:0062
|
||||
* - Terratec Cinergy T USB XXS (HD)/ T3
|
||||
- 0ccd:0078, 0ccd:10a0, 0ccd:00ab
|
||||
* - Uniwill STK7700P based (Hama and others)
|
||||
- 1584:6003
|
||||
* - YUAN High-Tech DiBcom STK7700D
|
||||
- 1164:1e8c
|
||||
* - YUAN High-Tech MC770
|
||||
- 1164:0871
|
||||
* - YUAN High-Tech STK7700D
|
||||
- 1164:1efc
|
||||
* - YUAN High-Tech STK7700PH
|
||||
- 1164:1f08
|
||||
* - Yuan EC372S
|
||||
- 1164:1edc
|
||||
* - Yuan PD378S
|
||||
- 1164:2edc
|
@ -0,0 +1,42 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dibusb-mb cards list
|
||||
============================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AVerMedia AverTV DVBT USB1.1
|
||||
- 14aa:0001, 14aa:0002
|
||||
* - Artec T1 USB1.1 TVBOX with AN2135
|
||||
- 05d8:8105, 05d8:8106
|
||||
* - Artec T1 USB1.1 TVBOX with AN2235
|
||||
- 05d8:8107, 05d8:8108
|
||||
* - Artec T1 USB1.1 TVBOX with AN2235 (faulty USB IDs)
|
||||
- 0547:2235
|
||||
* - Artec T1 USB2.0
|
||||
- 05d8:8109, 05d8:810a
|
||||
* - Compro Videomate DVB-U2000 - DVB-T USB1.1 (please confirm to linux-dvb)
|
||||
- 185b:d000, 145f:010c, 185b:d001
|
||||
* - DiBcom USB1.1 DVB-T reference design (MOD3000)
|
||||
- 10b8:0bb8, 10b8:0bb9
|
||||
* - Grandtec USB1.1 DVB-T
|
||||
- 5032:0fa0, 5032:0bb8, 5032:0fa1, 5032:0bb9
|
||||
* - KWorld V-Stream XPERT DTV - DVB-T USB1.1
|
||||
- eb1a:17de, eb1a:17df
|
||||
* - KWorld Xpert DVB-T USB2.0
|
||||
- eb2a:17de
|
||||
* - KWorld/ADSTech Instant DVB-T USB2.0
|
||||
- 06e1:a333, 06e1:a334
|
||||
* - TwinhanDTV USB-Ter USB1.1 / Magic Box I / HAMA USB1.1 DVB-T device
|
||||
- 13d3:3201, 1822:3201, 13d3:3202, 1822:3202
|
||||
* - Unknown USB1.1 DVB-T device ???? please report the name to the author
|
||||
- 1025:005e, 1025:005f
|
||||
* - VideoWalker DVB-T USB
|
||||
- 0458:701e, 0458:701f
|
@ -0,0 +1,30 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dibusb-mc cards list
|
||||
============================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Artec T1 USB2.0 TVBOX (please check the warm ID)
|
||||
- 05d8:8109, 05d8:810a
|
||||
* - Artec T14 - USB2.0 DVB-T
|
||||
- 05d8:810b, 05d8:810c
|
||||
* - DiBcom USB2.0 DVB-T reference design (MOD3000P)
|
||||
- 10b8:0bc6, 10b8:0bc7
|
||||
* - GRAND - USB2.0 DVB-T adapter
|
||||
- 5032:0bc6, 5032:0bc7
|
||||
* - Humax/Coex DVB-T USB Stick 2.0 High Speed
|
||||
- 10b9:5000, 10b9:5001
|
||||
* - LITE-ON USB2.0 DVB-T Tuner
|
||||
- 04ca:f000, 04ca:f001
|
||||
* - Leadtek - USB2.0 Winfast DTV dongle
|
||||
- 0413:6025, 0413:6026
|
||||
* - MSI Digivox Mini SL
|
||||
- eb1a:e360, eb1a:e361
|
16
Documentation/admin-guide/media/dvb-usb-digitv-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-digitv-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-digitv cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Nebula Electronics uDigiTV DVB-T USB2.0)
|
||||
- 0547:0201
|
22
Documentation/admin-guide/media/dvb-usb-dtt200u-cardlist.rst
Normal file
22
Documentation/admin-guide/media/dvb-usb-dtt200u-cardlist.rst
Normal file
@ -0,0 +1,22 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dtt200u cards list
|
||||
==========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - WideView WT-220U PenType Receiver (Miglia)
|
||||
- 18f3:0220
|
||||
* - WideView WT-220U PenType Receiver (Typhoon/Freecom)
|
||||
- 14aa:0222, 14aa:0220, 14aa:0221, 14aa:0225, 14aa:0226
|
||||
* - WideView WT-220U PenType Receiver (based on ZL353)
|
||||
- 14aa:022a, 14aa:022b
|
||||
* - WideView/Yuan/Yakumo/Hama/Typhoon DVB-T USB2.0 (WT-200U)
|
||||
- 14aa:0201, 14aa:0301
|
16
Documentation/admin-guide/media/dvb-usb-dtv5100-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-dtv5100-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dtv5100 cards list
|
||||
==========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AME DTV-5100 USB2.0 DVB-T
|
||||
- 0x06be:0xa232
|
42
Documentation/admin-guide/media/dvb-usb-dvbsky-cardlist.rst
Normal file
42
Documentation/admin-guide/media/dvb-usb-dvbsky-cardlist.rst
Normal file
@ -0,0 +1,42 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dvbsky cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - DVBSky S960/S860
|
||||
- 0572:6831
|
||||
* - DVBSky S960CI
|
||||
- 0572:960c
|
||||
* - DVBSky T330
|
||||
- 0572:0320
|
||||
* - DVBSky T680CI
|
||||
- 0572:680c
|
||||
* - MyGica Mini DVB-T2 USB Stick T230
|
||||
- 0572:c688
|
||||
* - MyGica Mini DVB-T2 USB Stick T230C
|
||||
- 0572:c689
|
||||
* - MyGica Mini DVB-T2 USB Stick T230C Lite
|
||||
- 0572:c699
|
||||
* - MyGica Mini DVB-T2 USB Stick T230C v2
|
||||
- 0572:c68a
|
||||
* - TechnoTrend TT-connect CT2-4650 CI
|
||||
- 0b48:3012
|
||||
* - TechnoTrend TT-connect CT2-4650 CI v1.1
|
||||
- 0b48:3015
|
||||
* - TechnoTrend TT-connect S2-4650 CI
|
||||
- 0b48:3017
|
||||
* - TechnoTrend TVStick CT2-4400
|
||||
- 0b48:3014
|
||||
* - Terratec Cinergy S2 Rev.4
|
||||
- 0ccd:0105
|
||||
* - Terratec H7 Rev.4
|
||||
- 0ccd:10a5
|
52
Documentation/admin-guide/media/dvb-usb-dw2102-cardlist.rst
Normal file
52
Documentation/admin-guide/media/dvb-usb-dw2102-cardlist.rst
Normal file
@ -0,0 +1,52 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dw2102 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - DVBWorld DVB-C 3101 USB2.0
|
||||
- 04b4:3101
|
||||
* - DVBWorld DVB-S 2101 USB2.0
|
||||
- 04b4:0x2101
|
||||
* - DVBWorld DVB-S 2102 USB2.0
|
||||
- 04b4:2102
|
||||
* - DVBWorld DW2104 USB2.0
|
||||
- 04b4:2104
|
||||
* - GOTVIEW Satellite HD
|
||||
- 0x1FE1:5456
|
||||
* - Geniatech T220 DVB-T/T2 USB2.0
|
||||
- 0x1f4d:0xD220
|
||||
* - SU3000HD DVB-S USB2.0
|
||||
- 0x1f4d:0x3000
|
||||
* - TeVii S482 (tuner 1)
|
||||
- 0x9022:0xd483
|
||||
* - TeVii S482 (tuner 2)
|
||||
- 0x9022:0xd484
|
||||
* - TeVii S630 USB
|
||||
- 0x9022:d630
|
||||
* - TeVii S650 USB2.0
|
||||
- 0x9022:d650
|
||||
* - TeVii S662
|
||||
- 0x9022:d662
|
||||
* - TechnoTrend TT-connect S2-4600
|
||||
- 0b48:3011
|
||||
* - TerraTec Cinergy S USB
|
||||
- 0ccd:0064
|
||||
* - Terratec Cinergy S2 USB BOX
|
||||
- 0ccd:0x0105
|
||||
* - Terratec Cinergy S2 USB HD
|
||||
- 0ccd:00a8
|
||||
* - Terratec Cinergy S2 USB HD Rev.2
|
||||
- 0ccd:00b0
|
||||
* - Terratec Cinergy S2 USB HD Rev.3
|
||||
- 0ccd:0102
|
||||
* - X3M TV SPC1400HD PCI
|
||||
- 0x1f4d:0x3100
|
16
Documentation/admin-guide/media/dvb-usb-ec168-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-ec168-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-ec168 cards list
|
||||
========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - E3C EC168 reference design
|
||||
- 18b4:1689, 18b4:fffa, 18b4:fffb, 18b4:1001, 18b4:1002
|
20
Documentation/admin-guide/media/dvb-usb-gl861-cardlist.rst
Normal file
20
Documentation/admin-guide/media/dvb-usb-gl861-cardlist.rst
Normal file
@ -0,0 +1,20 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-gl861 cards list
|
||||
========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - 774 Friio White ISDB-T USB2.0
|
||||
- 7a69:0001
|
||||
* - A-LINK DTU DVB-T USB2.0
|
||||
- 05e3:f170
|
||||
* - MSI Mega Sky 55801 DVB-T USB2.0
|
||||
- 0db0:5581
|
22
Documentation/admin-guide/media/dvb-usb-gp8psk-cardlist.rst
Normal file
22
Documentation/admin-guide/media/dvb-usb-gp8psk-cardlist.rst
Normal file
@ -0,0 +1,22 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-gp8psk cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Genpix 8PSK-to-USB2 Rev.1 DVB-S receiver
|
||||
- 09c0:0200, 09c0:0201
|
||||
* - Genpix 8PSK-to-USB2 Rev.2 DVB-S receiver
|
||||
- 09c0:0202
|
||||
* - Genpix SkyWalker-1 DVB-S receiver
|
||||
- 09c0:0203
|
||||
* - Genpix SkyWalker-2 DVB-S receiver
|
||||
- 09c0:0206
|
20
Documentation/admin-guide/media/dvb-usb-lmedm04-cardlist.rst
Normal file
20
Documentation/admin-guide/media/dvb-usb-lmedm04-cardlist.rst
Normal file
@ -0,0 +1,20 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-lmedm04 cards list
|
||||
==========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - DM04_LME2510C_DVB-S
|
||||
- 3344:1120
|
||||
* - DM04_LME2510C_DVB-S RS2000
|
||||
- 3344:22f0
|
||||
* - DM04_LME2510_DVB-S
|
||||
- 3344:1122
|
26
Documentation/admin-guide/media/dvb-usb-m920x-cardlist.rst
Normal file
26
Documentation/admin-guide/media/dvb-usb-m920x-cardlist.rst
Normal file
@ -0,0 +1,26 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-m920x cards list
|
||||
========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - DTV-DVB UDTT7049
|
||||
- 13d3:3219
|
||||
* - Dposh DVB-T USB2.0
|
||||
- 1498:9206, 1498:a090
|
||||
* - LifeView TV Walker Twin DVB-T USB2.0
|
||||
- 10fd:0514, 10fd:0513
|
||||
* - MSI DIGI VOX mini II DVB-T USB2.0
|
||||
- 10fd:1513
|
||||
* - MSI Mega Sky 580 DVB-T USB2.0
|
||||
- 0db0:5580
|
||||
* - Pinnacle PCTV 310e
|
||||
- 13d3:3211
|
@ -0,0 +1,36 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-mxl111sf cards list
|
||||
===========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - HCW 117xxx
|
||||
- 2040:b702
|
||||
* - HCW 126xxx
|
||||
- 2040:c602, 2040:c60a
|
||||
* - Hauppauge 117xxx ATSC+
|
||||
- 2040:b700, 2040:b703, 2040:b753, 2040:b763, 2040:b757, 2040:b767
|
||||
* - Hauppauge 117xxx DVBT
|
||||
- 2040:b704, 2040:b764
|
||||
* - Hauppauge 126xxx
|
||||
- 2040:c612, 2040:c61a
|
||||
* - Hauppauge 126xxx ATSC
|
||||
- 2040:c601, 2040:c609, 2040:b701
|
||||
* - Hauppauge 126xxx ATSC+
|
||||
- 2040:c600, 2040:c603, 2040:c60b, 2040:c653, 2040:c65b
|
||||
* - Hauppauge 126xxx DVBT
|
||||
- 2040:c604, 2040:c60c
|
||||
* - Hauppauge 138xxx DVBT
|
||||
- 2040:d854, 2040:d864, 2040:d8d4, 2040:d8e4
|
||||
* - Hauppauge Mercury
|
||||
- 2040:d853, 2040:d863, 2040:d8d3, 2040:d8e3, 2040:d8ff
|
||||
* - Hauppauge WinTV-Aero-M
|
||||
- 2040:c613, 2040:c61b
|
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-nova-t-usb2 cards list
|
||||
==============================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Hauppauge WinTV-NOVA-T usb2
|
||||
- 2040:9300, 2040:9301
|
16
Documentation/admin-guide/media/dvb-usb-opera1-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-opera1-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-opera1 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Opera1 DVB-S USB2.0
|
||||
- 04b4:2830, 695c:3829
|
@ -0,0 +1,20 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-pctv452e cards list
|
||||
===========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - PCTV HDTV USB
|
||||
- 2304:021f
|
||||
* - Technotrend TT Connect S2-3600
|
||||
- 0b48:3007
|
||||
* - Technotrend TT Connect S2-3650-CI
|
||||
- 0b48:300a
|
@ -0,0 +1,80 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-rtl28xxu cards list
|
||||
===========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - ASUS My Cinema-U3100Mini Plus V2
|
||||
- 1b80:d3a8
|
||||
* - Astrometa DVB-T2
|
||||
- 15f4:0131
|
||||
* - Compro VideoMate U620F
|
||||
- 185b:0620
|
||||
* - Compro VideoMate U650F
|
||||
- 185b:0650
|
||||
* - Crypto ReDi PC 50 A
|
||||
- 1f4d:a803
|
||||
* - Dexatek DK DVB-T Dongle
|
||||
- 1d19:1101
|
||||
* - Dexatek DK mini DVB-T Dongle
|
||||
- 1d19:1102
|
||||
* - DigitalNow Quad DVB-T Receiver
|
||||
- 0413:6680
|
||||
* - Freecom USB2.0 DVB-T
|
||||
- 14aa:0160, 14aa:0161
|
||||
* - G-Tek Electronics Group Lifeview LV5TDLX DVB-T
|
||||
- 1f4d:b803
|
||||
* - GIGABYTE U7300
|
||||
- 1b80:d393
|
||||
* - Genius TVGo DVB-T03
|
||||
- 0458:707f
|
||||
* - GoTView MasterHD 3
|
||||
- 5654:ca42
|
||||
* - Leadtek WinFast DTV Dongle mini
|
||||
- 0413:6a03
|
||||
* - Leadtek WinFast DTV2000DS Plus
|
||||
- 0413:6f12
|
||||
* - Leadtek Winfast DTV Dongle Mini D
|
||||
- 0413:6f0f
|
||||
* - MSI DIGIVOX Micro HD
|
||||
- 1d19:1104
|
||||
* - MaxMedia HU394-T
|
||||
- 1b80:d394
|
||||
* - PROlectrix DV107669
|
||||
- 1f4d:d803
|
||||
* - Peak DVB-T USB
|
||||
- 1b80:d395
|
||||
* - Realtek RTL2831U reference design
|
||||
- 0bda:2831
|
||||
* - Realtek RTL2832U reference design
|
||||
- 0bda:2832, 0bda:2838
|
||||
* - Sveon STV20
|
||||
- 1b80:d39d
|
||||
* - Sveon STV21
|
||||
- 1b80:d3b0
|
||||
* - Sveon STV27
|
||||
- 1b80:d3af
|
||||
* - TURBO-X Pure TV Tuner DTT-2000
|
||||
- 1b80:d3a4
|
||||
* - TerraTec Cinergy T Stick Black
|
||||
- 0ccd:00a9
|
||||
* - TerraTec Cinergy T Stick RC (Rev. 3)
|
||||
- 0ccd:00d3
|
||||
* - TerraTec Cinergy T Stick+
|
||||
- 0ccd:00d7
|
||||
* - TerraTec NOXON DAB Stick
|
||||
- 0ccd:00b3
|
||||
* - TerraTec NOXON DAB Stick (rev 2)
|
||||
- 0ccd:00e0
|
||||
* - TerraTec NOXON DAB Stick (rev 3)
|
||||
- 0ccd:00b4
|
||||
* - Trekstor DVB-T Stick Terres 2.0
|
||||
- 1f4d:C803
|
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-technisat-usb2 cards list
|
||||
=================================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Technisat SkyStar USB HD (DVB-S/S2)
|
||||
- 14f7:0500
|
24
Documentation/admin-guide/media/dvb-usb-ttusb2-cardlist.rst
Normal file
24
Documentation/admin-guide/media/dvb-usb-ttusb2-cardlist.rst
Normal file
@ -0,0 +1,24 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-ttusb2 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Pinnacle 400e DVB-S USB2.0
|
||||
- 2304:020f
|
||||
* - Pinnacle 450e DVB-S USB2.0
|
||||
- 2304:0222
|
||||
* - Technotrend TT-connect CT-3650
|
||||
- 0b48:300d
|
||||
* - Technotrend TT-connect S-2400
|
||||
- 0b48:3006
|
||||
* - Technotrend TT-connect S-2400 (8kB EEPROM)
|
||||
- 0b48:3009
|
16
Documentation/admin-guide/media/dvb-usb-umt-010-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-umt-010-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-umt-010 cards list
|
||||
==========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Hanftek UMT-010 DVB-T USB2.0
|
||||
- 15f4:0001, 15f4:0015
|
16
Documentation/admin-guide/media/dvb-usb-vp702x-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-vp702x-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-vp702x cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - TwinhanDTV StarBox DVB-S USB2.0 (VP7021)
|
||||
- 13d3:3207
|
18
Documentation/admin-guide/media/dvb-usb-vp7045-cardlist.rst
Normal file
18
Documentation/admin-guide/media/dvb-usb-vp7045-cardlist.rst
Normal file
@ -0,0 +1,18 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-vp7045 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - DigitalNow TinyUSB 2 DVB-t Receiver
|
||||
- 13d3:3223, 13d3:3224
|
||||
* - Twinhan USB2.0 DVB-T receiver (TwinhanDTV Alpha/MagicBox II)
|
||||
- 13d3:3205, 13d3:3206
|
16
Documentation/admin-guide/media/dvb-usb-zd1301-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-zd1301-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-zd1301 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - ZyDAS ZD1301 reference design
|
||||
- 0ace:13a1
|
12
Documentation/admin-guide/media/dvb.rst
Normal file
12
Documentation/admin-guide/media/dvb.rst
Normal file
@ -0,0 +1,12 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
==========
|
||||
Digital TV
|
||||
==========
|
||||
|
||||
.. toctree::
|
||||
|
||||
dvb_intro
|
||||
ci
|
||||
faq
|
||||
dvb_references
|
616
Documentation/admin-guide/media/dvb_intro.rst
Normal file
616
Documentation/admin-guide/media/dvb_intro.rst
Normal file
@ -0,0 +1,616 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
==============================
|
||||
Using the Digital TV Framework
|
||||
==============================
|
||||
|
||||
Introduction
|
||||
~~~~~~~~~~~~
|
||||
|
||||
One significant difference between Digital TV and Analogue TV that the
|
||||
unwary (like myself) should consider is that, although the component
|
||||
structure of DVB-T cards are substantially similar to Analogue TV cards,
|
||||
they function in substantially different ways.
|
||||
|
||||
The purpose of an Analogue TV is to receive and display an Analogue
|
||||
Television signal. An Analogue TV signal (otherwise known as composite
|
||||
video) is an analogue encoding of a sequence of image frames (25 frames
|
||||
per second in Europe) rasterised using an interlacing technique.
|
||||
Interlacing takes two fields to represent one frame. Therefore, an
|
||||
Analogue TV card for a PC has the following purpose:
|
||||
|
||||
* Tune the receiver to receive a broadcast signal
|
||||
* demodulate the broadcast signal
|
||||
* demultiplex the analogue video signal and analogue audio
|
||||
signal.
|
||||
|
||||
.. note::
|
||||
|
||||
some countries employ a digital audio signal
|
||||
embedded within the modulated composite analogue signal -
|
||||
using NICAM signaling.)
|
||||
|
||||
* digitize the analogue video signal and make the resulting datastream
|
||||
available to the data bus.
|
||||
|
||||
The digital datastream from an Analogue TV card is generated by
|
||||
circuitry on the card and is often presented uncompressed. For a PAL TV
|
||||
signal encoded at a resolution of 768x576 24-bit color pixels over 25
|
||||
frames per second - a fair amount of data is generated and must be
|
||||
processed by the PC before it can be displayed on the video monitor
|
||||
screen. Some Analogue TV cards for PCs have onboard MPEG2 encoders which
|
||||
permit the raw digital data stream to be presented to the PC in an
|
||||
encoded and compressed form - similar to the form that is used in
|
||||
Digital TV.
|
||||
|
||||
The purpose of a simple budget digital TV card (DVB-T,C or S) is to
|
||||
simply:
|
||||
|
||||
* Tune the received to receive a broadcast signal. * Extract the encoded
|
||||
digital datastream from the broadcast signal.
|
||||
* Make the encoded digital datastream (MPEG2) available to the data bus.
|
||||
|
||||
The significant difference between the two is that the tuner on the
|
||||
analogue TV card spits out an Analogue signal, whereas the tuner on the
|
||||
digital TV card spits out a compressed encoded digital datastream. As
|
||||
the signal is already digitised, it is trivial to pass this datastream
|
||||
to the PC databus with minimal additional processing and then extract
|
||||
the digital video and audio datastreams passing them to the appropriate
|
||||
software or hardware for decoding and viewing.
|
||||
|
||||
Getting the card going
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The Device Driver API for DVB under Linux will the following
|
||||
device nodes via the devfs filesystem:
|
||||
|
||||
* /dev/dvb/adapter0/demux0
|
||||
* /dev/dvb/adapter0/dvr0
|
||||
* /dev/dvb/adapter0/frontend0
|
||||
|
||||
The ``/dev/dvb/adapter0/dvr0`` device node is used to read the MPEG2
|
||||
Data Stream and the ``/dev/dvb/adapter0/frontend0`` device node is used
|
||||
to tune the frontend tuner module. The ``/dev/dvb/adapter0/demux0`` is
|
||||
used to control what programs will be received.
|
||||
|
||||
Depending on the card's feature set, the Device Driver API could also
|
||||
expose other device nodes:
|
||||
|
||||
* /dev/dvb/adapter0/ca0
|
||||
* /dev/dvb/adapter0/audio0
|
||||
* /dev/dvb/adapter0/net0
|
||||
* /dev/dvb/adapter0/osd0
|
||||
* /dev/dvb/adapter0/video0
|
||||
|
||||
The ``/dev/dvb/adapter0/ca0`` is used to decode encrypted channels. The
|
||||
other device nodes are found only on devices that use the av7110
|
||||
driver, with is now obsoleted, together with the extra API whose such
|
||||
devices use.
|
||||
|
||||
Receiving a digital TV channel
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This section attempts to explain how it works and how this affects the
|
||||
configuration of a Digital TV card.
|
||||
|
||||
On this example, we're considering tuning into DVB-T channels in
|
||||
Australia, at the Melbourne region.
|
||||
|
||||
The frequencies broadcast by Mount Dandenong transmitters are,
|
||||
currently:
|
||||
|
||||
Table 1. Transponder Frequencies Mount Dandenong, Vic, Aus.
|
||||
|
||||
=========== ===========
|
||||
Broadcaster Frequency
|
||||
=========== ===========
|
||||
Seven 177.500 Mhz
|
||||
SBS 184.500 Mhz
|
||||
Nine 191.625 Mhz
|
||||
Ten 219.500 Mhz
|
||||
ABC 226.500 Mhz
|
||||
Channel 31 557.625 Mhz
|
||||
=========== ===========
|
||||
|
||||
The digital TV Scan utilities (like dvbv5-scan) have use a set of
|
||||
compiled-in defaults for various countries and regions. Those are
|
||||
currently provided as a separate package, called dtv-scan-tables. It's
|
||||
git tree is located at LinuxTV.org:
|
||||
|
||||
https://git.linuxtv.org/dtv-scan-tables.git/
|
||||
|
||||
If none of the tables there suit, you can specify a data file on the
|
||||
command line which contains the transponder frequencies. Here is a
|
||||
sample file for the above channel transponders, in the old "channel"
|
||||
format::
|
||||
|
||||
# Data file for DVB scan program
|
||||
#
|
||||
# C Frequency SymbolRate FEC QAM
|
||||
# S Frequency Polarisation SymbolRate FEC
|
||||
# T Frequency Bandwidth FEC FEC2 QAM Mode Guard Hier
|
||||
|
||||
T 177500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
|
||||
T 184500000 7MHz AUTO AUTO QAM64 8k 1/8 NONE
|
||||
T 191625000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
|
||||
T 219500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
|
||||
T 226500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
|
||||
T 557625000 7MHz AUTO AUTO QPSK 8k 1/16 NONE
|
||||
|
||||
Nowadays, we prefer to use a newer format, with is more verbose and easier
|
||||
to understand. With the new format, the "Seven" channel transponder's
|
||||
data is represented by::
|
||||
|
||||
[Seven]
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = AUTO
|
||||
CODE_RATE_LP = AUTO
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
INVERSION = AUTO
|
||||
|
||||
For an updated version of the complete table, please see:
|
||||
|
||||
https://git.linuxtv.org/dtv-scan-tables.git/tree/dvb-t/au-Melbourne
|
||||
|
||||
When the Digital TV scanning utility runs, it will output a file
|
||||
containing the information for all the audio and video programs that
|
||||
exists into each channel's transponders which the card's frontend can
|
||||
lock onto. (i.e. any whose signal is strong enough at your antenna).
|
||||
|
||||
Here's the output of the dvbv5 tools from a channel scan took from
|
||||
Melburne::
|
||||
|
||||
[ABC HDTV]
|
||||
SERVICE_ID = 560
|
||||
VIDEO_PID = 2307
|
||||
AUDIO_PID = 0
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 226500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 3/4
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[ABC TV Melbourne]
|
||||
SERVICE_ID = 561
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 226500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 3/4
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[ABC TV 2]
|
||||
SERVICE_ID = 562
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 226500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 3/4
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[ABC TV 3]
|
||||
SERVICE_ID = 563
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 226500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 3/4
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[ABC TV 4]
|
||||
SERVICE_ID = 564
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 226500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 3/4
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[ABC DiG Radio]
|
||||
SERVICE_ID = 566
|
||||
VIDEO_PID = 0
|
||||
AUDIO_PID = 2311
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 226500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 3/4
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital]
|
||||
SERVICE_ID = 1585
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital 1]
|
||||
SERVICE_ID = 1586
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital 2]
|
||||
SERVICE_ID = 1587
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital 3]
|
||||
SERVICE_ID = 1588
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital]
|
||||
SERVICE_ID = 1589
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital 4]
|
||||
SERVICE_ID = 1590
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital]
|
||||
SERVICE_ID = 1591
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN HD]
|
||||
SERVICE_ID = 1592
|
||||
VIDEO_PID = 514
|
||||
AUDIO_PID = 0
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital]
|
||||
SERVICE_ID = 1593
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[Nine Digital]
|
||||
SERVICE_ID = 1072
|
||||
VIDEO_PID = 513
|
||||
AUDIO_PID = 660
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 191625000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[Nine Digital HD]
|
||||
SERVICE_ID = 1073
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 0
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 191625000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[Nine Guide]
|
||||
SERVICE_ID = 1074
|
||||
VIDEO_PID = 514
|
||||
AUDIO_PID = 670
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 191625000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[7 Digital]
|
||||
SERVICE_ID = 1328
|
||||
VIDEO_PID = 769
|
||||
AUDIO_PID = 770
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[7 Digital 1]
|
||||
SERVICE_ID = 1329
|
||||
VIDEO_PID = 769
|
||||
AUDIO_PID = 770
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[7 Digital 2]
|
||||
SERVICE_ID = 1330
|
||||
VIDEO_PID = 769
|
||||
AUDIO_PID = 770
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[7 Digital 3]
|
||||
SERVICE_ID = 1331
|
||||
VIDEO_PID = 769
|
||||
AUDIO_PID = 770
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[7 HD Digital]
|
||||
SERVICE_ID = 1332
|
||||
VIDEO_PID = 833
|
||||
AUDIO_PID = 834
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[7 Program Guide]
|
||||
SERVICE_ID = 1334
|
||||
VIDEO_PID = 865
|
||||
AUDIO_PID = 866
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[SBS HD]
|
||||
SERVICE_ID = 784
|
||||
VIDEO_PID = 102
|
||||
AUDIO_PID = 103
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 536500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[SBS DIGITAL 1]
|
||||
SERVICE_ID = 785
|
||||
VIDEO_PID = 161
|
||||
AUDIO_PID = 81
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 536500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[SBS DIGITAL 2]
|
||||
SERVICE_ID = 786
|
||||
VIDEO_PID = 162
|
||||
AUDIO_PID = 83
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 536500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[SBS EPG]
|
||||
SERVICE_ID = 787
|
||||
VIDEO_PID = 163
|
||||
AUDIO_PID = 85
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 536500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[SBS RADIO 1]
|
||||
SERVICE_ID = 798
|
||||
VIDEO_PID = 0
|
||||
AUDIO_PID = 201
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 536500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[SBS RADIO 2]
|
||||
SERVICE_ID = 799
|
||||
VIDEO_PID = 0
|
||||
AUDIO_PID = 202
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 536500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
29
Documentation/admin-guide/media/dvb_references.rst
Normal file
29
Documentation/admin-guide/media/dvb_references.rst
Normal file
@ -0,0 +1,29 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
The main development site and GIT repository for Digital TV
|
||||
drivers is https://linuxtv.org.
|
||||
|
||||
The DVB mailing list linux-dvb is hosted at vger. Please see
|
||||
http://vger.kernel.org/vger-lists.html#linux-media for details.
|
||||
|
||||
There are also some other old lists hosted at:
|
||||
https://linuxtv.org/lists.php. If you're insterested on that for historic
|
||||
reasons, please check the archive at https://linuxtv.org/pipermail/linux-dvb/.
|
||||
|
||||
The media subsystem Wiki is hosted at https://linuxtv.org/wiki/.
|
||||
There, you'll find lots of information, from both development and usage
|
||||
of media boards. Please check it before asking newbie questions on the
|
||||
mailing list or IRC channels.
|
||||
|
||||
The API documentation is documented at the Kernel tree. You can find it
|
||||
in both html and pdf formats, together with other useful documentation at:
|
||||
|
||||
- https://linuxtv.org/docs.php.
|
||||
|
||||
You may also find useful material at https://linuxtv.org/downloads/.
|
||||
|
||||
In order to get the needed firmware for some drivers to work, there's
|
||||
a script at the kernel tree, at scripts/get_dvb_firmware.
|
436
Documentation/admin-guide/media/em28xx-cardlist.rst
Normal file
436
Documentation/admin-guide/media/em28xx-cardlist.rst
Normal file
@ -0,0 +1,436 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
EM28xx cards list
|
||||
=================
|
||||
|
||||
.. tabularcolumns:: |p{1.4cm}|p{10.0cm}|p{1.9cm}|p{4.2cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 2 12 3 16
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- Empia Chip
|
||||
- USB IDs
|
||||
* - 0
|
||||
- Unknown EM2800 video grabber
|
||||
- em2800
|
||||
- eb1a:2800
|
||||
* - 1
|
||||
- Unknown EM2750/28xx video grabber
|
||||
- em2820 or em2840
|
||||
- eb1a:2710, eb1a:2820, eb1a:2821, eb1a:2860, eb1a:2861, eb1a:2862, eb1a:2863, eb1a:2870, eb1a:2881, eb1a:2883, eb1a:2868, eb1a:2875
|
||||
* - 2
|
||||
- Terratec Cinergy 250 USB
|
||||
- em2820 or em2840
|
||||
- 0ccd:0036
|
||||
* - 3
|
||||
- Pinnacle PCTV USB 2
|
||||
- em2820 or em2840
|
||||
- 2304:0208
|
||||
* - 4
|
||||
- Hauppauge WinTV USB 2
|
||||
- em2820 or em2840
|
||||
- 2040:4200, 2040:4201
|
||||
* - 5
|
||||
- MSI VOX USB 2.0
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 6
|
||||
- Terratec Cinergy 200 USB
|
||||
- em2800
|
||||
-
|
||||
* - 7
|
||||
- Leadtek Winfast USB II
|
||||
- em2800
|
||||
- 0413:6023
|
||||
* - 8
|
||||
- Kworld USB2800
|
||||
- em2800
|
||||
-
|
||||
* - 9
|
||||
- Pinnacle Dazzle DVC 90/100/101/107 / Kaiser Baas Video to DVD maker / Kworld DVD Maker 2 / Plextor ConvertX PX-AV100U
|
||||
- em2820 or em2840
|
||||
- 1b80:e302, 1b80:e304, 2304:0207, 2304:021a, 093b:a003
|
||||
* - 10
|
||||
- Hauppauge WinTV HVR 900
|
||||
- em2880
|
||||
- 2040:6500
|
||||
* - 11
|
||||
- Terratec Hybrid XS
|
||||
- em2880
|
||||
-
|
||||
* - 12
|
||||
- Kworld PVR TV 2800 RF
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 13
|
||||
- Terratec Prodigy XS
|
||||
- em2880
|
||||
-
|
||||
* - 14
|
||||
- SIIG AVTuner-PVR / Pixelview Prolink PlayTV USB 2.0
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 15
|
||||
- V-Gear PocketTV
|
||||
- em2800
|
||||
-
|
||||
* - 16
|
||||
- Hauppauge WinTV HVR 950
|
||||
- em2883
|
||||
- 2040:6513, 2040:6517, 2040:651b
|
||||
* - 17
|
||||
- Pinnacle PCTV HD Pro Stick
|
||||
- em2880
|
||||
- 2304:0227
|
||||
* - 18
|
||||
- Hauppauge WinTV HVR 900 (R2)
|
||||
- em2880
|
||||
- 2040:6502
|
||||
* - 19
|
||||
- EM2860/SAA711X Reference Design
|
||||
- em2860
|
||||
-
|
||||
* - 20
|
||||
- AMD ATI TV Wonder HD 600
|
||||
- em2880
|
||||
- 0438:b002
|
||||
* - 21
|
||||
- eMPIA Technology, Inc. GrabBeeX+ Video Encoder
|
||||
- em2800
|
||||
- eb1a:2801
|
||||
* - 22
|
||||
- EM2710/EM2750/EM2751 webcam grabber
|
||||
- em2750
|
||||
- eb1a:2750, eb1a:2751
|
||||
* - 23
|
||||
- Huaqi DLCW-130
|
||||
- em2750
|
||||
-
|
||||
* - 24
|
||||
- D-Link DUB-T210 TV Tuner
|
||||
- em2820 or em2840
|
||||
- 2001:f112
|
||||
* - 25
|
||||
- Gadmei UTV310
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 26
|
||||
- Hercules Smart TV USB 2.0
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 27
|
||||
- Pinnacle PCTV USB 2 (Philips FM1216ME)
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 28
|
||||
- Leadtek Winfast USB II Deluxe
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 29
|
||||
- EM2860/TVP5150 Reference Design
|
||||
- em2860
|
||||
- eb1a:5051
|
||||
* - 30
|
||||
- Videology 20K14XUSB USB2.0
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 31
|
||||
- Usbgear VD204v9
|
||||
- em2821
|
||||
-
|
||||
* - 32
|
||||
- Supercomp USB 2.0 TV
|
||||
- em2821
|
||||
-
|
||||
* - 33
|
||||
- Elgato Video Capture
|
||||
- em2860
|
||||
- 0fd9:0033
|
||||
* - 34
|
||||
- Terratec Cinergy A Hybrid XS
|
||||
- em2860
|
||||
- 0ccd:004f
|
||||
* - 35
|
||||
- Typhoon DVD Maker
|
||||
- em2860
|
||||
-
|
||||
* - 36
|
||||
- NetGMBH Cam
|
||||
- em2860
|
||||
-
|
||||
* - 37
|
||||
- Gadmei UTV330
|
||||
- em2860
|
||||
- eb1a:50a6
|
||||
* - 38
|
||||
- Yakumo MovieMixer
|
||||
- em2861
|
||||
-
|
||||
* - 39
|
||||
- KWorld PVRTV 300U
|
||||
- em2861
|
||||
- eb1a:e300
|
||||
* - 40
|
||||
- Plextor ConvertX PX-TV100U
|
||||
- em2861
|
||||
- 093b:a005
|
||||
* - 41
|
||||
- Kworld 350 U DVB-T
|
||||
- em2870
|
||||
- eb1a:e350
|
||||
* - 42
|
||||
- Kworld 355 U DVB-T
|
||||
- em2870
|
||||
- eb1a:e355, eb1a:e357, eb1a:e359
|
||||
* - 43
|
||||
- Terratec Cinergy T XS
|
||||
- em2870
|
||||
-
|
||||
* - 44
|
||||
- Terratec Cinergy T XS (MT2060)
|
||||
- em2870
|
||||
- 0ccd:0043
|
||||
* - 45
|
||||
- Pinnacle PCTV DVB-T
|
||||
- em2870
|
||||
-
|
||||
* - 46
|
||||
- Compro, VideoMate U3
|
||||
- em2870
|
||||
- 185b:2870
|
||||
* - 47
|
||||
- KWorld DVB-T 305U
|
||||
- em2880
|
||||
- eb1a:e305
|
||||
* - 48
|
||||
- KWorld DVB-T 310U
|
||||
- em2880
|
||||
-
|
||||
* - 49
|
||||
- MSI DigiVox A/D
|
||||
- em2880
|
||||
- eb1a:e310
|
||||
* - 50
|
||||
- MSI DigiVox A/D II
|
||||
- em2880
|
||||
- eb1a:e320
|
||||
* - 51
|
||||
- Terratec Hybrid XS Secam
|
||||
- em2880
|
||||
- 0ccd:004c
|
||||
* - 52
|
||||
- DNT DA2 Hybrid
|
||||
- em2881
|
||||
-
|
||||
* - 53
|
||||
- Pinnacle Hybrid Pro
|
||||
- em2881
|
||||
-
|
||||
* - 54
|
||||
- Kworld VS-DVB-T 323UR
|
||||
- em2882
|
||||
- eb1a:e323
|
||||
* - 55
|
||||
- Terratec Cinergy Hybrid T USB XS (em2882)
|
||||
- em2882
|
||||
- 0ccd:005e, 0ccd:0042
|
||||
* - 56
|
||||
- Pinnacle Hybrid Pro (330e)
|
||||
- em2882
|
||||
- 2304:0226
|
||||
* - 57
|
||||
- Kworld PlusTV HD Hybrid 330
|
||||
- em2883
|
||||
- eb1a:a316
|
||||
* - 58
|
||||
- Compro VideoMate ForYou/Stereo
|
||||
- em2820 or em2840
|
||||
- 185b:2041
|
||||
* - 59
|
||||
- Pinnacle PCTV HD Mini
|
||||
- em2874
|
||||
- 2304:023f
|
||||
* - 60
|
||||
- Hauppauge WinTV HVR 850
|
||||
- em2883
|
||||
- 2040:651f
|
||||
* - 61
|
||||
- Pixelview PlayTV Box 4 USB 2.0
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 62
|
||||
- Gadmei TVR200
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 63
|
||||
- Kaiomy TVnPC U2
|
||||
- em2860
|
||||
- eb1a:e303
|
||||
* - 64
|
||||
- Easy Cap Capture DC-60
|
||||
- em2860
|
||||
- 1b80:e309
|
||||
* - 65
|
||||
- IO-DATA GV-MVP/SZ
|
||||
- em2820 or em2840
|
||||
- 04bb:0515
|
||||
* - 66
|
||||
- Empire dual TV
|
||||
- em2880
|
||||
-
|
||||
* - 67
|
||||
- Terratec Grabby
|
||||
- em2860
|
||||
- 0ccd:0096, 0ccd:10AF
|
||||
* - 68
|
||||
- Terratec AV350
|
||||
- em2860
|
||||
- 0ccd:0084
|
||||
* - 69
|
||||
- KWorld ATSC 315U HDTV TV Box
|
||||
- em2882
|
||||
- eb1a:a313
|
||||
* - 70
|
||||
- Evga inDtube
|
||||
- em2882
|
||||
-
|
||||
* - 71
|
||||
- Silvercrest Webcam 1.3mpix
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 72
|
||||
- Gadmei UTV330+
|
||||
- em2861
|
||||
-
|
||||
* - 73
|
||||
- Reddo DVB-C USB TV Box
|
||||
- em2870
|
||||
-
|
||||
* - 74
|
||||
- Actionmaster/LinXcel/Digitus VC211A
|
||||
- em2800
|
||||
-
|
||||
* - 75
|
||||
- Dikom DK300
|
||||
- em2882
|
||||
-
|
||||
* - 76
|
||||
- KWorld PlusTV 340U or UB435-Q (ATSC)
|
||||
- em2870
|
||||
- 1b80:a340
|
||||
* - 77
|
||||
- EM2874 Leadership ISDBT
|
||||
- em2874
|
||||
-
|
||||
* - 78
|
||||
- PCTV nanoStick T2 290e
|
||||
- em28174
|
||||
- 2013:024f
|
||||
* - 79
|
||||
- Terratec Cinergy H5
|
||||
- em2884
|
||||
- eb1a:2885, 0ccd:10a2, 0ccd:10ad, 0ccd:10b6
|
||||
* - 80
|
||||
- PCTV DVB-S2 Stick (460e)
|
||||
- em28174
|
||||
- 2013:024c
|
||||
* - 81
|
||||
- Hauppauge WinTV HVR 930C
|
||||
- em2884
|
||||
- 2040:1605
|
||||
* - 82
|
||||
- Terratec Cinergy HTC Stick
|
||||
- em2884
|
||||
- 0ccd:00b2
|
||||
* - 83
|
||||
- Honestech Vidbox NW03
|
||||
- em2860
|
||||
- eb1a:5006
|
||||
* - 84
|
||||
- MaxMedia UB425-TC
|
||||
- em2874
|
||||
- 1b80:e425
|
||||
* - 85
|
||||
- PCTV QuatroStick (510e)
|
||||
- em2884
|
||||
- 2304:0242
|
||||
* - 86
|
||||
- PCTV QuatroStick nano (520e)
|
||||
- em2884
|
||||
- 2013:0251
|
||||
* - 87
|
||||
- Terratec Cinergy HTC USB XS
|
||||
- em2884
|
||||
- 0ccd:008e, 0ccd:00ac
|
||||
* - 88
|
||||
- C3 Tech Digital Duo HDTV/SDTV USB
|
||||
- em2884
|
||||
- 1b80:e755
|
||||
* - 89
|
||||
- Delock 61959
|
||||
- em2874
|
||||
- 1b80:e1cc
|
||||
* - 90
|
||||
- KWorld USB ATSC TV Stick UB435-Q V2
|
||||
- em2874
|
||||
- 1b80:e346
|
||||
* - 91
|
||||
- SpeedLink Vicious And Devine Laplace webcam
|
||||
- em2765
|
||||
- 1ae7:9003, 1ae7:9004
|
||||
* - 92
|
||||
- PCTV DVB-S2 Stick (461e)
|
||||
- em28178
|
||||
- 2013:0258
|
||||
* - 93
|
||||
- KWorld USB ATSC TV Stick UB435-Q V3
|
||||
- em2874
|
||||
- 1b80:e34c
|
||||
* - 94
|
||||
- PCTV tripleStick (292e)
|
||||
- em28178
|
||||
- 2013:025f, 2013:0264, 2040:0264, 2040:8264, 2040:8268
|
||||
* - 95
|
||||
- Leadtek VC100
|
||||
- em2861
|
||||
- 0413:6f07
|
||||
* - 96
|
||||
- Terratec Cinergy T2 Stick HD
|
||||
- em28178
|
||||
- eb1a:8179
|
||||
* - 97
|
||||
- Elgato EyeTV Hybrid 2008 INT
|
||||
- em2884
|
||||
- 0fd9:0018
|
||||
* - 98
|
||||
- PLEX PX-BCUD
|
||||
- em28178
|
||||
- 3275:0085
|
||||
* - 99
|
||||
- Hauppauge WinTV-dualHD DVB
|
||||
- em28174
|
||||
- 2040:0265, 2040:8265
|
||||
* - 100
|
||||
- Hauppauge WinTV-dualHD 01595 ATSC/QAM
|
||||
- em28174
|
||||
- 2040:026d, 2040:826d
|
||||
* - 101
|
||||
- Terratec Cinergy H6 rev. 2
|
||||
- em2884
|
||||
- 0ccd:10b2
|
||||
* - 102
|
||||
- :ZOLID HYBRID TV STICK
|
||||
- em2882
|
||||
-
|
||||
* - 103
|
||||
- Magix USB Videowandler-2
|
||||
- em2861
|
||||
- 1b80:e349
|
||||
* - 104
|
||||
- PCTV DVB-S2 Stick (461e v2)
|
||||
- em28178
|
||||
- 2013:0461, 2013:0259
|
216
Documentation/admin-guide/media/faq.rst
Normal file
216
Documentation/admin-guide/media/faq.rst
Normal file
@ -0,0 +1,216 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
FAQ
|
||||
===
|
||||
|
||||
.. note::
|
||||
|
||||
1. With Digital TV, a single physical channel may have different
|
||||
contents inside it. The specs call each one as a *service*.
|
||||
This is what a TV user would call "channel". So, in order to
|
||||
avoid confusion, we're calling *transponders* as the physical
|
||||
channel on this FAQ, and *services* for the logical channel.
|
||||
2. The LinuxTV community maintains some Wiki pages with contain
|
||||
a lot of information related to the media subsystem. If you
|
||||
don't find an answer for your needs here, it is likely that
|
||||
you'll be able to get something useful there. It is hosted
|
||||
at:
|
||||
|
||||
https://www.linuxtv.org/wiki/
|
||||
|
||||
Some very frequently asked questions about Linux Digital TV support
|
||||
|
||||
1. The signal seems to die a few seconds after tuning.
|
||||
|
||||
It's not a bug, it's a feature. Because the frontends have
|
||||
significant power requirements (and hence get very hot), they
|
||||
are powered down if they are unused (i.e. if the frontend device
|
||||
is closed). The ``dvb-core`` module parameter ``dvb_shutdown_timeout``
|
||||
allow you to change the timeout (default 5 seconds). Setting the
|
||||
timeout to 0 disables the timeout feature.
|
||||
|
||||
2. How can I watch TV?
|
||||
|
||||
Together with the Linux Kernel, the Digital TV developers support
|
||||
some simple utilities which are mainly intended for testing
|
||||
and to demonstrate how the DVB API works. This is called DVB v5
|
||||
tools and are grouped together with the ``v4l-utils`` git repository:
|
||||
|
||||
https://git.linuxtv.org/v4l-utils.git/
|
||||
|
||||
You can find more information at the LinuxTV wiki:
|
||||
|
||||
https://www.linuxtv.org/wiki/index.php/DVBv5_Tools
|
||||
|
||||
The first step is to get a list of services that are transmitted.
|
||||
|
||||
This is done by using several existing tools. You can use
|
||||
for example the ``dvbv5-scan`` tool. You can find more information
|
||||
about it at:
|
||||
|
||||
https://www.linuxtv.org/wiki/index.php/Dvbv5-scan
|
||||
|
||||
There are some other applications like ``w_scan`` [#]_ that do a
|
||||
blind scan, trying hard to find all possible channels, but
|
||||
those consumes a large amount of time to run.
|
||||
|
||||
.. [#] https://www.linuxtv.org/wiki/index.php/W_scan
|
||||
|
||||
Also, some applications like ``kaffeine`` have their own code
|
||||
to scan for services. So, you don't need to use an external
|
||||
application to obtain such list.
|
||||
|
||||
Most of such tools need a file containing a list of channel
|
||||
transponders available on your area. So, LinuxTV developers
|
||||
maintain tables of Digital TV channel transponders, receiving
|
||||
patches from the community to keep them updated.
|
||||
|
||||
This list is hosted at:
|
||||
|
||||
https://git.linuxtv.org/dtv-scan-tables.git
|
||||
|
||||
And packaged on several distributions.
|
||||
|
||||
Kaffeine has some blind scan support for some terrestrial standards.
|
||||
It also relies on DTV scan tables, although it contains a copy
|
||||
of it internally (and, if requested by the user, it will download
|
||||
newer versions of it).
|
||||
|
||||
If you are lucky you can just use one of the supplied channel
|
||||
transponders. If not, you may need to seek for such info at
|
||||
the Internet and create a new file. There are several sites with
|
||||
contains physical channel lists. For cable and satellite, usually
|
||||
knowing how to tune into a single channel is enough for the
|
||||
scanning tool to identify the other channels. On some places,
|
||||
this could also work for terrestrial transmissions.
|
||||
|
||||
Once you have a transponders list, you need to generate a services
|
||||
list with a tool like ``dvbv5-scan``.
|
||||
|
||||
Almost all modern Digital TV cards don't have built-in hardware
|
||||
MPEG-decoders. So, it is up to the application to get a MPEG-TS
|
||||
stream provided by the board, split it into audio, video and other
|
||||
data and decode.
|
||||
|
||||
3. Which Digital TV applications exist?
|
||||
|
||||
Several media player applications are capable of tuning into
|
||||
digital TV channels, including Kaffeine, Vlc, mplayer and MythTV.
|
||||
|
||||
Kaffeine aims to be very user-friendly, and it is maintained
|
||||
by one of the Kernel driver developers.
|
||||
|
||||
A comprehensive list of those and other apps can be found at:
|
||||
|
||||
https://www.linuxtv.org/wiki/index.php/TV_Related_Software
|
||||
|
||||
Some of the most popular ones are linked below:
|
||||
|
||||
https://kde.org/applications/multimedia/org.kde.kaffeine
|
||||
KDE media player, focused on Digital TV support
|
||||
|
||||
https://www.linuxtv.org/vdrwiki/index.php/Main_Page
|
||||
Klaus Schmidinger's Video Disk Recorder
|
||||
|
||||
https://linuxtv.org/downloads and https://git.linuxtv.org/
|
||||
Digital TV and other media-related applications and
|
||||
Kernel drivers. The ``v4l-utils`` package there contains
|
||||
several swiss knife tools for using with Digital TV.
|
||||
|
||||
http://sourceforge.net/projects/dvbtools/
|
||||
Dave Chapman's dvbtools package, including
|
||||
dvbstream and dvbtune
|
||||
|
||||
http://www.dbox2.info/
|
||||
LinuxDVB on the dBox2
|
||||
|
||||
http://www.tuxbox.org/
|
||||
the TuxBox CVS many interesting DVB applications and the dBox2
|
||||
DVB source
|
||||
|
||||
http://www.nenie.org/misc/mpsys/
|
||||
MPSYS: a MPEG2 system library and tools
|
||||
|
||||
https://www.videolan.org/vlc/index.pt.html
|
||||
Vlc
|
||||
|
||||
http://mplayerhq.hu/
|
||||
MPlayer
|
||||
|
||||
http://xine.sourceforge.net/ and http://xinehq.de/
|
||||
Xine
|
||||
|
||||
http://www.mythtv.org/
|
||||
MythTV - analog TV and digital TV PVR
|
||||
|
||||
http://dvbsnoop.sourceforge.net/
|
||||
DVB sniffer program to monitor, analyze, debug, dump
|
||||
or view dvb/mpeg/dsm-cc/mhp stream information (TS,
|
||||
PES, SECTION)
|
||||
|
||||
4. Can't get a signal tuned correctly
|
||||
|
||||
That could be due to a lot of problems. On my personal experience,
|
||||
usually TV cards need stronger signals than TV sets, and are more
|
||||
sensitive to noise. So, perhaps you just need a better antenna or
|
||||
cabling. Yet, it could also be some hardware or driver issue.
|
||||
|
||||
For example, if you are using a Technotrend/Hauppauge DVB-C card
|
||||
*without* analog module, you might have to use module parameter
|
||||
adac=-1 (dvb-ttpci.o).
|
||||
|
||||
Please see the FAQ page at linuxtv.org, as it could contain some
|
||||
valuable information:
|
||||
|
||||
https://www.linuxtv.org/wiki/index.php/FAQ_%26_Troubleshooting
|
||||
|
||||
If that doesn't work, check at the linux-media ML archives, to
|
||||
see if someone else had a similar problem with your hardware
|
||||
and/or digital TV service provider:
|
||||
|
||||
https://lore.kernel.org/linux-media/
|
||||
|
||||
If none of this works, you can try sending an e-mail to the
|
||||
linux-media ML and see if someone else could shed some light.
|
||||
The e-mail is linux-media AT vger.kernel.org.
|
||||
|
||||
5. The dvb_net device doesn't give me any packets at all
|
||||
|
||||
Run ``tcpdump`` on the ``dvb0_0`` interface. This sets the interface
|
||||
into promiscuous mode so it accepts any packets from the PID
|
||||
you have configured with the ``dvbnet`` utility. Check if there
|
||||
are any packets with the IP addr and MAC addr you have
|
||||
configured with ``ifconfig`` or with ``ip addr``.
|
||||
|
||||
If ``tcpdump`` doesn't give you any output, check the statistics
|
||||
which ``ifconfig`` or ``netstat -ni`` outputs. (Note: If the MAC
|
||||
address is wrong, ``dvb_net`` won't get any input; thus you have to
|
||||
run ``tcpdump`` before checking the statistics.) If there are no
|
||||
packets at all then maybe the PID is wrong. If there are error packets,
|
||||
then either the PID is wrong or the stream does not conform to
|
||||
the MPE standard (EN 301 192, http://www.etsi.org/). You can
|
||||
use e.g. ``dvbsnoop`` for debugging.
|
||||
|
||||
6. The ``dvb_net`` device doesn't give me any multicast packets
|
||||
|
||||
Check your routes if they include the multicast address range.
|
||||
Additionally make sure that "source validation by reversed path
|
||||
lookup" is disabled::
|
||||
|
||||
$ "echo 0 > /proc/sys/net/ipv4/conf/dvb0/rp_filter"
|
||||
|
||||
7. What are all those modules that need to be loaded?
|
||||
|
||||
In order to make it more flexible and support different hardware
|
||||
combinations, the media subsystem is written on a modular way.
|
||||
|
||||
So, besides the Digital TV hardware module for the main chipset,
|
||||
it also needs to load a frontend driver, plus the Digital TV
|
||||
core. If the board also has remote controller, it will also
|
||||
need the remote controller core and the remote controller tables.
|
||||
The same happens if the board has support for analog TV: the
|
||||
core support for video4linux need to be loaded.
|
||||
|
||||
The actual module names are Linux-kernel version specific, as,
|
||||
from time to time, things change, in order to make the media
|
||||
support more flexible.
|
153
Documentation/admin-guide/media/fimc.rst
Normal file
153
Documentation/admin-guide/media/fimc.rst
Normal file
@ -0,0 +1,153 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: <isonum.txt>
|
||||
|
||||
The Samsung S5P/EXYNOS4 FIMC driver
|
||||
===================================
|
||||
|
||||
Copyright |copy| 2012 - 2013 Samsung Electronics Co., Ltd.
|
||||
|
||||
The FIMC (Fully Interactive Mobile Camera) device available in Samsung
|
||||
SoC Application Processors is an integrated camera host interface, color
|
||||
space converter, image resizer and rotator. It's also capable of capturing
|
||||
data from LCD controller (FIMD) through the SoC internal writeback data
|
||||
path. There are multiple FIMC instances in the SoCs (up to 4), having
|
||||
slightly different capabilities, like pixel alignment constraints, rotator
|
||||
availability, LCD writeback support, etc. The driver is located at
|
||||
drivers/media/platform/exynos4-is directory.
|
||||
|
||||
Supported SoCs
|
||||
--------------
|
||||
|
||||
S5PC100 (mem-to-mem only), S5PV210, EXYNOS4210
|
||||
|
||||
Supported features
|
||||
------------------
|
||||
|
||||
- camera parallel interface capture (ITU-R.BT601/565);
|
||||
- camera serial interface capture (MIPI-CSI2);
|
||||
- memory-to-memory processing (color space conversion, scaling, mirror
|
||||
and rotation);
|
||||
- dynamic pipeline re-configuration at runtime (re-attachment of any FIMC
|
||||
instance to any parallel video input or any MIPI-CSI front-end);
|
||||
- runtime PM and system wide suspend/resume
|
||||
|
||||
Not currently supported
|
||||
-----------------------
|
||||
|
||||
- LCD writeback input
|
||||
- per frame clock gating (mem-to-mem)
|
||||
|
||||
User space interfaces
|
||||
---------------------
|
||||
|
||||
Media device interface
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The driver supports Media Controller API as defined at :ref:`media_controller`.
|
||||
The media device driver name is "SAMSUNG S5P FIMC".
|
||||
|
||||
The purpose of this interface is to allow changing assignment of FIMC instances
|
||||
to the SoC peripheral camera input at runtime and optionally to control internal
|
||||
connections of the MIPI-CSIS device(s) to the FIMC entities.
|
||||
|
||||
The media device interface allows to configure the SoC for capturing image
|
||||
data from the sensor through more than one FIMC instance (e.g. for simultaneous
|
||||
viewfinder and still capture setup).
|
||||
|
||||
Reconfiguration is done by enabling/disabling media links created by the driver
|
||||
during initialization. The internal device topology can be easily discovered
|
||||
through media entity and links enumeration.
|
||||
|
||||
Memory-to-memory video node
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
V4L2 memory-to-memory interface at /dev/video? device node. This is standalone
|
||||
video device, it has no media pads. However please note the mem-to-mem and
|
||||
capture video node operation on same FIMC instance is not allowed. The driver
|
||||
detects such cases but the applications should prevent them to avoid an
|
||||
undefined behaviour.
|
||||
|
||||
Capture video node
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The driver supports V4L2 Video Capture Interface as defined at
|
||||
:ref:`devices`.
|
||||
|
||||
At the capture and mem-to-mem video nodes only the multi-planar API is
|
||||
supported. For more details see: :ref:`planar-apis`.
|
||||
|
||||
Camera capture subdevs
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Each FIMC instance exports a sub-device node (/dev/v4l-subdev?), a sub-device
|
||||
node is also created per each available and enabled at the platform level
|
||||
MIPI-CSI receiver device (currently up to two).
|
||||
|
||||
sysfs
|
||||
~~~~~
|
||||
|
||||
In order to enable more precise camera pipeline control through the sub-device
|
||||
API the driver creates a sysfs entry associated with "s5p-fimc-md" platform
|
||||
device. The entry path is: /sys/platform/devices/s5p-fimc-md/subdev_conf_mode.
|
||||
|
||||
In typical use case there could be a following capture pipeline configuration:
|
||||
sensor subdev -> mipi-csi subdev -> fimc subdev -> video node
|
||||
|
||||
When we configure these devices through sub-device API at user space, the
|
||||
configuration flow must be from left to right, and the video node is
|
||||
configured as last one.
|
||||
|
||||
When we don't use sub-device user space API the whole configuration of all
|
||||
devices belonging to the pipeline is done at the video node driver.
|
||||
The sysfs entry allows to instruct the capture node driver not to configure
|
||||
the sub-devices (format, crop), to avoid resetting the subdevs' configuration
|
||||
when the last configuration steps at the video node is performed.
|
||||
|
||||
For full sub-device control support (subdevs configured at user space before
|
||||
starting streaming):
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# echo "sub-dev" > /sys/platform/devices/s5p-fimc-md/subdev_conf_mode
|
||||
|
||||
For V4L2 video node control only (subdevs configured internally by the host
|
||||
driver):
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# echo "vid-dev" > /sys/platform/devices/s5p-fimc-md/subdev_conf_mode
|
||||
|
||||
This is a default option.
|
||||
|
||||
5. Device mapping to video and subdev device nodes
|
||||
--------------------------------------------------
|
||||
|
||||
There are associated two video device nodes with each device instance in
|
||||
hardware - video capture and mem-to-mem and additionally a subdev node for
|
||||
more precise FIMC capture subsystem control. In addition a separate v4l2
|
||||
sub-device node is created per each MIPI-CSIS device.
|
||||
|
||||
How to find out which /dev/video? or /dev/v4l-subdev? is assigned to which
|
||||
device?
|
||||
|
||||
You can either grep through the kernel log to find relevant information, i.e.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# dmesg | grep -i fimc
|
||||
|
||||
(note that udev, if present, might still have rearranged the video nodes),
|
||||
|
||||
or retrieve the information from /dev/media? with help of the media-ctl tool:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# media-ctl -p
|
||||
|
||||
7. Build
|
||||
--------
|
||||
|
||||
If the driver is built as a loadable kernel module (CONFIG_VIDEO_SAMSUNG_S5P_FIMC=m)
|
||||
two modules are created (in addition to the core v4l2 modules): s5p-fimc.ko and
|
||||
optional s5p-csis.ko (MIPI-CSI receiver subdev).
|
226
Documentation/admin-guide/media/frontend-cardlist.rst
Normal file
226
Documentation/admin-guide/media/frontend-cardlist.rst
Normal file
@ -0,0 +1,226 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
================
|
||||
Frontend drivers
|
||||
================
|
||||
|
||||
.. note::
|
||||
|
||||
#) There is no guarantee that every frontend driver works
|
||||
out of the box with every card, because of different wiring.
|
||||
|
||||
#) The demodulator chips can be used with a variety of
|
||||
tuner/PLL chips, and not all combinations are supported. Often
|
||||
the demodulator and tuner/PLL chip are inside a metal box for
|
||||
shielding, and the whole metal box has its own part number.
|
||||
|
||||
|
||||
Common Interface (EN50221) controller drivers
|
||||
=============================================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
cxd2099 Sony CXD2099AR Common Interface driver
|
||||
sp2 CIMaX SP2
|
||||
============== =========================================================
|
||||
|
||||
ATSC (North American/Korean Terrestrial/Cable DTV) frontends
|
||||
============================================================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
au8522_dig Auvitek AU8522 based DTV demod
|
||||
au8522_decoder Auvitek AU8522 based ATV demod
|
||||
bcm3510 Broadcom BCM3510
|
||||
lg2160 LG Electronics LG216x based
|
||||
lgdt3305 LG Electronics LGDT3304 and LGDT3305 based
|
||||
lgdt3306a LG Electronics LGDT3306A based
|
||||
lgdt330x LG Electronics LGDT3302/LGDT3303 based
|
||||
nxt200x NxtWave Communications NXT2002/NXT2004 based
|
||||
or51132 Oren OR51132 based
|
||||
or51211 Oren OR51211 based
|
||||
s5h1409 Samsung S5H1409 based
|
||||
s5h1411 Samsung S5H1411 based
|
||||
============== =========================================================
|
||||
|
||||
DVB-C (cable) frontends
|
||||
=======================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
stv0297 ST STV0297 based
|
||||
tda10021 Philips TDA10021 based
|
||||
tda10023 Philips TDA10023 based
|
||||
ves1820 VLSI VES1820 based
|
||||
============== =========================================================
|
||||
|
||||
DVB-S (satellite) frontends
|
||||
===========================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
cx24110 Conexant CX24110 based
|
||||
cx24116 Conexant CX24116 based
|
||||
cx24117 Conexant CX24117 based
|
||||
cx24120 Conexant CX24120 based
|
||||
cx24123 Conexant CX24123 based
|
||||
ds3000 Montage Tehnology DS3000 based
|
||||
mb86a16 Fujitsu MB86A16 based
|
||||
mt312 Zarlink VP310/MT312/ZL10313 based
|
||||
s5h1420 Samsung S5H1420 based
|
||||
si21xx Silicon Labs SI21XX based
|
||||
stb6000 ST STB6000 silicon tuner
|
||||
stv0288 ST STV0288 based
|
||||
stv0299 ST STV0299 based
|
||||
stv0900 ST STV0900 based
|
||||
stv6110 ST STV6110 silicon tuner
|
||||
tda10071 NXP TDA10071
|
||||
tda10086 Philips TDA10086 based
|
||||
tda8083 Philips TDA8083 based
|
||||
tda8261 Philips TDA8261 based
|
||||
tda826x Philips TDA826X silicon tuner
|
||||
ts2020 Montage Tehnology TS2020 based tuners
|
||||
tua6100 Infineon TUA6100 PLL
|
||||
cx24113 Conexant CX24113/CX24128 tuner for DVB-S/DSS
|
||||
itd1000 Integrant ITD1000 Zero IF tuner for DVB-S/DSS
|
||||
ves1x93 VLSI VES1893 or VES1993 based
|
||||
zl10036 Zarlink ZL10036 silicon tuner
|
||||
zl10039 Zarlink ZL10039 silicon tuner
|
||||
============== =========================================================
|
||||
|
||||
DVB-T (terrestrial) frontends
|
||||
=============================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
af9013 Afatech AF9013 demodulator
|
||||
cx22700 Conexant CX22700 based
|
||||
cx22702 Conexant cx22702 demodulator (OFDM)
|
||||
cxd2820r Sony CXD2820R
|
||||
cxd2841er Sony CXD2841ER
|
||||
cxd2880 Sony CXD2880 DVB-T2/T tuner + demodulator
|
||||
dib3000mb DiBcom 3000M-B
|
||||
dib3000mc DiBcom 3000P/M-C
|
||||
dib7000m DiBcom 7000MA/MB/PA/PB/MC
|
||||
dib7000p DiBcom 7000PC
|
||||
dib9000 DiBcom 9000
|
||||
drxd Micronas DRXD driver
|
||||
ec100 E3C EC100
|
||||
l64781 LSI L64781
|
||||
mt352 Zarlink MT352 based
|
||||
nxt6000 NxtWave Communications NXT6000 based
|
||||
rtl2830 Realtek RTL2830 DVB-T
|
||||
rtl2832 Realtek RTL2832 DVB-T
|
||||
rtl2832_sdr Realtek RTL2832 SDR
|
||||
s5h1432 Samsung s5h1432 demodulator (OFDM)
|
||||
si2168 Silicon Labs Si2168
|
||||
sp8870 Spase sp8870 based
|
||||
sp887x Spase sp887x based
|
||||
stv0367 ST STV0367 based
|
||||
tda10048 Philips TDA10048HN based
|
||||
tda1004x Philips TDA10045H/TDA10046H based
|
||||
zd1301_demod ZyDAS ZD1301
|
||||
zl10353 Zarlink ZL10353 based
|
||||
============== =========================================================
|
||||
|
||||
Digital terrestrial only tuners/PLL
|
||||
===================================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
dvb-pll Generic I2C PLL based tuners
|
||||
dib0070 DiBcom DiB0070 silicon base-band tuner
|
||||
dib0090 DiBcom DiB0090 silicon base-band tuner
|
||||
============== =========================================================
|
||||
|
||||
ISDB-S (satellite) & ISDB-T (terrestrial) frontends
|
||||
===================================================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
mn88443x Socionext MN88443x
|
||||
tc90522 Toshiba TC90522
|
||||
============== =========================================================
|
||||
|
||||
ISDB-T (terrestrial) frontends
|
||||
==============================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
dib8000 DiBcom 8000MB/MC
|
||||
mb86a20s Fujitsu mb86a20s
|
||||
s921 Sharp S921 frontend
|
||||
============== =========================================================
|
||||
|
||||
Multistandard (cable + terrestrial) frontends
|
||||
=============================================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
drxk Micronas DRXK based
|
||||
mn88472 Panasonic MN88472
|
||||
mn88473 Panasonic MN88473
|
||||
si2165 Silicon Labs si2165 based
|
||||
tda18271c2dd NXP TDA18271C2 silicon tuner
|
||||
============== =========================================================
|
||||
|
||||
Multistandard (satellite) frontends
|
||||
===================================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
m88ds3103 Montage Technology M88DS3103
|
||||
mxl5xx MaxLinear MxL5xx based tuner-demodulators
|
||||
stb0899 STB0899 based
|
||||
stb6100 STB6100 based tuners
|
||||
stv090x STV0900/STV0903(A/B) based
|
||||
stv0910 STV0910 based
|
||||
stv6110x STV6110/(A) based tuners
|
||||
stv6111 STV6111 based tuners
|
||||
============== =========================================================
|
||||
|
||||
SEC control devices for DVB-S
|
||||
=============================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
a8293 Allegro A8293
|
||||
af9033 Afatech AF9033 DVB-T demodulator
|
||||
ascot2e Sony Ascot2E tuner
|
||||
atbm8830 AltoBeam ATBM8830/8831 DMB-TH demodulator
|
||||
drx39xyj Micronas DRX-J demodulator
|
||||
helene Sony HELENE Sat/Ter tuner (CXD2858ER)
|
||||
horus3a Sony Horus3A tuner
|
||||
isl6405 ISL6405 SEC controller
|
||||
isl6421 ISL6421 SEC controller
|
||||
isl6423 ISL6423 SEC controller
|
||||
ix2505v Sharp IX2505V silicon tuner
|
||||
lgs8gl5 Silicon Legend LGS-8GL5 demodulator (OFDM)
|
||||
lgs8gxx Legend Silicon LGS8913/LGS8GL5/LGS8GXX DMB-TH demodulator
|
||||
lnbh25 LNBH25 SEC controller
|
||||
lnbh29 LNBH29 SEC controller
|
||||
lnbp21 LNBP21/LNBH24 SEC controllers
|
||||
lnbp22 LNBP22 SEC controllers
|
||||
m88rs2000 M88RS2000 DVB-S demodulator and tuner
|
||||
tda665x TDA665x tuner
|
||||
============== =========================================================
|
||||
|
||||
Tools to develop new frontends
|
||||
==============================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
dvb_dummy_fe Dummy frontend driver
|
||||
============== =========================================================
|
290
Documentation/admin-guide/media/i2c-cardlist.rst
Normal file
290
Documentation/admin-guide/media/i2c-cardlist.rst
Normal file
@ -0,0 +1,290 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
I²C drivers
|
||||
===========
|
||||
|
||||
The I²C (Inter-Integrated Circuit) bus is a three-wires bus used internally
|
||||
at the media cards for communication between different chips. While the bus
|
||||
is not visible to the Linux Kernel, drivers need to send and receive
|
||||
commands via the bus. The Linux Kernel driver abstraction has support to
|
||||
implement different drivers for each component inside an I²C bus, as if
|
||||
the bus were visible to the main system board.
|
||||
|
||||
One of the problems with I²C devices is that sometimes the same device may
|
||||
work with different I²C hardware. This is common, for example, on devices
|
||||
that comes with a tuner for North America market, and another one for
|
||||
Europe. Some drivers have a ``tuner=`` modprobe parameter to allow using a
|
||||
different tuner number in order to address such issue.
|
||||
|
||||
The current supported of I²C drivers (not including staging drivers) are
|
||||
listed below.
|
||||
|
||||
Audio decoders, processors and mixers
|
||||
-------------------------------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
cs3308 Cirrus Logic CS3308 audio ADC
|
||||
cs5345 Cirrus Logic CS5345 audio ADC
|
||||
cs53l32a Cirrus Logic CS53L32A audio ADC
|
||||
msp3400 Micronas MSP34xx audio decoders
|
||||
sony-btf-mpx Sony BTF's internal MPX
|
||||
tda1997x NXP TDA1997x HDMI receiver
|
||||
tda7432 Philips TDA7432 audio processor
|
||||
tda9840 Philips TDA9840 audio processor
|
||||
tea6415c Philips TEA6415C audio processor
|
||||
tea6420 Philips TEA6420 audio processor
|
||||
tlv320aic23b Texas Instruments TLV320AIC23B audio codec
|
||||
tvaudio Simple audio decoder chips
|
||||
uda1342 Philips UDA1342 audio codec
|
||||
vp27smpx Panasonic VP27's internal MPX
|
||||
wm8739 Wolfson Microelectronics WM8739 stereo audio ADC
|
||||
wm8775 Wolfson Microelectronics WM8775 audio ADC with input mixer
|
||||
============ ==========================================================
|
||||
|
||||
Audio/Video compression chips
|
||||
-----------------------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
saa6752hs Philips SAA6752HS MPEG-2 Audio/Video Encoder
|
||||
============ ==========================================================
|
||||
|
||||
Camera sensor devices
|
||||
---------------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
et8ek8 ET8EK8 camera sensor
|
||||
hi556 Hynix Hi-556 sensor
|
||||
imx214 Sony IMX214 sensor
|
||||
imx219 Sony IMX219 sensor
|
||||
imx258 Sony IMX258 sensor
|
||||
imx274 Sony IMX274 sensor
|
||||
imx290 Sony IMX290 sensor
|
||||
imx319 Sony IMX319 sensor
|
||||
imx355 Sony IMX355 sensor
|
||||
m5mols Fujitsu M-5MOLS 8MP sensor
|
||||
mt9m001 mt9m001
|
||||
mt9m032 MT9M032 camera sensor
|
||||
mt9m111 mt9m111, mt9m112 and mt9m131
|
||||
mt9p031 Aptina MT9P031
|
||||
mt9t001 Aptina MT9T001
|
||||
mt9t112 Aptina MT9T111/MT9T112
|
||||
mt9v011 Micron mt9v011 sensor
|
||||
mt9v032 Micron MT9V032 sensor
|
||||
mt9v111 Aptina MT9V111 sensor
|
||||
noon010pc30 Siliconfile NOON010PC30 sensor
|
||||
ov13858 OmniVision OV13858 sensor
|
||||
ov2640 OmniVision OV2640 sensor
|
||||
ov2659 OmniVision OV2659 sensor
|
||||
ov2680 OmniVision OV2680 sensor
|
||||
ov2685 OmniVision OV2685 sensor
|
||||
ov5640 OmniVision OV5640 sensor
|
||||
ov5645 OmniVision OV5645 sensor
|
||||
ov5647 OmniVision OV5647 sensor
|
||||
ov5670 OmniVision OV5670 sensor
|
||||
ov5675 OmniVision OV5675 sensor
|
||||
ov5695 OmniVision OV5695 sensor
|
||||
ov6650 OmniVision OV6650 sensor
|
||||
ov7251 OmniVision OV7251 sensor
|
||||
ov7640 OmniVision OV7640 sensor
|
||||
ov7670 OmniVision OV7670 sensor
|
||||
ov772x OmniVision OV772x sensor
|
||||
ov7740 OmniVision OV7740 sensor
|
||||
ov8856 OmniVision OV8856 sensor
|
||||
ov9640 OmniVision OV9640 sensor
|
||||
ov9650 OmniVision OV9650/OV9652 sensor
|
||||
rj54n1cb0c Sharp RJ54N1CB0C sensor
|
||||
s5c73m3 Samsung S5C73M3 sensor
|
||||
s5k4ecgx Samsung S5K4ECGX sensor
|
||||
s5k5baf Samsung S5K5BAF sensor
|
||||
s5k6a3 Samsung S5K6A3 sensor
|
||||
s5k6aa Samsung S5K6AAFX sensor
|
||||
smiapp SMIA++/SMIA sensor
|
||||
sr030pc30 Siliconfile SR030PC30 sensor
|
||||
vs6624 ST VS6624 sensor
|
||||
============ ==========================================================
|
||||
|
||||
Flash devices
|
||||
-------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
adp1653 ADP1653 flash
|
||||
lm3560 LM3560 dual flash driver
|
||||
lm3646 LM3646 dual flash driver
|
||||
============ ==========================================================
|
||||
|
||||
IR I2C driver
|
||||
-------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
ir-kbd-i2c I2C module for IR
|
||||
============ ==========================================================
|
||||
|
||||
Lens drivers
|
||||
------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
ad5820 AD5820 lens voice coil
|
||||
ak7375 AK7375 lens voice coil
|
||||
dw9714 DW9714 lens voice coil
|
||||
dw9807-vcm DW9807 lens voice coil
|
||||
============ ==========================================================
|
||||
|
||||
Miscellaneous helper chips
|
||||
--------------------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
video-i2c I2C transport video
|
||||
m52790 Mitsubishi M52790 A/V switch
|
||||
st-mipid02 STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge
|
||||
ths7303 THS7303/53 Video Amplifier
|
||||
============ ==========================================================
|
||||
|
||||
RDS decoders
|
||||
------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
saa6588 SAA6588 Radio Chip RDS decoder
|
||||
============ ==========================================================
|
||||
|
||||
SDR tuner chips
|
||||
---------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
max2175 Maxim 2175 RF to Bits tuner
|
||||
============ ==========================================================
|
||||
|
||||
Video and audio decoders
|
||||
------------------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
cx25840 Conexant CX2584x audio/video decoders
|
||||
saa717x Philips SAA7171/3/4 audio/video decoders
|
||||
============ ==========================================================
|
||||
|
||||
Video decoders
|
||||
--------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
adv7180 Analog Devices ADV7180 decoder
|
||||
adv7183 Analog Devices ADV7183 decoder
|
||||
adv748x Analog Devices ADV748x decoder
|
||||
adv7604 Analog Devices ADV7604 decoder
|
||||
adv7842 Analog Devices ADV7842 decoder
|
||||
bt819 BT819A VideoStream decoder
|
||||
bt856 BT856 VideoStream decoder
|
||||
bt866 BT866 VideoStream decoder
|
||||
ks0127 KS0127 video decoder
|
||||
ml86v7667 OKI ML86V7667 video decoder
|
||||
saa7110 Philips SAA7110 video decoder
|
||||
saa7115 Philips SAA7111/3/4/5 video decoders
|
||||
tc358743 Toshiba TC358743 decoder
|
||||
tvp514x Texas Instruments TVP514x video decoder
|
||||
tvp5150 Texas Instruments TVP5150 video decoder
|
||||
tvp7002 Texas Instruments TVP7002 video decoder
|
||||
tw2804 Techwell TW2804 multiple video decoder
|
||||
tw9903 Techwell TW9903 video decoder
|
||||
tw9906 Techwell TW9906 video decoder
|
||||
tw9910 Techwell TW9910 video decoder
|
||||
vpx3220 vpx3220a, vpx3216b & vpx3214c video decoders
|
||||
============ ==========================================================
|
||||
|
||||
Video encoders
|
||||
--------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
ad9389b Analog Devices AD9389B encoder
|
||||
adv7170 Analog Devices ADV7170 video encoder
|
||||
adv7175 Analog Devices ADV7175 video encoder
|
||||
adv7343 ADV7343 video encoder
|
||||
adv7393 ADV7393 video encoder
|
||||
adv7511-v4l2 Analog Devices ADV7511 encoder
|
||||
ak881x AK8813/AK8814 video encoders
|
||||
saa7127 Philips SAA7127/9 digital video encoders
|
||||
saa7185 Philips SAA7185 video encoder
|
||||
ths8200 Texas Instruments THS8200 video encoder
|
||||
============ ==========================================================
|
||||
|
||||
Video improvement chips
|
||||
-----------------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
upd64031a NEC Electronics uPD64031A Ghost Reduction
|
||||
upd64083 NEC Electronics uPD64083 3-Dimensional Y/C separation
|
||||
============ ==========================================================
|
||||
|
||||
Tuner drivers
|
||||
-------------
|
||||
|
||||
============ ==================================================
|
||||
Driver Name
|
||||
============ ==================================================
|
||||
e4000 Elonics E4000 silicon tuner
|
||||
fc0011 Fitipower FC0011 silicon tuner
|
||||
fc0012 Fitipower FC0012 silicon tuner
|
||||
fc0013 Fitipower FC0013 silicon tuner
|
||||
fc2580 FCI FC2580 silicon tuner
|
||||
it913x ITE Tech IT913x silicon tuner
|
||||
m88rs6000t Montage M88RS6000 internal tuner
|
||||
max2165 Maxim MAX2165 silicon tuner
|
||||
mc44s803 Freescale MC44S803 Low Power CMOS Broadband tuners
|
||||
msi001 Mirics MSi001
|
||||
mt2060 Microtune MT2060 silicon IF tuner
|
||||
mt2063 Microtune MT2063 silicon IF tuner
|
||||
mt20xx Microtune 2032 / 2050 tuners
|
||||
mt2131 Microtune MT2131 silicon tuner
|
||||
mt2266 Microtune MT2266 silicon tuner
|
||||
mxl301rf MaxLinear MxL301RF tuner
|
||||
mxl5005s MaxLinear MSL5005S silicon tuner
|
||||
mxl5007t MaxLinear MxL5007T silicon tuner
|
||||
qm1d1b0004 Sharp QM1D1B0004 tuner
|
||||
qm1d1c0042 Sharp QM1D1C0042 tuner
|
||||
qt1010 Quantek QT1010 silicon tuner
|
||||
r820t Rafael Micro R820T silicon tuner
|
||||
si2157 Silicon Labs Si2157 silicon tuner
|
||||
tuner-types Simple tuner support
|
||||
tda18212 NXP TDA18212 silicon tuner
|
||||
tda18218 NXP TDA18218 silicon tuner
|
||||
tda18250 NXP TDA18250 silicon tuner
|
||||
tda18271 NXP TDA18271 silicon tuner
|
||||
tda827x Philips TDA827X silicon tuner
|
||||
tda8290 TDA 8290/8295 + 8275(a)/18271 tuner combo
|
||||
tda9887 TDA 9885/6/7 analog IF demodulator
|
||||
tea5761 TEA 5761 radio tuner
|
||||
tea5767 TEA 5767 radio tuner
|
||||
tua9001 Infineon TUA9001 silicon tuner
|
||||
tuner-xc2028 XCeive xc2028/xc3028 tuners
|
||||
xc4000 Xceive XC4000 silicon tuner
|
||||
xc5000 Xceive XC5000 silicon tuner
|
||||
============ ==================================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
tuner-cardlist
|
||||
frontend-cardlist
|
714
Documentation/admin-guide/media/imx.rst
Normal file
714
Documentation/admin-guide/media/imx.rst
Normal file
@ -0,0 +1,714 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
i.MX Video Capture Driver
|
||||
=========================
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
The Freescale i.MX5/6 contains an Image Processing Unit (IPU), which
|
||||
handles the flow of image frames to and from capture devices and
|
||||
display devices.
|
||||
|
||||
For image capture, the IPU contains the following internal subunits:
|
||||
|
||||
- Image DMA Controller (IDMAC)
|
||||
- Camera Serial Interface (CSI)
|
||||
- Image Converter (IC)
|
||||
- Sensor Multi-FIFO Controller (SMFC)
|
||||
- Image Rotator (IRT)
|
||||
- Video De-Interlacing or Combining Block (VDIC)
|
||||
|
||||
The IDMAC is the DMA controller for transfer of image frames to and from
|
||||
memory. Various dedicated DMA channels exist for both video capture and
|
||||
display paths. During transfer, the IDMAC is also capable of vertical
|
||||
image flip, 8x8 block transfer (see IRT description), pixel component
|
||||
re-ordering (for example UYVY to YUYV) within the same colorspace, and
|
||||
packed <--> planar conversion. The IDMAC can also perform a simple
|
||||
de-interlacing by interweaving even and odd lines during transfer
|
||||
(without motion compensation which requires the VDIC).
|
||||
|
||||
The CSI is the backend capture unit that interfaces directly with
|
||||
camera sensors over Parallel, BT.656/1120, and MIPI CSI-2 buses.
|
||||
|
||||
The IC handles color-space conversion, resizing (downscaling and
|
||||
upscaling), horizontal flip, and 90/270 degree rotation operations.
|
||||
|
||||
There are three independent "tasks" within the IC that can carry out
|
||||
conversions concurrently: pre-process encoding, pre-process viewfinder,
|
||||
and post-processing. Within each task, conversions are split into three
|
||||
sections: downsizing section, main section (upsizing, flip, colorspace
|
||||
conversion, and graphics plane combining), and rotation section.
|
||||
|
||||
The IPU time-shares the IC task operations. The time-slice granularity
|
||||
is one burst of eight pixels in the downsizing section, one image line
|
||||
in the main processing section, one image frame in the rotation section.
|
||||
|
||||
The SMFC is composed of four independent FIFOs that each can transfer
|
||||
captured frames from sensors directly to memory concurrently via four
|
||||
IDMAC channels.
|
||||
|
||||
The IRT carries out 90 and 270 degree image rotation operations. The
|
||||
rotation operation is carried out on 8x8 pixel blocks at a time. This
|
||||
operation is supported by the IDMAC which handles the 8x8 block transfer
|
||||
along with block reordering, in coordination with vertical flip.
|
||||
|
||||
The VDIC handles the conversion of interlaced video to progressive, with
|
||||
support for different motion compensation modes (low, medium, and high
|
||||
motion). The deinterlaced output frames from the VDIC can be sent to the
|
||||
IC pre-process viewfinder task for further conversions. The VDIC also
|
||||
contains a Combiner that combines two image planes, with alpha blending
|
||||
and color keying.
|
||||
|
||||
In addition to the IPU internal subunits, there are also two units
|
||||
outside the IPU that are also involved in video capture on i.MX:
|
||||
|
||||
- MIPI CSI-2 Receiver for camera sensors with the MIPI CSI-2 bus
|
||||
interface. This is a Synopsys DesignWare core.
|
||||
- Two video multiplexers for selecting among multiple sensor inputs
|
||||
to send to a CSI.
|
||||
|
||||
For more info, refer to the latest versions of the i.MX5/6 reference
|
||||
manuals [#f1]_ and [#f2]_.
|
||||
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
Some of the features of this driver include:
|
||||
|
||||
- Many different pipelines can be configured via media controller API,
|
||||
that correspond to the hardware video capture pipelines supported in
|
||||
the i.MX.
|
||||
|
||||
- Supports parallel, BT.565, and MIPI CSI-2 interfaces.
|
||||
|
||||
- Concurrent independent streams, by configuring pipelines to multiple
|
||||
video capture interfaces using independent entities.
|
||||
|
||||
- Scaling, color-space conversion, horizontal and vertical flip, and
|
||||
image rotation via IC task subdevs.
|
||||
|
||||
- Many pixel formats supported (RGB, packed and planar YUV, partial
|
||||
planar YUV).
|
||||
|
||||
- The VDIC subdev supports motion compensated de-interlacing, with three
|
||||
motion compensation modes: low, medium, and high motion. Pipelines are
|
||||
defined that allow sending frames to the VDIC subdev directly from the
|
||||
CSI. There is also support in the future for sending frames to the
|
||||
VDIC from memory buffers via a output/mem2mem devices.
|
||||
|
||||
- Includes a Frame Interval Monitor (FIM) that can correct vertical sync
|
||||
problems with the ADV718x video decoders.
|
||||
|
||||
|
||||
Topology
|
||||
--------
|
||||
|
||||
The following shows the media topologies for the i.MX6Q SabreSD and
|
||||
i.MX6Q SabreAuto. Refer to these diagrams in the entity descriptions
|
||||
in the next section.
|
||||
|
||||
The i.MX5/6 topologies can differ upstream from the IPUv3 CSI video
|
||||
multiplexers, but the internal IPUv3 topology downstream from there
|
||||
is common to all i.MX5/6 platforms. For example, the SabreSD, with the
|
||||
MIPI CSI-2 OV5640 sensor, requires the i.MX6 MIPI CSI-2 receiver. But
|
||||
the SabreAuto has only the ADV7180 decoder on a parallel bt.656 bus, and
|
||||
therefore does not require the MIPI CSI-2 receiver, so it is missing in
|
||||
its graph.
|
||||
|
||||
.. _imx6q_topology_graph:
|
||||
|
||||
.. kernel-figure:: imx6q-sabresd.dot
|
||||
:alt: Diagram of the i.MX6Q SabreSD media pipeline topology
|
||||
:align: center
|
||||
|
||||
Media pipeline graph on i.MX6Q SabreSD
|
||||
|
||||
.. kernel-figure:: imx6q-sabreauto.dot
|
||||
:alt: Diagram of the i.MX6Q SabreAuto media pipeline topology
|
||||
:align: center
|
||||
|
||||
Media pipeline graph on i.MX6Q SabreAuto
|
||||
|
||||
Entities
|
||||
--------
|
||||
|
||||
imx6-mipi-csi2
|
||||
--------------
|
||||
|
||||
This is the MIPI CSI-2 receiver entity. It has one sink pad to receive
|
||||
the MIPI CSI-2 stream (usually from a MIPI CSI-2 camera sensor). It has
|
||||
four source pads, corresponding to the four MIPI CSI-2 demuxed virtual
|
||||
channel outputs. Multiple source pads can be enabled to independently
|
||||
stream from multiple virtual channels.
|
||||
|
||||
This entity actually consists of two sub-blocks. One is the MIPI CSI-2
|
||||
core. This is a Synopsys Designware MIPI CSI-2 core. The other sub-block
|
||||
is a "CSI-2 to IPU gasket". The gasket acts as a demultiplexer of the
|
||||
four virtual channels streams, providing four separate parallel buses
|
||||
containing each virtual channel that are routed to CSIs or video
|
||||
multiplexers as described below.
|
||||
|
||||
On i.MX6 solo/dual-lite, all four virtual channel buses are routed to
|
||||
two video multiplexers. Both CSI0 and CSI1 can receive any virtual
|
||||
channel, as selected by the video multiplexers.
|
||||
|
||||
On i.MX6 Quad, virtual channel 0 is routed to IPU1-CSI0 (after selected
|
||||
by a video mux), virtual channels 1 and 2 are hard-wired to IPU1-CSI1
|
||||
and IPU2-CSI0, respectively, and virtual channel 3 is routed to
|
||||
IPU2-CSI1 (again selected by a video mux).
|
||||
|
||||
ipuX_csiY_mux
|
||||
-------------
|
||||
|
||||
These are the video multiplexers. They have two or more sink pads to
|
||||
select from either camera sensors with a parallel interface, or from
|
||||
MIPI CSI-2 virtual channels from imx6-mipi-csi2 entity. They have a
|
||||
single source pad that routes to a CSI (ipuX_csiY entities).
|
||||
|
||||
On i.MX6 solo/dual-lite, there are two video mux entities. One sits
|
||||
in front of IPU1-CSI0 to select between a parallel sensor and any of
|
||||
the four MIPI CSI-2 virtual channels (a total of five sink pads). The
|
||||
other mux sits in front of IPU1-CSI1, and again has five sink pads to
|
||||
select between a parallel sensor and any of the four MIPI CSI-2 virtual
|
||||
channels.
|
||||
|
||||
On i.MX6 Quad, there are two video mux entities. One sits in front of
|
||||
IPU1-CSI0 to select between a parallel sensor and MIPI CSI-2 virtual
|
||||
channel 0 (two sink pads). The other mux sits in front of IPU2-CSI1 to
|
||||
select between a parallel sensor and MIPI CSI-2 virtual channel 3 (two
|
||||
sink pads).
|
||||
|
||||
ipuX_csiY
|
||||
---------
|
||||
|
||||
These are the CSI entities. They have a single sink pad receiving from
|
||||
either a video mux or from a MIPI CSI-2 virtual channel as described
|
||||
above.
|
||||
|
||||
This entity has two source pads. The first source pad can link directly
|
||||
to the ipuX_vdic entity or the ipuX_ic_prp entity, using hardware links
|
||||
that require no IDMAC memory buffer transfer.
|
||||
|
||||
When the direct source pad is routed to the ipuX_ic_prp entity, frames
|
||||
from the CSI can be processed by one or both of the IC pre-processing
|
||||
tasks.
|
||||
|
||||
When the direct source pad is routed to the ipuX_vdic entity, the VDIC
|
||||
will carry out motion-compensated de-interlace using "high motion" mode
|
||||
(see description of ipuX_vdic entity).
|
||||
|
||||
The second source pad sends video frames directly to memory buffers
|
||||
via the SMFC and an IDMAC channel, bypassing IC pre-processing. This
|
||||
source pad is routed to a capture device node, with a node name of the
|
||||
format "ipuX_csiY capture".
|
||||
|
||||
Note that since the IDMAC source pad makes use of an IDMAC channel,
|
||||
pixel reordering within the same colorspace can be carried out by the
|
||||
IDMAC channel. For example, if the CSI sink pad is receiving in UYVY
|
||||
order, the capture device linked to the IDMAC source pad can capture
|
||||
in YUYV order. Also, if the CSI sink pad is receiving a packed YUV
|
||||
format, the capture device can capture a planar YUV format such as
|
||||
YUV420.
|
||||
|
||||
The IDMAC channel at the IDMAC source pad also supports simple
|
||||
interweave without motion compensation, which is activated if the source
|
||||
pad's field type is sequential top-bottom or bottom-top, and the
|
||||
requested capture interface field type is set to interlaced (t-b, b-t,
|
||||
or unqualified interlaced). The capture interface will enforce the same
|
||||
field order as the source pad field order (interlaced-bt if source pad
|
||||
is seq-bt, interlaced-tb if source pad is seq-tb).
|
||||
|
||||
For events produced by ipuX_csiY, see ref:`imx_api_ipuX_csiY`.
|
||||
|
||||
Cropping in ipuX_csiY
|
||||
---------------------
|
||||
|
||||
The CSI supports cropping the incoming raw sensor frames. This is
|
||||
implemented in the ipuX_csiY entities at the sink pad, using the
|
||||
crop selection subdev API.
|
||||
|
||||
The CSI also supports fixed divide-by-two downscaling independently in
|
||||
width and height. This is implemented in the ipuX_csiY entities at
|
||||
the sink pad, using the compose selection subdev API.
|
||||
|
||||
The output rectangle at the ipuX_csiY source pad is the same as
|
||||
the compose rectangle at the sink pad. So the source pad rectangle
|
||||
cannot be negotiated, it must be set using the compose selection
|
||||
API at sink pad (if /2 downscale is desired, otherwise source pad
|
||||
rectangle is equal to incoming rectangle).
|
||||
|
||||
To give an example of crop and /2 downscale, this will crop a
|
||||
1280x960 input frame to 640x480, and then /2 downscale in both
|
||||
dimensions to 320x240 (assumes ipu1_csi0 is linked to ipu1_csi0_mux):
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
media-ctl -V "'ipu1_csi0_mux':2[fmt:UYVY2X8/1280x960]"
|
||||
media-ctl -V "'ipu1_csi0':0[crop:(0,0)/640x480]"
|
||||
media-ctl -V "'ipu1_csi0':0[compose:(0,0)/320x240]"
|
||||
|
||||
Frame Skipping in ipuX_csiY
|
||||
---------------------------
|
||||
|
||||
The CSI supports frame rate decimation, via frame skipping. Frame
|
||||
rate decimation is specified by setting the frame intervals at
|
||||
sink and source pads. The ipuX_csiY entity then applies the best
|
||||
frame skip setting to the CSI to achieve the desired frame rate
|
||||
at the source pad.
|
||||
|
||||
The following example reduces an assumed incoming 60 Hz frame
|
||||
rate by half at the IDMAC output source pad:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
media-ctl -V "'ipu1_csi0':0[fmt:UYVY2X8/640x480@1/60]"
|
||||
media-ctl -V "'ipu1_csi0':2[fmt:UYVY2X8/640x480@1/30]"
|
||||
|
||||
Frame Interval Monitor in ipuX_csiY
|
||||
-----------------------------------
|
||||
|
||||
See ref:`imx_api_FIM`.
|
||||
|
||||
ipuX_vdic
|
||||
---------
|
||||
|
||||
The VDIC carries out motion compensated de-interlacing, with three
|
||||
motion compensation modes: low, medium, and high motion. The mode is
|
||||
specified with the menu control V4L2_CID_DEINTERLACING_MODE. The VDIC
|
||||
has two sink pads and a single source pad.
|
||||
|
||||
The direct sink pad receives from an ipuX_csiY direct pad. With this
|
||||
link the VDIC can only operate in high motion mode.
|
||||
|
||||
When the IDMAC sink pad is activated, it receives from an output
|
||||
or mem2mem device node. With this pipeline, the VDIC can also operate
|
||||
in low and medium modes, because these modes require receiving
|
||||
frames from memory buffers. Note that an output or mem2mem device
|
||||
is not implemented yet, so this sink pad currently has no links.
|
||||
|
||||
The source pad routes to the IC pre-processing entity ipuX_ic_prp.
|
||||
|
||||
ipuX_ic_prp
|
||||
-----------
|
||||
|
||||
This is the IC pre-processing entity. It acts as a router, routing
|
||||
data from its sink pad to one or both of its source pads.
|
||||
|
||||
This entity has a single sink pad. The sink pad can receive from the
|
||||
ipuX_csiY direct pad, or from ipuX_vdic.
|
||||
|
||||
This entity has two source pads. One source pad routes to the
|
||||
pre-process encode task entity (ipuX_ic_prpenc), the other to the
|
||||
pre-process viewfinder task entity (ipuX_ic_prpvf). Both source pads
|
||||
can be activated at the same time if the sink pad is receiving from
|
||||
ipuX_csiY. Only the source pad to the pre-process viewfinder task entity
|
||||
can be activated if the sink pad is receiving from ipuX_vdic (frames
|
||||
from the VDIC can only be processed by the pre-process viewfinder task).
|
||||
|
||||
ipuX_ic_prpenc
|
||||
--------------
|
||||
|
||||
This is the IC pre-processing encode entity. It has a single sink
|
||||
pad from ipuX_ic_prp, and a single source pad. The source pad is
|
||||
routed to a capture device node, with a node name of the format
|
||||
"ipuX_ic_prpenc capture".
|
||||
|
||||
This entity performs the IC pre-process encode task operations:
|
||||
color-space conversion, resizing (downscaling and upscaling),
|
||||
horizontal and vertical flip, and 90/270 degree rotation. Flip
|
||||
and rotation are provided via standard V4L2 controls.
|
||||
|
||||
Like the ipuX_csiY IDMAC source, this entity also supports simple
|
||||
de-interlace without motion compensation, and pixel reordering.
|
||||
|
||||
ipuX_ic_prpvf
|
||||
-------------
|
||||
|
||||
This is the IC pre-processing viewfinder entity. It has a single sink
|
||||
pad from ipuX_ic_prp, and a single source pad. The source pad is routed
|
||||
to a capture device node, with a node name of the format
|
||||
"ipuX_ic_prpvf capture".
|
||||
|
||||
This entity is identical in operation to ipuX_ic_prpenc, with the same
|
||||
resizing and CSC operations and flip/rotation controls. It will receive
|
||||
and process de-interlaced frames from the ipuX_vdic if ipuX_ic_prp is
|
||||
receiving from ipuX_vdic.
|
||||
|
||||
Like the ipuX_csiY IDMAC source, this entity supports simple
|
||||
interweaving without motion compensation. However, note that if the
|
||||
ipuX_vdic is included in the pipeline (ipuX_ic_prp is receiving from
|
||||
ipuX_vdic), it's not possible to use interweave in ipuX_ic_prpvf,
|
||||
since the ipuX_vdic has already carried out de-interlacing (with
|
||||
motion compensation) and therefore the field type output from
|
||||
ipuX_vdic can only be none (progressive).
|
||||
|
||||
Capture Pipelines
|
||||
-----------------
|
||||
|
||||
The following describe the various use-cases supported by the pipelines.
|
||||
|
||||
The links shown do not include the backend sensor, video mux, or mipi
|
||||
csi-2 receiver links. This depends on the type of sensor interface
|
||||
(parallel or mipi csi-2). So these pipelines begin with:
|
||||
|
||||
sensor -> ipuX_csiY_mux -> ...
|
||||
|
||||
for parallel sensors, or:
|
||||
|
||||
sensor -> imx6-mipi-csi2 -> (ipuX_csiY_mux) -> ...
|
||||
|
||||
for mipi csi-2 sensors. The imx6-mipi-csi2 receiver may need to route
|
||||
to the video mux (ipuX_csiY_mux) before sending to the CSI, depending
|
||||
on the mipi csi-2 virtual channel, hence ipuX_csiY_mux is shown in
|
||||
parenthesis.
|
||||
|
||||
Unprocessed Video Capture:
|
||||
--------------------------
|
||||
|
||||
Send frames directly from sensor to camera device interface node, with
|
||||
no conversions, via ipuX_csiY IDMAC source pad:
|
||||
|
||||
-> ipuX_csiY:2 -> ipuX_csiY capture
|
||||
|
||||
IC Direct Conversions:
|
||||
----------------------
|
||||
|
||||
This pipeline uses the preprocess encode entity to route frames directly
|
||||
from the CSI to the IC, to carry out scaling up to 1024x1024 resolution,
|
||||
CSC, flipping, and image rotation:
|
||||
|
||||
-> ipuX_csiY:1 -> 0:ipuX_ic_prp:1 -> 0:ipuX_ic_prpenc:1 -> ipuX_ic_prpenc capture
|
||||
|
||||
Motion Compensated De-interlace:
|
||||
--------------------------------
|
||||
|
||||
This pipeline routes frames from the CSI direct pad to the VDIC entity to
|
||||
support motion-compensated de-interlacing (high motion mode only),
|
||||
scaling up to 1024x1024, CSC, flip, and rotation:
|
||||
|
||||
-> ipuX_csiY:1 -> 0:ipuX_vdic:2 -> 0:ipuX_ic_prp:2 -> 0:ipuX_ic_prpvf:1 -> ipuX_ic_prpvf capture
|
||||
|
||||
|
||||
Usage Notes
|
||||
-----------
|
||||
|
||||
To aid in configuration and for backward compatibility with V4L2
|
||||
applications that access controls only from video device nodes, the
|
||||
capture device interfaces inherit controls from the active entities
|
||||
in the current pipeline, so controls can be accessed either directly
|
||||
from the subdev or from the active capture device interface. For
|
||||
example, the FIM controls are available either from the ipuX_csiY
|
||||
subdevs or from the active capture device.
|
||||
|
||||
The following are specific usage notes for the Sabre* reference
|
||||
boards:
|
||||
|
||||
|
||||
i.MX6Q SabreLite with OV5642 and OV5640
|
||||
---------------------------------------
|
||||
|
||||
This platform requires the OmniVision OV5642 module with a parallel
|
||||
camera interface, and the OV5640 module with a MIPI CSI-2
|
||||
interface. Both modules are available from Boundary Devices:
|
||||
|
||||
- https://boundarydevices.com/product/nit6x_5mp
|
||||
- https://boundarydevices.com/product/nit6x_5mp_mipi
|
||||
|
||||
Note that if only one camera module is available, the other sensor
|
||||
node can be disabled in the device tree.
|
||||
|
||||
The OV5642 module is connected to the parallel bus input on the i.MX
|
||||
internal video mux to IPU1 CSI0. It's i2c bus connects to i2c bus 2.
|
||||
|
||||
The MIPI CSI-2 OV5640 module is connected to the i.MX internal MIPI CSI-2
|
||||
receiver, and the four virtual channel outputs from the receiver are
|
||||
routed as follows: vc0 to the IPU1 CSI0 mux, vc1 directly to IPU1 CSI1,
|
||||
vc2 directly to IPU2 CSI0, and vc3 to the IPU2 CSI1 mux. The OV5640 is
|
||||
also connected to i2c bus 2 on the SabreLite, therefore the OV5642 and
|
||||
OV5640 must not share the same i2c slave address.
|
||||
|
||||
The following basic example configures unprocessed video capture
|
||||
pipelines for both sensors. The OV5642 is routed to ipu1_csi0, and
|
||||
the OV5640, transmitting on MIPI CSI-2 virtual channel 1 (which is
|
||||
imx6-mipi-csi2 pad 2), is routed to ipu1_csi1. Both sensors are
|
||||
configured to output 640x480, and the OV5642 outputs YUYV2X8, the
|
||||
OV5640 UYVY2X8:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# Setup links for OV5642
|
||||
media-ctl -l "'ov5642 1-0042':0 -> 'ipu1_csi0_mux':1[1]"
|
||||
media-ctl -l "'ipu1_csi0_mux':2 -> 'ipu1_csi0':0[1]"
|
||||
media-ctl -l "'ipu1_csi0':2 -> 'ipu1_csi0 capture':0[1]"
|
||||
# Setup links for OV5640
|
||||
media-ctl -l "'ov5640 1-0040':0 -> 'imx6-mipi-csi2':0[1]"
|
||||
media-ctl -l "'imx6-mipi-csi2':2 -> 'ipu1_csi1':0[1]"
|
||||
media-ctl -l "'ipu1_csi1':2 -> 'ipu1_csi1 capture':0[1]"
|
||||
# Configure pads for OV5642 pipeline
|
||||
media-ctl -V "'ov5642 1-0042':0 [fmt:YUYV2X8/640x480 field:none]"
|
||||
media-ctl -V "'ipu1_csi0_mux':2 [fmt:YUYV2X8/640x480 field:none]"
|
||||
media-ctl -V "'ipu1_csi0':2 [fmt:AYUV32/640x480 field:none]"
|
||||
# Configure pads for OV5640 pipeline
|
||||
media-ctl -V "'ov5640 1-0040':0 [fmt:UYVY2X8/640x480 field:none]"
|
||||
media-ctl -V "'imx6-mipi-csi2':2 [fmt:UYVY2X8/640x480 field:none]"
|
||||
media-ctl -V "'ipu1_csi1':2 [fmt:AYUV32/640x480 field:none]"
|
||||
|
||||
Streaming can then begin independently on the capture device nodes
|
||||
"ipu1_csi0 capture" and "ipu1_csi1 capture". The v4l2-ctl tool can
|
||||
be used to select any supported YUV pixelformat on the capture device
|
||||
nodes, including planar.
|
||||
|
||||
i.MX6Q SabreAuto with ADV7180 decoder
|
||||
-------------------------------------
|
||||
|
||||
On the i.MX6Q SabreAuto, an on-board ADV7180 SD decoder is connected to the
|
||||
parallel bus input on the internal video mux to IPU1 CSI0.
|
||||
|
||||
The following example configures a pipeline to capture from the ADV7180
|
||||
video decoder, assuming NTSC 720x480 input signals, using simple
|
||||
interweave (unconverted and without motion compensation). The adv7180
|
||||
must output sequential or alternating fields (field type 'seq-bt' for
|
||||
NTSC, or 'alternate'):
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# Setup links
|
||||
media-ctl -l "'adv7180 3-0021':0 -> 'ipu1_csi0_mux':1[1]"
|
||||
media-ctl -l "'ipu1_csi0_mux':2 -> 'ipu1_csi0':0[1]"
|
||||
media-ctl -l "'ipu1_csi0':2 -> 'ipu1_csi0 capture':0[1]"
|
||||
# Configure pads
|
||||
media-ctl -V "'adv7180 3-0021':0 [fmt:UYVY2X8/720x480 field:seq-bt]"
|
||||
media-ctl -V "'ipu1_csi0_mux':2 [fmt:UYVY2X8/720x480]"
|
||||
media-ctl -V "'ipu1_csi0':2 [fmt:AYUV32/720x480]"
|
||||
# Configure "ipu1_csi0 capture" interface (assumed at /dev/video4)
|
||||
v4l2-ctl -d4 --set-fmt-video=field=interlaced_bt
|
||||
|
||||
Streaming can then begin on /dev/video4. The v4l2-ctl tool can also be
|
||||
used to select any supported YUV pixelformat on /dev/video4.
|
||||
|
||||
This example configures a pipeline to capture from the ADV7180
|
||||
video decoder, assuming PAL 720x576 input signals, with Motion
|
||||
Compensated de-interlacing. The adv7180 must output sequential or
|
||||
alternating fields (field type 'seq-tb' for PAL, or 'alternate').
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# Setup links
|
||||
media-ctl -l "'adv7180 3-0021':0 -> 'ipu1_csi0_mux':1[1]"
|
||||
media-ctl -l "'ipu1_csi0_mux':2 -> 'ipu1_csi0':0[1]"
|
||||
media-ctl -l "'ipu1_csi0':1 -> 'ipu1_vdic':0[1]"
|
||||
media-ctl -l "'ipu1_vdic':2 -> 'ipu1_ic_prp':0[1]"
|
||||
media-ctl -l "'ipu1_ic_prp':2 -> 'ipu1_ic_prpvf':0[1]"
|
||||
media-ctl -l "'ipu1_ic_prpvf':1 -> 'ipu1_ic_prpvf capture':0[1]"
|
||||
# Configure pads
|
||||
media-ctl -V "'adv7180 3-0021':0 [fmt:UYVY2X8/720x576 field:seq-tb]"
|
||||
media-ctl -V "'ipu1_csi0_mux':2 [fmt:UYVY2X8/720x576]"
|
||||
media-ctl -V "'ipu1_csi0':1 [fmt:AYUV32/720x576]"
|
||||
media-ctl -V "'ipu1_vdic':2 [fmt:AYUV32/720x576 field:none]"
|
||||
media-ctl -V "'ipu1_ic_prp':2 [fmt:AYUV32/720x576 field:none]"
|
||||
media-ctl -V "'ipu1_ic_prpvf':1 [fmt:AYUV32/720x576 field:none]"
|
||||
# Configure "ipu1_ic_prpvf capture" interface (assumed at /dev/video2)
|
||||
v4l2-ctl -d2 --set-fmt-video=field=none
|
||||
|
||||
Streaming can then begin on /dev/video2. The v4l2-ctl tool can also be
|
||||
used to select any supported YUV pixelformat on /dev/video2.
|
||||
|
||||
This platform accepts Composite Video analog inputs to the ADV7180 on
|
||||
Ain1 (connector J42).
|
||||
|
||||
i.MX6DL SabreAuto with ADV7180 decoder
|
||||
--------------------------------------
|
||||
|
||||
On the i.MX6DL SabreAuto, an on-board ADV7180 SD decoder is connected to the
|
||||
parallel bus input on the internal video mux to IPU1 CSI0.
|
||||
|
||||
The following example configures a pipeline to capture from the ADV7180
|
||||
video decoder, assuming NTSC 720x480 input signals, using simple
|
||||
interweave (unconverted and without motion compensation). The adv7180
|
||||
must output sequential or alternating fields (field type 'seq-bt' for
|
||||
NTSC, or 'alternate'):
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# Setup links
|
||||
media-ctl -l "'adv7180 4-0021':0 -> 'ipu1_csi0_mux':4[1]"
|
||||
media-ctl -l "'ipu1_csi0_mux':5 -> 'ipu1_csi0':0[1]"
|
||||
media-ctl -l "'ipu1_csi0':2 -> 'ipu1_csi0 capture':0[1]"
|
||||
# Configure pads
|
||||
media-ctl -V "'adv7180 4-0021':0 [fmt:UYVY2X8/720x480 field:seq-bt]"
|
||||
media-ctl -V "'ipu1_csi0_mux':5 [fmt:UYVY2X8/720x480]"
|
||||
media-ctl -V "'ipu1_csi0':2 [fmt:AYUV32/720x480]"
|
||||
# Configure "ipu1_csi0 capture" interface (assumed at /dev/video0)
|
||||
v4l2-ctl -d0 --set-fmt-video=field=interlaced_bt
|
||||
|
||||
Streaming can then begin on /dev/video0. The v4l2-ctl tool can also be
|
||||
used to select any supported YUV pixelformat on /dev/video0.
|
||||
|
||||
This example configures a pipeline to capture from the ADV7180
|
||||
video decoder, assuming PAL 720x576 input signals, with Motion
|
||||
Compensated de-interlacing. The adv7180 must output sequential or
|
||||
alternating fields (field type 'seq-tb' for PAL, or 'alternate').
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# Setup links
|
||||
media-ctl -l "'adv7180 4-0021':0 -> 'ipu1_csi0_mux':4[1]"
|
||||
media-ctl -l "'ipu1_csi0_mux':5 -> 'ipu1_csi0':0[1]"
|
||||
media-ctl -l "'ipu1_csi0':1 -> 'ipu1_vdic':0[1]"
|
||||
media-ctl -l "'ipu1_vdic':2 -> 'ipu1_ic_prp':0[1]"
|
||||
media-ctl -l "'ipu1_ic_prp':2 -> 'ipu1_ic_prpvf':0[1]"
|
||||
media-ctl -l "'ipu1_ic_prpvf':1 -> 'ipu1_ic_prpvf capture':0[1]"
|
||||
# Configure pads
|
||||
media-ctl -V "'adv7180 4-0021':0 [fmt:UYVY2X8/720x576 field:seq-tb]"
|
||||
media-ctl -V "'ipu1_csi0_mux':5 [fmt:UYVY2X8/720x576]"
|
||||
media-ctl -V "'ipu1_csi0':1 [fmt:AYUV32/720x576]"
|
||||
media-ctl -V "'ipu1_vdic':2 [fmt:AYUV32/720x576 field:none]"
|
||||
media-ctl -V "'ipu1_ic_prp':2 [fmt:AYUV32/720x576 field:none]"
|
||||
media-ctl -V "'ipu1_ic_prpvf':1 [fmt:AYUV32/720x576 field:none]"
|
||||
# Configure "ipu1_ic_prpvf capture" interface (assumed at /dev/video2)
|
||||
v4l2-ctl -d2 --set-fmt-video=field=none
|
||||
|
||||
Streaming can then begin on /dev/video2. The v4l2-ctl tool can also be
|
||||
used to select any supported YUV pixelformat on /dev/video2.
|
||||
|
||||
This platform accepts Composite Video analog inputs to the ADV7180 on
|
||||
Ain1 (connector J42).
|
||||
|
||||
i.MX6Q SabreSD with MIPI CSI-2 OV5640
|
||||
-------------------------------------
|
||||
|
||||
Similarly to i.MX6Q SabreLite, the i.MX6Q SabreSD supports a parallel
|
||||
interface OV5642 module on IPU1 CSI0, and a MIPI CSI-2 OV5640
|
||||
module. The OV5642 connects to i2c bus 1 and the OV5640 to i2c bus 2.
|
||||
|
||||
The device tree for SabreSD includes OF graphs for both the parallel
|
||||
OV5642 and the MIPI CSI-2 OV5640, but as of this writing only the MIPI
|
||||
CSI-2 OV5640 has been tested, so the OV5642 node is currently disabled.
|
||||
The OV5640 module connects to MIPI connector J5. The NXP part number
|
||||
for the OV5640 module that connects to the SabreSD board is H120729.
|
||||
|
||||
The following example configures unprocessed video capture pipeline to
|
||||
capture from the OV5640, transmitting on MIPI CSI-2 virtual channel 0:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# Setup links
|
||||
media-ctl -l "'ov5640 1-003c':0 -> 'imx6-mipi-csi2':0[1]"
|
||||
media-ctl -l "'imx6-mipi-csi2':1 -> 'ipu1_csi0_mux':0[1]"
|
||||
media-ctl -l "'ipu1_csi0_mux':2 -> 'ipu1_csi0':0[1]"
|
||||
media-ctl -l "'ipu1_csi0':2 -> 'ipu1_csi0 capture':0[1]"
|
||||
# Configure pads
|
||||
media-ctl -V "'ov5640 1-003c':0 [fmt:UYVY2X8/640x480]"
|
||||
media-ctl -V "'imx6-mipi-csi2':1 [fmt:UYVY2X8/640x480]"
|
||||
media-ctl -V "'ipu1_csi0_mux':0 [fmt:UYVY2X8/640x480]"
|
||||
media-ctl -V "'ipu1_csi0':0 [fmt:AYUV32/640x480]"
|
||||
|
||||
Streaming can then begin on "ipu1_csi0 capture" node. The v4l2-ctl
|
||||
tool can be used to select any supported pixelformat on the capture
|
||||
device node.
|
||||
|
||||
To determine what is the /dev/video node correspondent to
|
||||
"ipu1_csi0 capture":
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
media-ctl -e "ipu1_csi0 capture"
|
||||
/dev/video0
|
||||
|
||||
/dev/video0 is the streaming element in this case.
|
||||
|
||||
Starting the streaming via v4l2-ctl:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
v4l2-ctl --stream-mmap -d /dev/video0
|
||||
|
||||
Starting the streaming via Gstreamer and sending the content to the display:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
gst-launch-1.0 v4l2src device=/dev/video0 ! kmssink
|
||||
|
||||
The following example configures a direct conversion pipeline to capture
|
||||
from the OV5640, transmitting on MIPI CSI-2 virtual channel 0. It also
|
||||
shows colorspace conversion and scaling at IC output.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# Setup links
|
||||
media-ctl -l "'ov5640 1-003c':0 -> 'imx6-mipi-csi2':0[1]"
|
||||
media-ctl -l "'imx6-mipi-csi2':1 -> 'ipu1_csi0_mux':0[1]"
|
||||
media-ctl -l "'ipu1_csi0_mux':2 -> 'ipu1_csi0':0[1]"
|
||||
media-ctl -l "'ipu1_csi0':1 -> 'ipu1_ic_prp':0[1]"
|
||||
media-ctl -l "'ipu1_ic_prp':1 -> 'ipu1_ic_prpenc':0[1]"
|
||||
media-ctl -l "'ipu1_ic_prpenc':1 -> 'ipu1_ic_prpenc capture':0[1]"
|
||||
# Configure pads
|
||||
media-ctl -V "'ov5640 1-003c':0 [fmt:UYVY2X8/640x480]"
|
||||
media-ctl -V "'imx6-mipi-csi2':1 [fmt:UYVY2X8/640x480]"
|
||||
media-ctl -V "'ipu1_csi0_mux':2 [fmt:UYVY2X8/640x480]"
|
||||
media-ctl -V "'ipu1_csi0':1 [fmt:AYUV32/640x480]"
|
||||
media-ctl -V "'ipu1_ic_prp':1 [fmt:AYUV32/640x480]"
|
||||
media-ctl -V "'ipu1_ic_prpenc':1 [fmt:ARGB8888_1X32/800x600]"
|
||||
# Set a format at the capture interface
|
||||
v4l2-ctl -d /dev/video1 --set-fmt-video=pixelformat=RGB3
|
||||
|
||||
Streaming can then begin on "ipu1_ic_prpenc capture" node.
|
||||
|
||||
To determine what is the /dev/video node correspondent to
|
||||
"ipu1_ic_prpenc capture":
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
media-ctl -e "ipu1_ic_prpenc capture"
|
||||
/dev/video1
|
||||
|
||||
|
||||
/dev/video1 is the streaming element in this case.
|
||||
|
||||
Starting the streaming via v4l2-ctl:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
v4l2-ctl --stream-mmap -d /dev/video1
|
||||
|
||||
Starting the streaming via Gstreamer and sending the content to the display:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
gst-launch-1.0 v4l2src device=/dev/video1 ! kmssink
|
||||
|
||||
Known Issues
|
||||
------------
|
||||
|
||||
1. When using 90 or 270 degree rotation control at capture resolutions
|
||||
near the IC resizer limit of 1024x1024, and combined with planar
|
||||
pixel formats (YUV420, YUV422p), frame capture will often fail with
|
||||
no end-of-frame interrupts from the IDMAC channel. To work around
|
||||
this, use lower resolution and/or packed formats (YUYV, RGB3, etc.)
|
||||
when 90 or 270 rotations are needed.
|
||||
|
||||
|
||||
File list
|
||||
---------
|
||||
|
||||
drivers/staging/media/imx/
|
||||
include/media/imx.h
|
||||
include/linux/imx-media.h
|
||||
|
||||
References
|
||||
----------
|
||||
|
||||
.. [#f1] http://www.nxp.com/assets/documents/data/en/reference-manuals/IMX6DQRM.pdf
|
||||
.. [#f2] http://www.nxp.com/assets/documents/data/en/reference-manuals/IMX6SDLRM.pdf
|
||||
|
||||
|
||||
Authors
|
||||
-------
|
||||
|
||||
- Steve Longerbeam <steve_longerbeam@mentor.com>
|
||||
- Philipp Zabel <kernel@pengutronix.de>
|
||||
- Russell King <linux@armlinux.org.uk>
|
||||
|
||||
Copyright (C) 2012-2017 Mentor Graphics Inc.
|
51
Documentation/admin-guide/media/imx6q-sabreauto.dot
Normal file
51
Documentation/admin-guide/media/imx6q-sabreauto.dot
Normal file
@ -0,0 +1,51 @@
|
||||
digraph board {
|
||||
rankdir=TB
|
||||
n00000001 [label="{{<port0> 0} | ipu1_csi0\n/dev/v4l-subdev0 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000001:port2 -> n00000005 [style=dashed]
|
||||
n00000001:port1 -> n0000000f:port0 [style=dashed]
|
||||
n00000001:port1 -> n0000000b:port0 [style=dashed]
|
||||
n00000005 [label="ipu1_csi0 capture\n/dev/video0", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000000b [label="{{<port0> 0 | <port1> 1} | ipu1_vdic\n/dev/v4l-subdev1 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000000b:port2 -> n0000000f:port0 [style=dashed]
|
||||
n0000000f [label="{{<port0> 0} | ipu1_ic_prp\n/dev/v4l-subdev2 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000000f:port1 -> n00000013:port0 [style=dashed]
|
||||
n0000000f:port2 -> n0000001c:port0 [style=dashed]
|
||||
n00000013 [label="{{<port0> 0} | ipu1_ic_prpenc\n/dev/v4l-subdev3 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000013:port1 -> n00000016 [style=dashed]
|
||||
n00000016 [label="ipu1_ic_prpenc capture\n/dev/video1", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000001c [label="{{<port0> 0} | ipu1_ic_prpvf\n/dev/v4l-subdev4 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000001c:port1 -> n0000001f [style=dashed]
|
||||
n0000001f [label="ipu1_ic_prpvf capture\n/dev/video2", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000002f [label="{{<port0> 0} | ipu1_csi1\n/dev/v4l-subdev5 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000002f:port2 -> n00000033 [style=dashed]
|
||||
n0000002f:port1 -> n0000000f:port0 [style=dashed]
|
||||
n0000002f:port1 -> n0000000b:port0 [style=dashed]
|
||||
n00000033 [label="ipu1_csi1 capture\n/dev/video3", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000003d [label="{{<port0> 0} | ipu2_csi0\n/dev/v4l-subdev6 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000003d:port2 -> n00000041 [style=dashed]
|
||||
n0000003d:port1 -> n0000004b:port0 [style=dashed]
|
||||
n0000003d:port1 -> n00000047:port0 [style=dashed]
|
||||
n00000041 [label="ipu2_csi0 capture\n/dev/video4", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000047 [label="{{<port0> 0 | <port1> 1} | ipu2_vdic\n/dev/v4l-subdev7 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000047:port2 -> n0000004b:port0 [style=dashed]
|
||||
n0000004b [label="{{<port0> 0} | ipu2_ic_prp\n/dev/v4l-subdev8 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000004b:port1 -> n0000004f:port0 [style=dashed]
|
||||
n0000004b:port2 -> n00000058:port0 [style=dashed]
|
||||
n0000004f [label="{{<port0> 0} | ipu2_ic_prpenc\n/dev/v4l-subdev9 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000004f:port1 -> n00000052 [style=dashed]
|
||||
n00000052 [label="ipu2_ic_prpenc capture\n/dev/video5", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000058 [label="{{<port0> 0} | ipu2_ic_prpvf\n/dev/v4l-subdev10 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000058:port1 -> n0000005b [style=dashed]
|
||||
n0000005b [label="ipu2_ic_prpvf capture\n/dev/video6", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000006b [label="{{<port0> 0} | ipu2_csi1\n/dev/v4l-subdev11 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000006b:port2 -> n0000006f [style=dashed]
|
||||
n0000006b:port1 -> n0000004b:port0 [style=dashed]
|
||||
n0000006b:port1 -> n00000047:port0 [style=dashed]
|
||||
n0000006f [label="ipu2_csi1 capture\n/dev/video7", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000079 [label="{{<port0> 0 | <port1> 1} | ipu1_csi0_mux\n/dev/v4l-subdev12 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000079:port2 -> n00000001:port0 [style=dashed]
|
||||
n0000007d [label="{{<port0> 0 | <port1> 1} | ipu2_csi1_mux\n/dev/v4l-subdev13 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000007d:port2 -> n0000006b:port0 [style=dashed]
|
||||
n00000081 [label="{{} | adv7180 3-0021\n/dev/v4l-subdev14 | {<port0> 0}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000081:port0 -> n00000079:port1 [style=dashed]
|
||||
}
|
56
Documentation/admin-guide/media/imx6q-sabresd.dot
Normal file
56
Documentation/admin-guide/media/imx6q-sabresd.dot
Normal file
@ -0,0 +1,56 @@
|
||||
digraph board {
|
||||
rankdir=TB
|
||||
n00000001 [label="{{<port0> 0} | ipu1_csi0\n/dev/v4l-subdev0 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000001:port2 -> n00000005 [style=dashed]
|
||||
n00000001:port1 -> n0000000f:port0 [style=dashed]
|
||||
n00000001:port1 -> n0000000b:port0 [style=dashed]
|
||||
n00000005 [label="ipu1_csi0 capture\n/dev/video0", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000000b [label="{{<port0> 0 | <port1> 1} | ipu1_vdic\n/dev/v4l-subdev1 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000000b:port2 -> n0000000f:port0 [style=dashed]
|
||||
n0000000f [label="{{<port0> 0} | ipu1_ic_prp\n/dev/v4l-subdev2 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000000f:port1 -> n00000013:port0 [style=dashed]
|
||||
n0000000f:port2 -> n0000001c:port0 [style=dashed]
|
||||
n00000013 [label="{{<port0> 0} | ipu1_ic_prpenc\n/dev/v4l-subdev3 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000013:port1 -> n00000016 [style=dashed]
|
||||
n00000016 [label="ipu1_ic_prpenc capture\n/dev/video1", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000001c [label="{{<port0> 0} | ipu1_ic_prpvf\n/dev/v4l-subdev4 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000001c:port1 -> n0000001f [style=dashed]
|
||||
n0000001f [label="ipu1_ic_prpvf capture\n/dev/video2", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000002f [label="{{<port0> 0} | ipu1_csi1\n/dev/v4l-subdev5 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000002f:port2 -> n00000033 [style=dashed]
|
||||
n0000002f:port1 -> n0000000f:port0 [style=dashed]
|
||||
n0000002f:port1 -> n0000000b:port0 [style=dashed]
|
||||
n00000033 [label="ipu1_csi1 capture\n/dev/video3", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000003d [label="{{<port0> 0} | ipu2_csi0\n/dev/v4l-subdev6 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000003d:port2 -> n00000041 [style=dashed]
|
||||
n0000003d:port1 -> n0000004b:port0 [style=dashed]
|
||||
n0000003d:port1 -> n00000047:port0 [style=dashed]
|
||||
n00000041 [label="ipu2_csi0 capture\n/dev/video4", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000047 [label="{{<port0> 0 | <port1> 1} | ipu2_vdic\n/dev/v4l-subdev7 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000047:port2 -> n0000004b:port0 [style=dashed]
|
||||
n0000004b [label="{{<port0> 0} | ipu2_ic_prp\n/dev/v4l-subdev8 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000004b:port1 -> n0000004f:port0 [style=dashed]
|
||||
n0000004b:port2 -> n00000058:port0 [style=dashed]
|
||||
n0000004f [label="{{<port0> 0} | ipu2_ic_prpenc\n/dev/v4l-subdev9 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000004f:port1 -> n00000052 [style=dashed]
|
||||
n00000052 [label="ipu2_ic_prpenc capture\n/dev/video5", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000058 [label="{{<port0> 0} | ipu2_ic_prpvf\n/dev/v4l-subdev10 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000058:port1 -> n0000005b [style=dashed]
|
||||
n0000005b [label="ipu2_ic_prpvf capture\n/dev/video6", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000006b [label="{{<port0> 0} | ipu2_csi1\n/dev/v4l-subdev11 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000006b:port2 -> n0000006f [style=dashed]
|
||||
n0000006b:port1 -> n0000004b:port0 [style=dashed]
|
||||
n0000006b:port1 -> n00000047:port0 [style=dashed]
|
||||
n0000006f [label="ipu2_csi1 capture\n/dev/video7", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000079 [label="{{<port0> 0} | imx6-mipi-csi2\n/dev/v4l-subdev12 | {<port1> 1 | <port2> 2 | <port3> 3 | <port4> 4}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000079:port2 -> n0000002f:port0 [style=dashed]
|
||||
n00000079:port3 -> n0000003d:port0 [style=dashed]
|
||||
n00000079:port1 -> n0000007f:port0 [style=dashed]
|
||||
n00000079:port4 -> n00000083:port0 [style=dashed]
|
||||
n0000007f [label="{{<port0> 0 | <port1> 1} | ipu1_csi0_mux\n/dev/v4l-subdev13 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000007f:port2 -> n00000001:port0 [style=dashed]
|
||||
n00000083 [label="{{<port0> 0 | <port1> 1} | ipu2_csi1_mux\n/dev/v4l-subdev14 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000083:port2 -> n0000006b:port0 [style=dashed]
|
||||
n00000087 [label="{{} | ov5640 1-003c\n/dev/v4l-subdev15 | {<port0> 0}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000087:port0 -> n00000079:port0 [style=dashed]
|
||||
}
|
61
Documentation/admin-guide/media/index.rst
Normal file
61
Documentation/admin-guide/media/index.rst
Normal file
@ -0,0 +1,61 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: <isonum.txt>
|
||||
|
||||
====================================
|
||||
Media subsystem admin and user guide
|
||||
====================================
|
||||
|
||||
This section contains usage information about media subsystem and
|
||||
its supported drivers.
|
||||
|
||||
Please see:
|
||||
|
||||
- :doc:`/userspace-api/media/index`
|
||||
for the userspace APIs used on media devices.
|
||||
|
||||
- :doc:`/driver-api/media/index`
|
||||
for driver development information and Kernel APIs used by
|
||||
media devices;
|
||||
|
||||
The media subsystem
|
||||
===================
|
||||
|
||||
.. only:: html
|
||||
|
||||
.. class:: toc-title
|
||||
|
||||
Table of Contents
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:numbered:
|
||||
|
||||
intro
|
||||
building
|
||||
|
||||
remote-controller
|
||||
|
||||
dvb
|
||||
|
||||
cardlist
|
||||
|
||||
v4l-drivers
|
||||
dvb-drivers
|
||||
cec-drivers
|
||||
|
||||
**Copyright** |copy| 1999-2020 : LinuxTV Developers
|
||||
|
||||
::
|
||||
|
||||
This documentation is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the Free
|
||||
Software Foundation; either version 2 of the License, or (at your option) any
|
||||
later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details.
|
||||
|
||||
For more details see the file COPYING in the source distribution of Linux.
|
27
Documentation/admin-guide/media/intro.rst
Normal file
27
Documentation/admin-guide/media/intro.rst
Normal file
@ -0,0 +1,27 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
============
|
||||
Introduction
|
||||
============
|
||||
|
||||
The media subsystem consists on Linux support for several different types
|
||||
of devices:
|
||||
|
||||
- Audio and video grabbers;
|
||||
- PC and Laptop Cameras;
|
||||
- Complex cameras found on Embedded hardware;
|
||||
- Analog and digital TV;
|
||||
- HDMI Customer Electronics Control (CEC);
|
||||
- Multi-touch input devices;
|
||||
- Remote Controllers;
|
||||
- Media encoders and decoders.
|
||||
|
||||
Due to the diversity of devices, the subsystem provides several different
|
||||
APIs:
|
||||
|
||||
- Remote Controller API;
|
||||
- HDMI CEC API;
|
||||
- Video4Linux API;
|
||||
- Media controller API;
|
||||
- Video4Linux Request API (experimental);
|
||||
- Digital TV API (also known as DVB API).
|
591
Documentation/admin-guide/media/ipu3.rst
Normal file
591
Documentation/admin-guide/media/ipu3.rst
Normal file
@ -0,0 +1,591 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: <isonum.txt>
|
||||
|
||||
===============================================================
|
||||
Intel Image Processing Unit 3 (IPU3) Imaging Unit (ImgU) driver
|
||||
===============================================================
|
||||
|
||||
Copyright |copy| 2018 Intel Corporation
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
This file documents the Intel IPU3 (3rd generation Image Processing Unit)
|
||||
Imaging Unit drivers located under drivers/media/pci/intel/ipu3 (CIO2) as well
|
||||
as under drivers/staging/media/ipu3 (ImgU).
|
||||
|
||||
The Intel IPU3 found in certain Kaby Lake (as well as certain Sky Lake)
|
||||
platforms (U/Y processor lines) is made up of two parts namely the Imaging Unit
|
||||
(ImgU) and the CIO2 device (MIPI CSI2 receiver).
|
||||
|
||||
The CIO2 device receives the raw Bayer data from the sensors and outputs the
|
||||
frames in a format that is specific to the IPU3 (for consumption by the IPU3
|
||||
ImgU). The CIO2 driver is available as drivers/media/pci/intel/ipu3/ipu3-cio2*
|
||||
and is enabled through the CONFIG_VIDEO_IPU3_CIO2 config option.
|
||||
|
||||
The Imaging Unit (ImgU) is responsible for processing images captured
|
||||
by the IPU3 CIO2 device. The ImgU driver sources can be found under
|
||||
drivers/staging/media/ipu3 directory. The driver is enabled through the
|
||||
CONFIG_VIDEO_IPU3_IMGU config option.
|
||||
|
||||
The two driver modules are named ipu3_csi2 and ipu3_imgu, respectively.
|
||||
|
||||
The drivers has been tested on Kaby Lake platforms (U/Y processor lines).
|
||||
|
||||
Both of the drivers implement V4L2, Media Controller and V4L2 sub-device
|
||||
interfaces. The IPU3 CIO2 driver supports camera sensors connected to the CIO2
|
||||
MIPI CSI-2 interfaces through V4L2 sub-device sensor drivers.
|
||||
|
||||
CIO2
|
||||
====
|
||||
|
||||
The CIO2 is represented as a single V4L2 subdev, which provides a V4L2 subdev
|
||||
interface to the user space. There is a video node for each CSI-2 receiver,
|
||||
with a single media controller interface for the entire device.
|
||||
|
||||
The CIO2 contains four independent capture channel, each with its own MIPI CSI-2
|
||||
receiver and DMA engine. Each channel is modelled as a V4L2 sub-device exposed
|
||||
to userspace as a V4L2 sub-device node and has two pads:
|
||||
|
||||
.. tabularcolumns:: |p{0.8cm}|p{4.0cm}|p{4.0cm}|
|
||||
|
||||
.. flat-table::
|
||||
|
||||
* - pad
|
||||
- direction
|
||||
- purpose
|
||||
|
||||
* - 0
|
||||
- sink
|
||||
- MIPI CSI-2 input, connected to the sensor subdev
|
||||
|
||||
* - 1
|
||||
- source
|
||||
- Raw video capture, connected to the V4L2 video interface
|
||||
|
||||
The V4L2 video interfaces model the DMA engines. They are exposed to userspace
|
||||
as V4L2 video device nodes.
|
||||
|
||||
Capturing frames in raw Bayer format
|
||||
------------------------------------
|
||||
|
||||
CIO2 MIPI CSI2 receiver is used to capture frames (in packed raw Bayer format)
|
||||
from the raw sensors connected to the CSI2 ports. The captured frames are used
|
||||
as input to the ImgU driver.
|
||||
|
||||
Image processing using IPU3 ImgU requires tools such as raw2pnm [#f1]_, and
|
||||
yavta [#f2]_ due to the following unique requirements and / or features specific
|
||||
to IPU3.
|
||||
|
||||
-- The IPU3 CSI2 receiver outputs the captured frames from the sensor in packed
|
||||
raw Bayer format that is specific to IPU3.
|
||||
|
||||
-- Multiple video nodes have to be operated simultaneously.
|
||||
|
||||
Let us take the example of ov5670 sensor connected to CSI2 port 0, for a
|
||||
2592x1944 image capture.
|
||||
|
||||
Using the media contorller APIs, the ov5670 sensor is configured to send
|
||||
frames in packed raw Bayer format to IPU3 CSI2 receiver.
|
||||
|
||||
# This example assumes /dev/media0 as the CIO2 media device
|
||||
|
||||
export MDEV=/dev/media0
|
||||
|
||||
# and that ov5670 sensor is connected to i2c bus 10 with address 0x36
|
||||
|
||||
export SDEV=$(media-ctl -d $MDEV -e "ov5670 10-0036")
|
||||
|
||||
# Establish the link for the media devices using media-ctl [#f3]_
|
||||
media-ctl -d $MDEV -l "ov5670:0 -> ipu3-csi2 0:0[1]"
|
||||
|
||||
# Set the format for the media devices
|
||||
media-ctl -d $MDEV -V "ov5670:0 [fmt:SGRBG10/2592x1944]"
|
||||
|
||||
media-ctl -d $MDEV -V "ipu3-csi2 0:0 [fmt:SGRBG10/2592x1944]"
|
||||
|
||||
media-ctl -d $MDEV -V "ipu3-csi2 0:1 [fmt:SGRBG10/2592x1944]"
|
||||
|
||||
Once the media pipeline is configured, desired sensor specific settings
|
||||
(such as exposure and gain settings) can be set, using the yavta tool.
|
||||
|
||||
e.g
|
||||
|
||||
yavta -w 0x009e0903 444 $SDEV
|
||||
|
||||
yavta -w 0x009e0913 1024 $SDEV
|
||||
|
||||
yavta -w 0x009e0911 2046 $SDEV
|
||||
|
||||
Once the desired sensor settings are set, frame captures can be done as below.
|
||||
|
||||
e.g
|
||||
|
||||
yavta --data-prefix -u -c10 -n5 -I -s2592x1944 --file=/tmp/frame-#.bin \
|
||||
-f IPU3_SGRBG10 $(media-ctl -d $MDEV -e "ipu3-cio2 0")
|
||||
|
||||
With the above command, 10 frames are captured at 2592x1944 resolution, with
|
||||
sGRBG10 format and output as IPU3_SGRBG10 format.
|
||||
|
||||
The captured frames are available as /tmp/frame-#.bin files.
|
||||
|
||||
ImgU
|
||||
====
|
||||
|
||||
The ImgU is represented as two V4L2 subdevs, each of which provides a V4L2
|
||||
subdev interface to the user space.
|
||||
|
||||
Each V4L2 subdev represents a pipe, which can support a maximum of 2 streams.
|
||||
This helps to support advanced camera features like Continuous View Finder (CVF)
|
||||
and Snapshot During Video(SDV).
|
||||
|
||||
The ImgU contains two independent pipes, each modelled as a V4L2 sub-device
|
||||
exposed to userspace as a V4L2 sub-device node.
|
||||
|
||||
Each pipe has two sink pads and three source pads for the following purpose:
|
||||
|
||||
.. tabularcolumns:: |p{0.8cm}|p{4.0cm}|p{4.0cm}|
|
||||
|
||||
.. flat-table::
|
||||
|
||||
* - pad
|
||||
- direction
|
||||
- purpose
|
||||
|
||||
* - 0
|
||||
- sink
|
||||
- Input raw video stream
|
||||
|
||||
* - 1
|
||||
- sink
|
||||
- Processing parameters
|
||||
|
||||
* - 2
|
||||
- source
|
||||
- Output processed video stream
|
||||
|
||||
* - 3
|
||||
- source
|
||||
- Output viewfinder video stream
|
||||
|
||||
* - 4
|
||||
- source
|
||||
- 3A statistics
|
||||
|
||||
Each pad is connected to a corresponding V4L2 video interface, exposed to
|
||||
userspace as a V4L2 video device node.
|
||||
|
||||
Device operation
|
||||
----------------
|
||||
|
||||
With ImgU, once the input video node ("ipu3-imgu 0/1":0, in
|
||||
<entity>:<pad-number> format) is queued with buffer (in packed raw Bayer
|
||||
format), ImgU starts processing the buffer and produces the video output in YUV
|
||||
format and statistics output on respective output nodes. The driver is expected
|
||||
to have buffers ready for all of parameter, output and statistics nodes, when
|
||||
input video node is queued with buffer.
|
||||
|
||||
At a minimum, all of input, main output, 3A statistics and viewfinder
|
||||
video nodes should be enabled for IPU3 to start image processing.
|
||||
|
||||
Each ImgU V4L2 subdev has the following set of video nodes.
|
||||
|
||||
input, output and viewfinder video nodes
|
||||
----------------------------------------
|
||||
|
||||
The frames (in packed raw Bayer format specific to the IPU3) received by the
|
||||
input video node is processed by the IPU3 Imaging Unit and are output to 2 video
|
||||
nodes, with each targeting a different purpose (main output and viewfinder
|
||||
output).
|
||||
|
||||
Details onand the Bayer format specific to the IPU3 can be found in
|
||||
:ref:`v4l2-pix-fmt-ipu3-sbggr10`.
|
||||
|
||||
The driver supports V4L2 Video Capture Interface as defined at :ref:`devices`.
|
||||
|
||||
Only the multi-planar API is supported. More details can be found at
|
||||
:ref:`planar-apis`.
|
||||
|
||||
Parameters video node
|
||||
---------------------
|
||||
|
||||
The parameters video node receives the ImgU algorithm parameters that are used
|
||||
to configure how the ImgU algorithms process the image.
|
||||
|
||||
Details on processing parameters specific to the IPU3 can be found in
|
||||
:ref:`v4l2-meta-fmt-params`.
|
||||
|
||||
3A statistics video node
|
||||
------------------------
|
||||
|
||||
3A statistics video node is used by the ImgU driver to output the 3A (auto
|
||||
focus, auto exposure and auto white balance) statistics for the frames that are
|
||||
being processed by the ImgU to user space applications. User space applications
|
||||
can use this statistics data to compute the desired algorithm parameters for
|
||||
the ImgU.
|
||||
|
||||
Configuring the Intel IPU3
|
||||
==========================
|
||||
|
||||
The IPU3 ImgU pipelines can be configured using the Media Controller, defined at
|
||||
:ref:`media_controller`.
|
||||
|
||||
Running mode and firmware binary selection
|
||||
------------------------------------------
|
||||
|
||||
ImgU works based on firmware, currently the ImgU firmware support run 2 pipes in
|
||||
time-sharing with single input frame data. Each pipe can run at certain mode -
|
||||
"VIDEO" or "STILL", "VIDEO" mode is commonly used for video frames capture, and
|
||||
"STILL" is used for still frame capture. However, you can also select "VIDEO" to
|
||||
capture still frames if you want to capture images with less system load and
|
||||
power. For "STILL" mode, ImgU will try to use smaller BDS factor and output
|
||||
larger bayer frame for further YUV processing than "VIDEO" mode to get high
|
||||
quality images. Besides, "STILL" mode need XNR3 to do noise reduction, hence
|
||||
"STILL" mode will need more power and memory bandwidth than "VIDEO" mode. TNR
|
||||
will be enabled in "VIDEO" mode and bypassed by "STILL" mode. ImgU is running at
|
||||
“VIDEO” mode by default, the user can use v4l2 control V4L2_CID_INTEL_IPU3_MODE
|
||||
(currently defined in drivers/staging/media/ipu3/include/intel-ipu3.h) to query
|
||||
and set the running mode. For user, there is no difference for buffer queueing
|
||||
between the "VIDEO" and "STILL" mode, mandatory input and main output node
|
||||
should be enabled and buffers need be queued, the statistics and the view-finder
|
||||
queues are optional.
|
||||
|
||||
The firmware binary will be selected according to current running mode, such log
|
||||
"using binary if_to_osys_striped " or "using binary if_to_osys_primary_striped"
|
||||
could be observed if you enable the ImgU dynamic debug, the binary
|
||||
if_to_osys_striped is selected for "VIDEO" and the binary
|
||||
"if_to_osys_primary_striped" is selected for "STILL".
|
||||
|
||||
|
||||
Processing the image in raw Bayer format
|
||||
----------------------------------------
|
||||
|
||||
Configuring ImgU V4L2 subdev for image processing
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The ImgU V4L2 subdevs have to be configured with media controller APIs to have
|
||||
all the video nodes setup correctly.
|
||||
|
||||
Let us take "ipu3-imgu 0" subdev as an example.
|
||||
|
||||
media-ctl -d $MDEV -r
|
||||
|
||||
media-ctl -d $MDEV -l "ipu3-imgu 0 input":0 -> "ipu3-imgu 0":0[1]
|
||||
|
||||
media-ctl -d $MDEV -l "ipu3-imgu 0":2 -> "ipu3-imgu 0 output":0[1]
|
||||
|
||||
media-ctl -d $MDEV -l "ipu3-imgu 0":3 -> "ipu3-imgu 0 viewfinder":0[1]
|
||||
|
||||
media-ctl -d $MDEV -l "ipu3-imgu 0":4 -> "ipu3-imgu 0 3a stat":0[1]
|
||||
|
||||
Also the pipe mode of the corresponding V4L2 subdev should be set as desired
|
||||
(e.g 0 for video mode or 1 for still mode) through the control id 0x009819a1 as
|
||||
below.
|
||||
|
||||
yavta -w "0x009819A1 1" /dev/v4l-subdev7
|
||||
|
||||
Certain hardware blocks in ImgU pipeline can change the frame resolution by
|
||||
cropping or scaling, these hardware blocks include Input Feeder(IF), Bayer Down
|
||||
Scaler (BDS) and Geometric Distortion Correction (GDC).
|
||||
There is also a block which can change the frame resolution - YUV Scaler, it is
|
||||
only applicable to the secondary output.
|
||||
|
||||
RAW Bayer frames go through these ImgU pipeline hardware blocks and the final
|
||||
processed image output to the DDR memory.
|
||||
|
||||
.. kernel-figure:: ipu3_rcb.svg
|
||||
:alt: ipu3 resolution blocks image
|
||||
|
||||
IPU3 resolution change hardware blocks
|
||||
|
||||
**Input Feeder**
|
||||
|
||||
Input Feeder gets the Bayer frame data from the sensor, it can enable cropping
|
||||
of lines and columns from the frame and then store pixels into device's internal
|
||||
pixel buffer which are ready to readout by following blocks.
|
||||
|
||||
**Bayer Down Scaler**
|
||||
|
||||
Bayer Down Scaler is capable of performing image scaling in Bayer domain, the
|
||||
downscale factor can be configured from 1X to 1/4X in each axis with
|
||||
configuration steps of 0.03125 (1/32).
|
||||
|
||||
**Geometric Distortion Correction**
|
||||
|
||||
Geometric Distortion Correction is used to performe correction of distortions
|
||||
and image filtering. It needs some extra filter and envelop padding pixels to
|
||||
work, so the input resolution of GDC should be larger than the output
|
||||
resolution.
|
||||
|
||||
**YUV Scaler**
|
||||
|
||||
YUV Scaler which similar with BDS, but it is mainly do image down scaling in
|
||||
YUV domain, it can support up to 1/12X down scaling, but it can not be applied
|
||||
to the main output.
|
||||
|
||||
The ImgU V4L2 subdev has to be configured with the supported resolutions in all
|
||||
the above hardware blocks, for a given input resolution.
|
||||
For a given supported resolution for an input frame, the Input Feeder, Bayer
|
||||
Down Scaler and GDC blocks should be configured with the supported resolutions
|
||||
as each hardware block has its own alignment requirement.
|
||||
|
||||
You must configure the output resolution of the hardware blocks smartly to meet
|
||||
the hardware requirement along with keeping the maximum field of view. The
|
||||
intermediate resolutions can be generated by specific tool -
|
||||
|
||||
https://github.com/intel/intel-ipu3-pipecfg
|
||||
|
||||
This tool can be used to generate intermediate resolutions. More information can
|
||||
be obtained by looking at the following IPU3 ImgU configuration table.
|
||||
|
||||
https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/master
|
||||
|
||||
Under baseboard-poppy/media-libs/cros-camera-hal-configs-poppy/files/gcss
|
||||
directory, graph_settings_ov5670.xml can be used as an example.
|
||||
|
||||
The following steps prepare the ImgU pipeline for the image processing.
|
||||
|
||||
1. The ImgU V4L2 subdev data format should be set by using the
|
||||
VIDIOC_SUBDEV_S_FMT on pad 0, using the GDC width and height obtained above.
|
||||
|
||||
2. The ImgU V4L2 subdev cropping should be set by using the
|
||||
VIDIOC_SUBDEV_S_SELECTION on pad 0, with V4L2_SEL_TGT_CROP as the target,
|
||||
using the input feeder height and width.
|
||||
|
||||
3. The ImgU V4L2 subdev composing should be set by using the
|
||||
VIDIOC_SUBDEV_S_SELECTION on pad 0, with V4L2_SEL_TGT_COMPOSE as the target,
|
||||
using the BDS height and width.
|
||||
|
||||
For the ov5670 example, for an input frame with a resolution of 2592x1944
|
||||
(which is input to the ImgU subdev pad 0), the corresponding resolutions
|
||||
for input feeder, BDS and GDC are 2592x1944, 2592x1944 and 2560x1920
|
||||
respectively.
|
||||
|
||||
Once this is done, the received raw Bayer frames can be input to the ImgU
|
||||
V4L2 subdev as below, using the open source application v4l2n [#f1]_.
|
||||
|
||||
For an image captured with 2592x1944 [#f4]_ resolution, with desired output
|
||||
resolution as 2560x1920 and viewfinder resolution as 2560x1920, the following
|
||||
v4l2n command can be used. This helps process the raw Bayer frames and produces
|
||||
the desired results for the main output image and the viewfinder output, in NV12
|
||||
format.
|
||||
|
||||
v4l2n --pipe=4 --load=/tmp/frame-#.bin --open=/dev/video4
|
||||
--fmt=type:VIDEO_OUTPUT_MPLANE,width=2592,height=1944,pixelformat=0X47337069
|
||||
--reqbufs=type:VIDEO_OUTPUT_MPLANE,count:1 --pipe=1 --output=/tmp/frames.out
|
||||
--open=/dev/video5
|
||||
--fmt=type:VIDEO_CAPTURE_MPLANE,width=2560,height=1920,pixelformat=NV12
|
||||
--reqbufs=type:VIDEO_CAPTURE_MPLANE,count:1 --pipe=2 --output=/tmp/frames.vf
|
||||
--open=/dev/video6
|
||||
--fmt=type:VIDEO_CAPTURE_MPLANE,width=2560,height=1920,pixelformat=NV12
|
||||
--reqbufs=type:VIDEO_CAPTURE_MPLANE,count:1 --pipe=3 --open=/dev/video7
|
||||
--output=/tmp/frames.3A --fmt=type:META_CAPTURE,?
|
||||
--reqbufs=count:1,type:META_CAPTURE --pipe=1,2,3,4 --stream=5
|
||||
|
||||
You can also use yavta [#f2]_ command to do same thing as above:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
yavta --data-prefix -Bcapture-mplane -c10 -n5 -I -s2592x1944 \
|
||||
--file=frame-#.out-f NV12 /dev/video5 & \
|
||||
yavta --data-prefix -Bcapture-mplane -c10 -n5 -I -s2592x1944 \
|
||||
--file=frame-#.vf -f NV12 /dev/video6 & \
|
||||
yavta --data-prefix -Bmeta-capture -c10 -n5 -I \
|
||||
--file=frame-#.3a /dev/video7 & \
|
||||
yavta --data-prefix -Boutput-mplane -c10 -n5 -I -s2592x1944 \
|
||||
--file=/tmp/frame-in.cio2 -f IPU3_SGRBG10 /dev/video4
|
||||
|
||||
where /dev/video4, /dev/video5, /dev/video6 and /dev/video7 devices point to
|
||||
input, output, viewfinder and 3A statistics video nodes respectively.
|
||||
|
||||
Converting the raw Bayer image into YUV domain
|
||||
----------------------------------------------
|
||||
|
||||
The processed images after the above step, can be converted to YUV domain
|
||||
as below.
|
||||
|
||||
Main output frames
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
raw2pnm -x2560 -y1920 -fNV12 /tmp/frames.out /tmp/frames.out.ppm
|
||||
|
||||
where 2560x1920 is output resolution, NV12 is the video format, followed
|
||||
by input frame and output PNM file.
|
||||
|
||||
Viewfinder output frames
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
raw2pnm -x2560 -y1920 -fNV12 /tmp/frames.vf /tmp/frames.vf.ppm
|
||||
|
||||
where 2560x1920 is output resolution, NV12 is the video format, followed
|
||||
by input frame and output PNM file.
|
||||
|
||||
Example user space code for IPU3
|
||||
================================
|
||||
|
||||
User space code that configures and uses IPU3 is available here.
|
||||
|
||||
https://chromium.googlesource.com/chromiumos/platform/arc-camera/+/master/
|
||||
|
||||
The source can be located under hal/intel directory.
|
||||
|
||||
Overview of IPU3 pipeline
|
||||
=========================
|
||||
|
||||
IPU3 pipeline has a number of image processing stages, each of which takes a
|
||||
set of parameters as input. The major stages of pipelines are shown here:
|
||||
|
||||
.. kernel-render:: DOT
|
||||
:alt: IPU3 ImgU Pipeline
|
||||
:caption: IPU3 ImgU Pipeline Diagram
|
||||
|
||||
digraph "IPU3 ImgU" {
|
||||
node [shape=box]
|
||||
splines="ortho"
|
||||
rankdir="LR"
|
||||
|
||||
a [label="Raw pixels"]
|
||||
b [label="Bayer Downscaling"]
|
||||
c [label="Optical Black Correction"]
|
||||
d [label="Linearization"]
|
||||
e [label="Lens Shading Correction"]
|
||||
f [label="White Balance / Exposure / Focus Apply"]
|
||||
g [label="Bayer Noise Reduction"]
|
||||
h [label="ANR"]
|
||||
i [label="Demosaicing"]
|
||||
j [label="Color Correction Matrix"]
|
||||
k [label="Gamma correction"]
|
||||
l [label="Color Space Conversion"]
|
||||
m [label="Chroma Down Scaling"]
|
||||
n [label="Chromatic Noise Reduction"]
|
||||
o [label="Total Color Correction"]
|
||||
p [label="XNR3"]
|
||||
q [label="TNR"]
|
||||
r [label="DDR", style=filled, fillcolor=yellow, shape=cylinder]
|
||||
s [label="YUV Downscaling"]
|
||||
t [label="DDR", style=filled, fillcolor=yellow, shape=cylinder]
|
||||
|
||||
{ rank=same; a -> b -> c -> d -> e -> f -> g -> h -> i }
|
||||
{ rank=same; j -> k -> l -> m -> n -> o -> p -> q -> s -> t}
|
||||
|
||||
a -> j [style=invis, weight=10]
|
||||
i -> j
|
||||
q -> r
|
||||
}
|
||||
|
||||
The table below presents a description of the above algorithms.
|
||||
|
||||
======================== =======================================================
|
||||
Name Description
|
||||
======================== =======================================================
|
||||
Optical Black Correction Optical Black Correction block subtracts a pre-defined
|
||||
value from the respective pixel values to obtain better
|
||||
image quality.
|
||||
Defined in :c:type:`ipu3_uapi_obgrid_param`.
|
||||
Linearization This algo block uses linearization parameters to
|
||||
address non-linearity sensor effects. The Lookup table
|
||||
table is defined in
|
||||
:c:type:`ipu3_uapi_isp_lin_vmem_params`.
|
||||
SHD Lens shading correction is used to correct spatial
|
||||
non-uniformity of the pixel response due to optical
|
||||
lens shading. This is done by applying a different gain
|
||||
for each pixel. The gain, black level etc are
|
||||
configured in :c:type:`ipu3_uapi_shd_config_static`.
|
||||
BNR Bayer noise reduction block removes image noise by
|
||||
applying a bilateral filter.
|
||||
See :c:type:`ipu3_uapi_bnr_static_config` for details.
|
||||
ANR Advanced Noise Reduction is a block based algorithm
|
||||
that performs noise reduction in the Bayer domain. The
|
||||
convolution matrix etc can be found in
|
||||
:c:type:`ipu3_uapi_anr_config`.
|
||||
DM Demosaicing converts raw sensor data in Bayer format
|
||||
into RGB (Red, Green, Blue) presentation. Then add
|
||||
outputs of estimation of Y channel for following stream
|
||||
processing by Firmware. The struct is defined as
|
||||
:c:type:`ipu3_uapi_dm_config`.
|
||||
Color Correction Color Correction algo transforms sensor specific color
|
||||
space to the standard "sRGB" color space. This is done
|
||||
by applying 3x3 matrix defined in
|
||||
:c:type:`ipu3_uapi_ccm_mat_config`.
|
||||
Gamma correction Gamma correction :c:type:`ipu3_uapi_gamma_config` is a
|
||||
basic non-linear tone mapping correction that is
|
||||
applied per pixel for each pixel component.
|
||||
CSC Color space conversion transforms each pixel from the
|
||||
RGB primary presentation to YUV (Y: brightness,
|
||||
UV: Luminance) presentation. This is done by applying
|
||||
a 3x3 matrix defined in
|
||||
:c:type:`ipu3_uapi_csc_mat_config`
|
||||
CDS Chroma down sampling
|
||||
After the CSC is performed, the Chroma Down Sampling
|
||||
is applied for a UV plane down sampling by a factor
|
||||
of 2 in each direction for YUV 4:2:0 using a 4x2
|
||||
configurable filter :c:type:`ipu3_uapi_cds_params`.
|
||||
CHNR Chroma noise reduction
|
||||
This block processes only the chrominance pixels and
|
||||
performs noise reduction by cleaning the high
|
||||
frequency noise.
|
||||
See struct :c:type:`ipu3_uapi_yuvp1_chnr_config`.
|
||||
TCC Total color correction as defined in struct
|
||||
:c:type:`ipu3_uapi_yuvp2_tcc_static_config`.
|
||||
XNR3 eXtreme Noise Reduction V3 is the third revision of
|
||||
noise reduction algorithm used to improve image
|
||||
quality. This removes the low frequency noise in the
|
||||
captured image. Two related structs are being defined,
|
||||
:c:type:`ipu3_uapi_isp_xnr3_params` for ISP data memory
|
||||
and :c:type:`ipu3_uapi_isp_xnr3_vmem_params` for vector
|
||||
memory.
|
||||
TNR Temporal Noise Reduction block compares successive
|
||||
frames in time to remove anomalies / noise in pixel
|
||||
values. :c:type:`ipu3_uapi_isp_tnr3_vmem_params` and
|
||||
:c:type:`ipu3_uapi_isp_tnr3_params` are defined for ISP
|
||||
vector and data memory respectively.
|
||||
======================== =======================================================
|
||||
|
||||
Other often encountered acronyms not listed in above table:
|
||||
|
||||
ACC
|
||||
Accelerator cluster
|
||||
AWB_FR
|
||||
Auto white balance filter response statistics
|
||||
BDS
|
||||
Bayer downscaler parameters
|
||||
CCM
|
||||
Color correction matrix coefficients
|
||||
IEFd
|
||||
Image enhancement filter directed
|
||||
Obgrid
|
||||
Optical black level compensation
|
||||
OSYS
|
||||
Output system configuration
|
||||
ROI
|
||||
Region of interest
|
||||
YDS
|
||||
Y down sampling
|
||||
YTM
|
||||
Y-tone mapping
|
||||
|
||||
A few stages of the pipeline will be executed by firmware running on the ISP
|
||||
processor, while many others will use a set of fixed hardware blocks also
|
||||
called accelerator cluster (ACC) to crunch pixel data and produce statistics.
|
||||
|
||||
ACC parameters of individual algorithms, as defined by
|
||||
:c:type:`ipu3_uapi_acc_param`, can be chosen to be applied by the user
|
||||
space through struct :c:type:`ipu3_uapi_flags` embedded in
|
||||
:c:type:`ipu3_uapi_params` structure. For parameters that are configured as
|
||||
not enabled by the user space, the corresponding structs are ignored by the
|
||||
driver, in which case the existing configuration of the algorithm will be
|
||||
preserved.
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
.. [#f5] drivers/staging/media/ipu3/include/intel-ipu3.h
|
||||
|
||||
.. [#f1] https://github.com/intel/nvt
|
||||
|
||||
.. [#f2] http://git.ideasonboard.org/yavta.git
|
||||
|
||||
.. [#f3] http://git.ideasonboard.org/?p=media-ctl.git;a=summary
|
||||
|
||||
.. [#f4] ImgU limitation requires an additional 16x16 for all input resolutions
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
139
Documentation/admin-guide/media/ivtv-cardlist.rst
Normal file
139
Documentation/admin-guide/media/ivtv-cardlist.rst
Normal file
@ -0,0 +1,139 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
IVTV cards list
|
||||
===============
|
||||
|
||||
.. tabularcolumns:: |p{1.4cm}|p{12.7cm}|p{3.4cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 2 19 18
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- PCI subsystem IDs
|
||||
|
||||
* - 0
|
||||
- Hauppauge WinTV PVR-250
|
||||
- IVTV16 104d:813d
|
||||
|
||||
* - 1
|
||||
- Hauppauge WinTV PVR-350
|
||||
- IVTV16 104d:813d
|
||||
|
||||
* - 2
|
||||
- Hauppauge WinTV PVR-150
|
||||
- IVTV16 104d:813d
|
||||
|
||||
* - 3
|
||||
- AVerMedia M179
|
||||
- IVTV15 1461:a3cf, IVTV15 1461:a3ce
|
||||
|
||||
* - 4
|
||||
- Yuan MPG600, Kuroutoshikou ITVC16-STVLP
|
||||
- IVTV16 12ab:fff3, IVTV16 12ab:ffff
|
||||
|
||||
* - 5
|
||||
- YUAN MPG160, Kuroutoshikou ITVC15-STVLP, I/O Data GV-M2TV/PCI
|
||||
- IVTV15 10fc:40a0
|
||||
|
||||
* - 6
|
||||
- Yuan PG600, Diamond PVR-550
|
||||
- IVTV16 ff92:0070, IVTV16 ffab:0600
|
||||
|
||||
* - 7
|
||||
- Adaptec VideOh! AVC-2410
|
||||
- IVTV16 9005:0093
|
||||
|
||||
* - 8
|
||||
- Adaptec VideOh! AVC-2010
|
||||
- IVTV16 9005:0092
|
||||
|
||||
* - 9
|
||||
- Nagase Transgear 5000TV
|
||||
- IVTV16 1461:bfff
|
||||
|
||||
* - 10
|
||||
- AOpen VA2000MAX-SNT6
|
||||
- IVTV16 0000:ff5f
|
||||
|
||||
* - 11
|
||||
- Yuan MPG600GR, Kuroutoshikou CX23416GYC-STVLP
|
||||
- IVTV16 12ab:0600, IVTV16 fbab:0600, IVTV16 1154:0523
|
||||
|
||||
* - 12
|
||||
- I/O Data GV-MVP/RX, GV-MVP/RX2W (dual tuner)
|
||||
- IVTV16 10fc:d01e, IVTV16 10fc:d038, IVTV16 10fc:d039
|
||||
|
||||
* - 13
|
||||
- I/O Data GV-MVP/RX2E
|
||||
- IVTV16 10fc:d025
|
||||
|
||||
* - 14
|
||||
- GotView PCI DVD
|
||||
- IVTV16 12ab:0600
|
||||
|
||||
* - 15
|
||||
- GotView PCI DVD2 Deluxe
|
||||
- IVTV16 ffac:0600
|
||||
|
||||
* - 16
|
||||
- Yuan MPC622
|
||||
- IVTV16 ff01:d998
|
||||
|
||||
* - 17
|
||||
- Digital Cowboy DCT-MTVP1
|
||||
- IVTV16 1461:bfff
|
||||
|
||||
* - 18
|
||||
- Yuan PG600-2, GotView PCI DVD Lite
|
||||
- IVTV16 ffab:0600, IVTV16 ffad:0600
|
||||
|
||||
* - 19
|
||||
- Club3D ZAP-TV1x01
|
||||
- IVTV16 ffab:0600
|
||||
|
||||
* - 20
|
||||
- AVerTV MCE 116 Plus
|
||||
- IVTV16 1461:c439
|
||||
|
||||
* - 21
|
||||
- ASUS Falcon2
|
||||
- IVTV16 1043:4b66, IVTV16 1043:462e, IVTV16 1043:4b2e
|
||||
|
||||
* - 22
|
||||
- AVerMedia PVR-150 Plus / AVerTV M113 Partsnic (Daewoo) Tuner
|
||||
- IVTV16 1461:c034, IVTV16 1461:c035
|
||||
|
||||
* - 23
|
||||
- AVerMedia EZMaker PCI Deluxe
|
||||
- IVTV16 1461:c03f
|
||||
|
||||
* - 24
|
||||
- AVerMedia M104
|
||||
- IVTV16 1461:c136
|
||||
|
||||
* - 25
|
||||
- Buffalo PC-MV5L/PCI
|
||||
- IVTV16 1154:052b
|
||||
|
||||
* - 26
|
||||
- AVerMedia UltraTV 1500 MCE / AVerTV M113 Philips Tuner
|
||||
- IVTV16 1461:c019, IVTV16 1461:c01b
|
||||
|
||||
* - 27
|
||||
- Sony VAIO Giga Pocket (ENX Kikyou)
|
||||
- IVTV16 104d:813d
|
||||
|
||||
* - 28
|
||||
- Hauppauge WinTV PVR-350 (V1)
|
||||
- IVTV16 104d:813d
|
||||
|
||||
* - 29
|
||||
- Yuan MPG600GR, Kuroutoshikou CX23416GYC-STVLP (no GR)
|
||||
- IVTV16 104d:813d
|
||||
|
||||
* - 30
|
||||
- Yuan MPG600GR, Kuroutoshikou CX23416GYC-STVLP (no GR/YCS)
|
||||
- IVTV16 104d:813d
|
93
Documentation/admin-guide/media/meye.rst
Normal file
93
Documentation/admin-guide/media/meye.rst
Normal file
@ -0,0 +1,93 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: <isonum.txt>
|
||||
|
||||
Vaio Picturebook Motion Eye Camera Driver
|
||||
=========================================
|
||||
|
||||
Copyright |copy| 2001-2004 Stelian Pop <stelian@popies.net>
|
||||
|
||||
Copyright |copy| 2001-2002 Alcôve <www.alcove.com>
|
||||
|
||||
Copyright |copy| 2000 Andrew Tridgell <tridge@samba.org>
|
||||
|
||||
This driver enable the use of video4linux compatible applications with the
|
||||
Motion Eye camera. This driver requires the "Sony Laptop Extras" driver (which
|
||||
can be found in the "Misc devices" section of the kernel configuration utility)
|
||||
to be compiled and installed (using its "camera=1" parameter).
|
||||
|
||||
It can do at maximum 30 fps @ 320x240 or 15 fps @ 640x480.
|
||||
|
||||
Grabbing is supported in packed YUV colorspace only.
|
||||
|
||||
MJPEG hardware grabbing is supported via a private API (see below).
|
||||
|
||||
Hardware supported
|
||||
------------------
|
||||
|
||||
This driver supports the 'second' version of the MotionEye camera :)
|
||||
|
||||
The first version was connected directly on the video bus of the Neomagic
|
||||
video card and is unsupported.
|
||||
|
||||
The second one, made by Kawasaki Steel is fully supported by this
|
||||
driver (PCI vendor/device is 0x136b/0xff01)
|
||||
|
||||
The third one, present in recent (more or less last year) Picturebooks
|
||||
(C1M* models), is not supported. The manufacturer has given the specs
|
||||
to the developers under a NDA (which allows the development of a GPL
|
||||
driver however), but things are not moving very fast (see
|
||||
http://r-engine.sourceforge.net/) (PCI vendor/device is 0x10cf/0x2011).
|
||||
|
||||
There is a forth model connected on the USB bus in TR1* Vaio laptops.
|
||||
This camera is not supported at all by the current driver, in fact
|
||||
little information if any is available for this camera
|
||||
(USB vendor/device is 0x054c/0x0107).
|
||||
|
||||
Driver options
|
||||
--------------
|
||||
|
||||
Several options can be passed to the meye driver using the standard
|
||||
module argument syntax (<param>=<value> when passing the option to the
|
||||
module or meye.<param>=<value> on the kernel boot line when meye is
|
||||
statically linked into the kernel). Those options are:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
gbuffers: number of capture buffers, default is 2 (32 max)
|
||||
|
||||
gbufsize: size of each capture buffer, default is 614400
|
||||
|
||||
video_nr: video device to register (0 = /dev/video0, etc)
|
||||
|
||||
Module use
|
||||
----------
|
||||
|
||||
In order to automatically load the meye module on use, you can put those lines
|
||||
in your /etc/modprobe.d/meye.conf file:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
alias char-major-81 videodev
|
||||
alias char-major-81-0 meye
|
||||
options meye gbuffers=32
|
||||
|
||||
Usage:
|
||||
------
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
xawtv >= 3.49 (<http://bytesex.org/xawtv/>)
|
||||
for display and uncompressed video capture:
|
||||
|
||||
xawtv -c /dev/video0 -geometry 640x480
|
||||
or
|
||||
xawtv -c /dev/video0 -geometry 320x240
|
||||
|
||||
motioneye (<http://popies.net/meye/>)
|
||||
for getting ppm or jpg snapshots, mjpeg video
|
||||
|
||||
Bugs / Todo
|
||||
-----------
|
||||
|
||||
- 'motioneye' still uses the meye private v4l1 API extensions.
|
28
Documentation/admin-guide/media/misc-cardlist.rst
Normal file
28
Documentation/admin-guide/media/misc-cardlist.rst
Normal file
@ -0,0 +1,28 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Firewire driver
|
||||
===============
|
||||
|
||||
The media subsystem also provides a firewire driver for digital TV:
|
||||
|
||||
======= =====================
|
||||
Driver Name
|
||||
======= =====================
|
||||
firedtv FireDTV and FloppyDTV
|
||||
======= =====================
|
||||
|
||||
Test drivers
|
||||
============
|
||||
|
||||
In order to test userspace applications, there's a number of virtual
|
||||
drivers, with provide test functionality, simulating real hardware
|
||||
devices:
|
||||
|
||||
======= ======================================
|
||||
Driver Name
|
||||
======= ======================================
|
||||
vicodec Virtual Codec Driver
|
||||
vim2m Virtual Memory-to-Memory Driver
|
||||
vimc Virtual Media Controller Driver (VIMC)
|
||||
vivid Virtual Video Test Driver
|
||||
======= ======================================
|
92
Documentation/admin-guide/media/omap3isp.rst
Normal file
92
Documentation/admin-guide/media/omap3isp.rst
Normal file
@ -0,0 +1,92 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: <isonum.txt>
|
||||
|
||||
OMAP 3 Image Signal Processor (ISP) driver
|
||||
==========================================
|
||||
|
||||
Copyright |copy| 2010 Nokia Corporation
|
||||
|
||||
Copyright |copy| 2009 Texas Instruments, Inc.
|
||||
|
||||
Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
|
||||
Sakari Ailus <sakari.ailus@iki.fi>, David Cohen <dacohen@gmail.com>
|
||||
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
This file documents the Texas Instruments OMAP 3 Image Signal Processor (ISP)
|
||||
driver located under drivers/media/platform/omap3isp. The original driver was
|
||||
written by Texas Instruments but since that it has been rewritten (twice) at
|
||||
Nokia.
|
||||
|
||||
The driver has been successfully used on the following versions of OMAP 3:
|
||||
|
||||
- 3430
|
||||
- 3530
|
||||
- 3630
|
||||
|
||||
The driver implements V4L2, Media controller and v4l2_subdev interfaces.
|
||||
Sensor, lens and flash drivers using the v4l2_subdev interface in the kernel
|
||||
are supported.
|
||||
|
||||
|
||||
Split to subdevs
|
||||
----------------
|
||||
|
||||
The OMAP 3 ISP is split into V4L2 subdevs, each of the blocks inside the ISP
|
||||
having one subdev to represent it. Each of the subdevs provide a V4L2 subdev
|
||||
interface to userspace.
|
||||
|
||||
- OMAP3 ISP CCP2
|
||||
- OMAP3 ISP CSI2a
|
||||
- OMAP3 ISP CCDC
|
||||
- OMAP3 ISP preview
|
||||
- OMAP3 ISP resizer
|
||||
- OMAP3 ISP AEWB
|
||||
- OMAP3 ISP AF
|
||||
- OMAP3 ISP histogram
|
||||
|
||||
Each possible link in the ISP is modelled by a link in the Media controller
|
||||
interface. For an example program see [#]_.
|
||||
|
||||
|
||||
Controlling the OMAP 3 ISP
|
||||
--------------------------
|
||||
|
||||
In general, the settings given to the OMAP 3 ISP take effect at the beginning
|
||||
of the following frame. This is done when the module becomes idle during the
|
||||
vertical blanking period on the sensor. In memory-to-memory operation the pipe
|
||||
is run one frame at a time. Applying the settings is done between the frames.
|
||||
|
||||
All the blocks in the ISP, excluding the CSI-2 and possibly the CCP2 receiver,
|
||||
insist on receiving complete frames. Sensors must thus never send the ISP
|
||||
partial frames.
|
||||
|
||||
Autoidle does have issues with some ISP blocks on the 3430, at least.
|
||||
Autoidle is only enabled on 3630 when the omap3isp module parameter autoidle
|
||||
is non-zero.
|
||||
|
||||
Technical reference manuals (TRMs) and other documentation
|
||||
----------------------------------------------------------
|
||||
|
||||
OMAP 3430 TRM:
|
||||
<URL:http://focus.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZM.zip>
|
||||
Referenced 2011-03-05.
|
||||
|
||||
OMAP 35xx TRM:
|
||||
<URL:http://www.ti.com/litv/pdf/spruf98o> Referenced 2011-03-05.
|
||||
|
||||
OMAP 3630 TRM:
|
||||
<URL:http://focus.ti.com/pdfs/wtbu/OMAP36xx_ES1.x_PUBLIC_TRM_vQ.zip>
|
||||
Referenced 2011-03-05.
|
||||
|
||||
DM 3730 TRM:
|
||||
<URL:http://www.ti.com/litv/pdf/sprugn4h> Referenced 2011-03-06.
|
||||
|
||||
|
||||
References
|
||||
----------
|
||||
|
||||
.. [#] http://git.ideasonboard.org/?p=media-ctl.git;a=summary
|
92
Documentation/admin-guide/media/other-usb-cardlist.rst
Normal file
92
Documentation/admin-guide/media/other-usb-cardlist.rst
Normal file
@ -0,0 +1,92 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Other USB cards list
|
||||
====================
|
||||
|
||||
================ ====================================== =====================
|
||||
Driver Card name USB IDs
|
||||
================ ====================================== =====================
|
||||
airspy Airspy 1d50:60a1
|
||||
dvb-as102 Abilis Systems DVB-Titan 1BA6:0001
|
||||
dvb-as102 PCTV Systems picoStick (74e) 2013:0246
|
||||
dvb-as102 Elgato EyeTV DTT Deluxe 0fd9:002c
|
||||
dvb-as102 nBox DVB-T Dongle 0b89:0007
|
||||
dvb-as102 Sky IT Digital Key (green led) 2137:0001
|
||||
b2c2-flexcop-usb Technisat/B2C2 FlexCop II/IIb/III 0af7:0101
|
||||
Digital TV
|
||||
cpia2 Vision's CPiA2 cameras 0553:0100, 0553:0140,
|
||||
such as the Digital Blue QX5 0553:0151
|
||||
go7007 WIS GO7007 MPEG encoder 1943:a250, 093b:a002,
|
||||
093b:a004, 0eb1:6666,
|
||||
0eb1:6668
|
||||
hackrf HackRF Software Decoder Radio 1d50:6089
|
||||
hdpvr Hauppauge HD PVR 2040:4900, 2040:4901,
|
||||
2040:4902, 2040:4982,
|
||||
2040:4903
|
||||
msi2500 Mirics MSi3101 SDR Dongle 1df7:2500, 2040:d300
|
||||
pvrusb2 Hauppauge WinTV-PVR USB2 2040:2900, 2040:2950,
|
||||
2040:2400, 1164:0622,
|
||||
1164:0602, 11ba:1003,
|
||||
11ba:1001, 2040:7300,
|
||||
2040:7500, 2040:7501,
|
||||
0ccd:0039, 2040:7502,
|
||||
2040:7510
|
||||
pwc Creative Webcam 5 041E:400C
|
||||
pwc Creative Webcam Pro Ex 041E:4011
|
||||
pwc Logitech QuickCam 3000 Pro 046D:08B0
|
||||
pwc Logitech QuickCam Notebook Pro 046D:08B1
|
||||
pwc Logitech QuickCam 4000 Pro 046D:08B2
|
||||
pwc Logitech QuickCam Zoom (old model) 046D:08B3
|
||||
pwc Logitech QuickCam Zoom (new model) 046D:08B4
|
||||
pwc Logitech QuickCam Orbit/Sphere 046D:08B5
|
||||
pwc Logitech/Cisco VT Camera 046D:08B6
|
||||
pwc Logitech ViewPort AV 100 046D:08B7
|
||||
pwc Logitech QuickCam 046D:08B8
|
||||
pwc Philips PCA645VC 0471:0302
|
||||
pwc Philips PCA646VC 0471:0303
|
||||
pwc Askey VC010 type 2 0471:0304
|
||||
pwc Philips PCVC675K (Vesta) 0471:0307
|
||||
pwc Philips PCVC680K (Vesta Pro) 0471:0308
|
||||
pwc Philips PCVC690K (Vesta Pro Scan) 0471:030C
|
||||
pwc Philips PCVC730K (ToUCam Fun), 0471:0310
|
||||
PCVC830 (ToUCam II)
|
||||
pwc Philips PCVC740K (ToUCam Pro), 0471:0311
|
||||
PCVC840 (ToUCam II)
|
||||
pwc Philips PCVC750K (ToUCam Pro Scan) 0471:0312
|
||||
pwc Philips PCVC720K/40 (ToUCam XS) 0471:0313
|
||||
pwc Philips SPC 900NC 0471:0329
|
||||
pwc Philips SPC 880NC 0471:032C
|
||||
pwc Sotec Afina Eye 04CC:8116
|
||||
pwc Samsung MPC-C10 055D:9000
|
||||
pwc Samsung MPC-C30 055D:9001
|
||||
pwc Samsung SNC-35E (Ver3.0) 055D:9002
|
||||
pwc Askey VC010 type 1 069A:0001
|
||||
pwc AME Co. Afina Eye 06BE:8116
|
||||
pwc Visionite VCS-UC300 0d81:1900
|
||||
pwc Visionite VCS-UM100 0d81:1910
|
||||
s2255drv Sensoray 2255 1943:2255, 1943:2257
|
||||
stk1160 STK1160 USB video capture dongle 05e1:0408
|
||||
stkwebcam Syntek DC1125 174f:a311, 05e1:0501
|
||||
dvb-ttusb-budget Technotrend/Hauppauge Nova-USB devices 0b48:1003, 0b48:1004,
|
||||
0b48:1005
|
||||
dvb-ttusb_dec Technotrend/Hauppauge MPEG decoder 0b48:1006
|
||||
DEC3000-s
|
||||
dvb-ttusb_dec Technotrend/Hauppauge MPEG decoder 0b48:1007
|
||||
dvb-ttusb_dec Technotrend/Hauppauge MPEG decoder 0b48:1008
|
||||
DEC2000-t
|
||||
dvb-ttusb_dec Technotrend/Hauppauge MPEG decoder
|
||||
DEC2540-t 0b48:1009
|
||||
usbtv Fushicai USBTV007 Audio-Video Grabber 1b71:3002, 1f71:3301,
|
||||
1f71:3306
|
||||
zr364xx USB ZR364XX Camera 08ca:0109, 041e:4024,
|
||||
0d64:0108, 0546:3187,
|
||||
0d64:3108, 0595:4343,
|
||||
0bb0:500d, 0feb:2004,
|
||||
055f:b500, 08ca:2062,
|
||||
052b:1a18, 04c8:0729,
|
||||
04f2:a208, 0784:0040,
|
||||
06d6:0034, 0a17:0062,
|
||||
06d6:003b, 0a17:004e,
|
||||
041e:405d, 08ca:2102,
|
||||
06d6:003d
|
||||
================ ====================================== =====================
|
107
Documentation/admin-guide/media/pci-cardlist.rst
Normal file
107
Documentation/admin-guide/media/pci-cardlist.rst
Normal file
@ -0,0 +1,107 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
PCI drivers
|
||||
===========
|
||||
|
||||
The PCI boards are identified by an identification called PCI ID. The PCI ID
|
||||
is actually composed by two parts:
|
||||
|
||||
- Vendor ID and device ID;
|
||||
- Subsystem ID and Subsystem device ID;
|
||||
|
||||
The ``lspci -nn`` command allows identifying the vendor/device PCI IDs:
|
||||
|
||||
.. code-block:: none
|
||||
:emphasize-lines: 3
|
||||
|
||||
$ lspci -nn
|
||||
...
|
||||
00:0a.0 Multimedia controller [0480]: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder [1131:7133] (rev d1)
|
||||
00:0b.0 Multimedia controller [0480]: Brooktree Corporation Bt878 Audio Capture [109e:0878] (rev 11)
|
||||
01:00.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb [14f1:8880] (rev 0f)
|
||||
02:01.0 Multimedia video controller [0400]: Internext Compression Inc iTVC15 (CX23415) Video Decoder [4444:0803] (rev 01)
|
||||
02:02.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder [14f1:5b7a]
|
||||
02:03.0 Multimedia video controller [0400]: Brooktree Corporation Bt878 Video Capture [109e:036e] (rev 11)
|
||||
...
|
||||
|
||||
The subsystem IDs can be obtained using ``lspci -vn``
|
||||
|
||||
.. code-block:: none
|
||||
:emphasize-lines: 4
|
||||
|
||||
$ lspci -vn
|
||||
...
|
||||
00:0a.0 0480: 1131:7133 (rev d1)
|
||||
Subsystem: 1461:f01d
|
||||
Flags: bus master, medium devsel, latency 32, IRQ 209
|
||||
Memory at e2002000 (32-bit, non-prefetchable) [size=2K]
|
||||
Capabilities: [40] Power Management version 2
|
||||
...
|
||||
|
||||
At the above example, the first card uses the ``saa7134`` driver, and
|
||||
has a vendor/device PCI ID equal to ``1131:7133`` and a PCI subsystem
|
||||
ID equal to ``1461:f01d`` (see :doc:`Saa7134 card list<saa7134-cardlist>`).
|
||||
|
||||
Unfortunately, sometimes the same PCI subsystem ID is used by different
|
||||
products. So, several media drivers allow passing a ``card=`` parameter,
|
||||
in order to setup a card number that would match the correct settings for
|
||||
an specific board.
|
||||
|
||||
The current supported PCI/PCIe cards (not including staging drivers) are
|
||||
listed below\ [#]_.
|
||||
|
||||
.. [#] some of the drivers have sub-drivers, not shown at this table
|
||||
|
||||
================ ========================================================
|
||||
Driver Name
|
||||
================ ========================================================
|
||||
altera-ci Altera FPGA based CI module
|
||||
b2c2-flexcop-pci Technisat/B2C2 Air/Sky/Cable2PC PCI
|
||||
bt878 DVB/ATSC Support for bt878 based TV cards
|
||||
bttv BT8x8 Video For Linux
|
||||
cobalt Cisco Cobalt
|
||||
cx18 Conexant cx23418 MPEG encoder
|
||||
cx23885 Conexant cx23885 (2388x successor)
|
||||
cx25821 Conexant cx25821
|
||||
cx88xx Conexant 2388x (bt878 successor)
|
||||
ddbridge Digital Devices bridge
|
||||
dm1105 SDMC DM1105 based PCI cards
|
||||
dt3155 DT3155 frame grabber
|
||||
dvb-ttpci AV7110 cards
|
||||
earth-pt1 PT1 cards
|
||||
earth-pt3 Earthsoft PT3 cards
|
||||
hexium_gemini Hexium Gemini frame grabber
|
||||
hexium_orion Hexium HV-PCI6 and Orion frame grabber
|
||||
hopper HOPPER based cards
|
||||
ipu3-cio2 Intel ipu3-cio2 driver
|
||||
ivtv Conexant cx23416/cx23415 MPEG encoder/decoder
|
||||
ivtvfb Conexant cx23415 framebuffer
|
||||
mantis MANTIS based cards
|
||||
meye Sony Vaio Picturebook Motion Eye
|
||||
mxb Siemens-Nixdorf 'Multimedia eXtension Board'
|
||||
netup-unidvb NetUP Universal DVB card
|
||||
ngene Micronas nGene
|
||||
pluto2 Pluto2 cards
|
||||
saa7134 Philips SAA7134
|
||||
saa7164 NXP SAA7164
|
||||
smipcie SMI PCIe DVBSky cards
|
||||
solo6x10 Bluecherry / Softlogic 6x10 capture cards (MPEG-4/H.264)
|
||||
sta2x11_vip STA2X11 VIP Video For Linux
|
||||
tw5864 Techwell TW5864 video/audio grabber and encoder
|
||||
tw686x Intersil/Techwell TW686x
|
||||
tw68 Techwell tw68x Video For Linux
|
||||
================ ========================================================
|
||||
|
||||
Some of those drivers support multiple devices, as shown at the card
|
||||
lists below:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
bttv-cardlist
|
||||
cx18-cardlist
|
||||
cx23885-cardlist
|
||||
cx88-cardlist
|
||||
ivtv-cardlist
|
||||
saa7134-cardlist
|
||||
saa7164-cardlist
|
90
Documentation/admin-guide/media/platform-cardlist.rst
Normal file
90
Documentation/admin-guide/media/platform-cardlist.rst
Normal file
@ -0,0 +1,90 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Platform drivers
|
||||
================
|
||||
|
||||
There are several drivers that are focused on providing support for
|
||||
functionality that are already included at the main board, and don't
|
||||
use neither USB nor PCI bus. Those drivers are called platform
|
||||
drivers, and are very popular on embedded devices.
|
||||
|
||||
The current supported of platform drivers (not including staging drivers) are
|
||||
listed below
|
||||
|
||||
================= ============================================================
|
||||
Driver Name
|
||||
================= ============================================================
|
||||
am437x-vpfe TI AM437x VPFE
|
||||
aspeed-video Aspeed AST2400 and AST2500
|
||||
atmel-isc ATMEL Image Sensor Controller (ISC)
|
||||
atmel-isi ATMEL Image Sensor Interface (ISI)
|
||||
c8sectpfe SDR platform devices
|
||||
c8sectpfe SDR platform devices
|
||||
cafe_ccic Marvell 88ALP01 (Cafe) CMOS Camera Controller
|
||||
cdns-csi2rx Cadence MIPI-CSI2 RX Controller
|
||||
cdns-csi2tx Cadence MIPI-CSI2 TX Controller
|
||||
coda-vpu Chips&Media Coda multi-standard codec IP
|
||||
dm355_ccdc TI DM355 CCDC video capture
|
||||
dm644x_ccdc TI DM6446 CCDC video capture
|
||||
exynos-fimc-is EXYNOS4x12 FIMC-IS (Imaging Subsystem)
|
||||
exynos-fimc-lite EXYNOS FIMC-LITE camera interface
|
||||
exynos-gsc Samsung Exynos G-Scaler
|
||||
exy Samsung S5P/EXYNOS4 SoC series Camera Subsystem
|
||||
fsl-viu Freescale VIU
|
||||
imx-pxp i.MX Pixel Pipeline (PXP)
|
||||
isdf TI DM365 ISIF video capture
|
||||
mmp_camera Marvell Armada 610 integrated camera controller
|
||||
mtk_jpeg Mediatek JPEG Codec
|
||||
mtk-mdp Mediatek MDP
|
||||
mtk-vcodec-dec Mediatek Video Codec
|
||||
mtk-vpu Mediatek Video Processor Unit
|
||||
mx2_emmaprp MX2 eMMa-PrP
|
||||
omap3-isp OMAP 3 Camera
|
||||
omap-vout OMAP2/OMAP3 V4L2-Display
|
||||
pxa_camera PXA27x Quick Capture Interface
|
||||
qcom-camss Qualcomm V4L2 Camera Subsystem
|
||||
rcar-csi2 R-Car MIPI CSI-2 Receiver
|
||||
rcar_drif Renesas Digital Radio Interface (DRIF)
|
||||
rcar-fcp Renesas Frame Compression Processor
|
||||
rcar_fdp1 Renesas Fine Display Processor
|
||||
rcar_jpu Renesas JPEG Processing Unit
|
||||
rcar-vin R-Car Video Input (VIN)
|
||||
renesas-ceu Renesas Capture Engine Unit (CEU)
|
||||
rockchip-rga Rockchip Raster 2d Graphic Acceleration Unit
|
||||
s3c-camif Samsung S3C24XX/S3C64XX SoC Camera Interface
|
||||
s5p-csis S5P/EXYNOS MIPI-CSI2 receiver (MIPI-CSIS)
|
||||
s5p-fimc S5P/EXYNOS4 FIMC/CAMIF camera interface
|
||||
s5p-g2d Samsung S5P and EXYNOS4 G2D 2d graphics accelerator
|
||||
s5p-jpeg Samsung S5P/Exynos3250/Exynos4 JPEG codec
|
||||
s5p-mfc Samsung S5P MFC Video Codec
|
||||
sh_veu SuperH VEU mem2mem video processing
|
||||
sh_vou SuperH VOU video output
|
||||
stm32-dcmi STM32 Digital Camera Memory Interface (DCMI)
|
||||
sun4i-csi Allwinner A10 CMOS Sensor Interface Support
|
||||
sun6i-csi Allwinner V3s Camera Sensor Interface
|
||||
sun8i-di Allwinner Deinterlace
|
||||
sun8i-rotate Allwinner DE2 rotation
|
||||
ti-cal TI Memory-to-memory multimedia devices
|
||||
ti-csc TI DVB platform devices
|
||||
ti-vpe TI VPE (Video Processing Engine)
|
||||
venus-enc Qualcomm Venus V4L2 encoder/decoder
|
||||
via-camera VIAFB camera controller
|
||||
video-mux Video Multiplexer
|
||||
vpif_display TI DaVinci VPIF V4L2-Display
|
||||
vpif_capture TI DaVinci VPIF video capture
|
||||
vpss TI DaVinci VPBE V4L2-Display
|
||||
vsp1 Renesas VSP1 Video Processing Engine
|
||||
xilinx-tpg Xilinx Video Test Pattern Generator
|
||||
xilinx-video Xilinx Video IP (EXPERIMENTAL)
|
||||
xilinx-vtc Xilinx Video Timing Controller
|
||||
================= ============================================================
|
||||
|
||||
MMC/SDIO DVB adapters
|
||||
---------------------
|
||||
|
||||
======= ===========================================
|
||||
Driver Name
|
||||
======= ===========================================
|
||||
smssdio Siano SMS1xxx based MDTV via SDIO interface
|
||||
======= ===========================================
|
||||
|
44
Documentation/admin-guide/media/radio-cardlist.rst
Normal file
44
Documentation/admin-guide/media/radio-cardlist.rst
Normal file
@ -0,0 +1,44 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Radio drivers
|
||||
=============
|
||||
|
||||
There is also support for pure AM/FM radio, and even for some FM radio
|
||||
transmitters:
|
||||
|
||||
===================== =========================================================
|
||||
Driver Name
|
||||
===================== =========================================================
|
||||
si4713 Silicon Labs Si4713 FM Radio Transmitter
|
||||
radio-aztech Aztech/Packard Bell Radio
|
||||
radio-cadet ADS Cadet AM/FM Tuner
|
||||
radio-gemtek GemTek Radio card (or compatible)
|
||||
radio-maxiradio Guillemot MAXI Radio FM 2000 radio
|
||||
radio-miropcm20 miroSOUND PCM20 radio
|
||||
radio-aimslab AIMSlab RadioTrack (aka RadioReveal)
|
||||
radio-rtrack2 AIMSlab RadioTrack II
|
||||
saa7706h SAA7706H Car Radio DSP
|
||||
radio-sf16fmi SF16-FMI/SF16-FMP/SF16-FMD Radio
|
||||
radio-sf16fmr2 SF16-FMR2/SF16-FMD2 Radio
|
||||
radio-shark Griffin radioSHARK USB radio receiver
|
||||
shark2 Griffin radioSHARK2 USB radio receiver
|
||||
radio-si470x-common Silicon Labs Si470x FM Radio Receiver
|
||||
radio-si476x Silicon Laboratories Si476x I2C FM Radio
|
||||
radio-tea5764 TEA5764 I2C FM radio
|
||||
tef6862 TEF6862 Car Radio Enhanced Selectivity Tuner
|
||||
radio-terratec TerraTec ActiveRadio ISA Standalone
|
||||
radio-timb Enable the Timberdale radio driver
|
||||
radio-trust Trust FM radio card
|
||||
radio-typhoon Typhoon Radio (a.k.a. EcoRadio)
|
||||
radio-wl1273 Texas Instruments WL1273 I2C FM Radio
|
||||
fm_drv ISA radio devices
|
||||
fm_drv ISA radio devices
|
||||
radio-zoltrix Zoltrix Radio
|
||||
dsbr100 D-Link/GemTek USB FM radio
|
||||
radio-keene Keene FM Transmitter USB
|
||||
radio-ma901 Masterkit MA901 USB FM radio
|
||||
radio-mr800 AverMedia MR 800 USB FM radio
|
||||
radio-raremono Thanko's Raremono AM/FM/SW radio
|
||||
radio-si470x-usb Silicon Labs Si470x FM Radio Receiver support with USB
|
||||
radio-usb-si4713 Silicon Labs Si4713 FM Radio Transmitter support with USB
|
||||
===================== =========================================================
|
76
Documentation/admin-guide/media/remote-controller.rst
Normal file
76
Documentation/admin-guide/media/remote-controller.rst
Normal file
@ -0,0 +1,76 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
======================================================
|
||||
Infrared remote control support in video4linux drivers
|
||||
======================================================
|
||||
|
||||
Authors: Gerd Hoffmann, Mauro Carvalho Chehab
|
||||
|
||||
Basics
|
||||
======
|
||||
|
||||
Most analog and digital TV boards support remote controllers. Several of
|
||||
them have a microprocessor that receives the IR carriers, convert into
|
||||
pulse/space sequences and then to scan codes, returning such codes to
|
||||
userspace ("scancode mode"). Other boards return just the pulse/space
|
||||
sequences ("raw mode").
|
||||
|
||||
The support for remote controller in scancode mode is provided by the
|
||||
standard Linux input layer. The support for raw mode is provided via LIRC.
|
||||
|
||||
In order to check the support and test it, it is suggested to download
|
||||
the `v4l-utils <https://git.linuxtv.org/v4l-utils.git/>`_. It provides
|
||||
two tools to handle remote controllers:
|
||||
|
||||
- ir-keytable: provides a way to query the remote controller, list the
|
||||
protocols it supports, enable in-kernel support for IR decoder or
|
||||
switch the protocol and to test the reception of scan codes;
|
||||
|
||||
- ir-ctl: provide tools to handle remote controllers that support raw mode
|
||||
via LIRC interface.
|
||||
|
||||
Usually, the remote controller module is auto-loaded when the TV card is
|
||||
detected. However, for a few devices, you need to manually load the
|
||||
ir-kbd-i2c module.
|
||||
|
||||
How it works
|
||||
============
|
||||
|
||||
The modules register the remote as keyboard within the linux input
|
||||
layer, i.e. you'll see the keys of the remote as normal key strokes
|
||||
(if CONFIG_INPUT_KEYBOARD is enabled).
|
||||
|
||||
Using the event devices (CONFIG_INPUT_EVDEV) it is possible for
|
||||
applications to access the remote via /dev/input/event<n> devices.
|
||||
The udev/systemd will automatically create the devices. If you install
|
||||
the `v4l-utils <https://git.linuxtv.org/v4l-utils.git/>`_, it may also
|
||||
automatically load a different keytable than the default one. Please see
|
||||
`v4l-utils <https://git.linuxtv.org/v4l-utils.git/>`_ ir-keytable.1
|
||||
man page for details.
|
||||
|
||||
The ir-keytable tool is nice for trouble shooting, i.e. to check
|
||||
whenever the input device is really present, which of the devices it
|
||||
is, check whenever pressing keys on the remote actually generates
|
||||
events and the like. You can also use any other input utility that changes
|
||||
the keymaps, like the input kbd utility.
|
||||
|
||||
|
||||
Using with lircd
|
||||
----------------
|
||||
|
||||
The latest versions of the lircd daemon supports reading events from the
|
||||
linux input layer (via event device). It also supports receiving IR codes
|
||||
in lirc mode.
|
||||
|
||||
|
||||
Using without lircd
|
||||
-------------------
|
||||
|
||||
Xorg recognizes several IR keycodes that have its numerical value lower
|
||||
than 247. With the advent of Wayland, the input driver got updated too,
|
||||
and should now accept all keycodes. Yet, you may want to just reasign
|
||||
the keycodes to something that your favorite media application likes.
|
||||
|
||||
This can be done by setting
|
||||
`v4l-utils <https://git.linuxtv.org/v4l-utils.git/>`_ to load your own
|
||||
keytable in runtime. Please read ir-keytable.1 man page for details.
|
803
Documentation/admin-guide/media/saa7134-cardlist.rst
Normal file
803
Documentation/admin-guide/media/saa7134-cardlist.rst
Normal file
@ -0,0 +1,803 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
SAA7134 cards list
|
||||
==================
|
||||
|
||||
.. tabularcolumns:: |p{1.4cm}|p{11.1cm}|p{4.2cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 2 19 18
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- PCI subsystem IDs
|
||||
|
||||
* - 0
|
||||
- UNKNOWN/GENERIC
|
||||
-
|
||||
|
||||
* - 1
|
||||
- Proteus Pro [philips reference design]
|
||||
- 1131:2001, 1131:2001
|
||||
|
||||
* - 2
|
||||
- LifeView FlyVIDEO3000
|
||||
- 5168:0138, 4e42:0138
|
||||
|
||||
* - 3
|
||||
- LifeView/Typhoon FlyVIDEO2000
|
||||
- 5168:0138, 4e42:0138
|
||||
|
||||
* - 4
|
||||
- EMPRESS
|
||||
- 1131:6752
|
||||
|
||||
* - 5
|
||||
- SKNet Monster TV
|
||||
- 1131:4e85
|
||||
|
||||
* - 6
|
||||
- Tevion MD 9717
|
||||
-
|
||||
|
||||
* - 7
|
||||
- KNC One TV-Station RDS / Typhoon TV Tuner RDS
|
||||
- 1131:fe01, 1894:fe01
|
||||
|
||||
* - 8
|
||||
- Terratec Cinergy 400 TV
|
||||
- 153b:1142
|
||||
|
||||
* - 9
|
||||
- Medion 5044
|
||||
-
|
||||
|
||||
* - 10
|
||||
- Kworld/KuroutoShikou SAA7130-TVPCI
|
||||
-
|
||||
|
||||
* - 11
|
||||
- Terratec Cinergy 600 TV
|
||||
- 153b:1143
|
||||
|
||||
* - 12
|
||||
- Medion 7134
|
||||
- 16be:0003, 16be:5000
|
||||
|
||||
* - 13
|
||||
- Typhoon TV+Radio 90031
|
||||
-
|
||||
|
||||
* - 14
|
||||
- ELSA EX-VISION 300TV
|
||||
- 1048:226b
|
||||
|
||||
* - 15
|
||||
- ELSA EX-VISION 500TV
|
||||
- 1048:226a
|
||||
|
||||
* - 16
|
||||
- ASUS TV-FM 7134
|
||||
- 1043:4842, 1043:4830, 1043:4840
|
||||
|
||||
* - 17
|
||||
- AOPEN VA1000 POWER
|
||||
- 1131:7133
|
||||
|
||||
* - 18
|
||||
- BMK MPEX No Tuner
|
||||
-
|
||||
|
||||
* - 19
|
||||
- Compro VideoMate TV
|
||||
- 185b:c100
|
||||
|
||||
* - 20
|
||||
- Matrox CronosPlus
|
||||
- 102B:48d0
|
||||
|
||||
* - 21
|
||||
- 10MOONS PCI TV CAPTURE CARD
|
||||
- 1131:2001
|
||||
|
||||
* - 22
|
||||
- AverMedia M156 / Medion 2819
|
||||
- 1461:a70b
|
||||
|
||||
* - 23
|
||||
- BMK MPEX Tuner
|
||||
-
|
||||
|
||||
* - 24
|
||||
- KNC One TV-Station DVR
|
||||
- 1894:a006
|
||||
|
||||
* - 25
|
||||
- ASUS TV-FM 7133
|
||||
- 1043:4843
|
||||
|
||||
* - 26
|
||||
- Pinnacle PCTV Stereo (saa7134)
|
||||
- 11bd:002b
|
||||
|
||||
* - 27
|
||||
- Manli MuchTV M-TV002
|
||||
-
|
||||
|
||||
* - 28
|
||||
- Manli MuchTV M-TV001
|
||||
-
|
||||
|
||||
* - 29
|
||||
- Nagase Sangyo TransGear 3000TV
|
||||
- 1461:050c
|
||||
|
||||
* - 30
|
||||
- Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM)
|
||||
- 1019:4cb4
|
||||
|
||||
* - 31
|
||||
- Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM)
|
||||
- 1019:4cb5
|
||||
|
||||
* - 32
|
||||
- AVACS SmartTV
|
||||
-
|
||||
|
||||
* - 33
|
||||
- AVerMedia DVD EZMaker
|
||||
- 1461:10ff
|
||||
|
||||
* - 34
|
||||
- Noval Prime TV 7133
|
||||
-
|
||||
|
||||
* - 35
|
||||
- AverMedia AverTV Studio 305
|
||||
- 1461:2115
|
||||
|
||||
* - 36
|
||||
- UPMOST PURPLE TV
|
||||
- 12ab:0800
|
||||
|
||||
* - 37
|
||||
- Items MuchTV Plus / IT-005
|
||||
-
|
||||
|
||||
* - 38
|
||||
- Terratec Cinergy 200 TV
|
||||
- 153b:1152
|
||||
|
||||
* - 39
|
||||
- LifeView FlyTV Platinum Mini
|
||||
- 5168:0212, 4e42:0212, 5169:1502
|
||||
|
||||
* - 40
|
||||
- Compro VideoMate TV PVR/FM
|
||||
- 185b:c100
|
||||
|
||||
* - 41
|
||||
- Compro VideoMate TV Gold+
|
||||
- 185b:c100
|
||||
|
||||
* - 42
|
||||
- Sabrent SBT-TVFM (saa7130)
|
||||
-
|
||||
|
||||
* - 43
|
||||
- :Zolid Xpert TV7134
|
||||
-
|
||||
|
||||
* - 44
|
||||
- Empire PCI TV-Radio LE
|
||||
-
|
||||
|
||||
* - 45
|
||||
- Avermedia AVerTV Studio 307
|
||||
- 1461:9715
|
||||
|
||||
* - 46
|
||||
- AVerMedia Cardbus TV/Radio (E500)
|
||||
- 1461:d6ee
|
||||
|
||||
* - 47
|
||||
- Terratec Cinergy 400 mobile
|
||||
- 153b:1162
|
||||
|
||||
* - 48
|
||||
- Terratec Cinergy 600 TV MK3
|
||||
- 153b:1158
|
||||
|
||||
* - 49
|
||||
- Compro VideoMate Gold+ Pal
|
||||
- 185b:c200
|
||||
|
||||
* - 50
|
||||
- Pinnacle PCTV 300i DVB-T + PAL
|
||||
- 11bd:002d
|
||||
|
||||
* - 51
|
||||
- ProVideo PV952
|
||||
- 1540:9524
|
||||
|
||||
* - 52
|
||||
- AverMedia AverTV/305
|
||||
- 1461:2108
|
||||
|
||||
* - 53
|
||||
- ASUS TV-FM 7135
|
||||
- 1043:4845
|
||||
|
||||
* - 54
|
||||
- LifeView FlyTV Platinum FM / Gold
|
||||
- 5168:0214, 5168:5214, 1489:0214, 5168:0304
|
||||
|
||||
* - 55
|
||||
- LifeView FlyDVB-T DUO / MSI TV@nywhere Duo
|
||||
- 5168:0306, 4E42:0306
|
||||
|
||||
* - 56
|
||||
- Avermedia AVerTV 307
|
||||
- 1461:a70a
|
||||
|
||||
* - 57
|
||||
- Avermedia AVerTV GO 007 FM
|
||||
- 1461:f31f
|
||||
|
||||
* - 58
|
||||
- ADS Tech Instant TV (saa7135)
|
||||
- 1421:0350, 1421:0351, 1421:0370, 1421:1370
|
||||
|
||||
* - 59
|
||||
- Kworld/Tevion V-Stream Xpert TV PVR7134
|
||||
-
|
||||
|
||||
* - 60
|
||||
- LifeView/Typhoon/Genius FlyDVB-T Duo Cardbus
|
||||
- 5168:0502, 4e42:0502, 1489:0502
|
||||
|
||||
* - 61
|
||||
- Philips TOUGH DVB-T reference design
|
||||
- 1131:2004
|
||||
|
||||
* - 62
|
||||
- Compro VideoMate TV Gold+II
|
||||
-
|
||||
|
||||
* - 63
|
||||
- Kworld Xpert TV PVR7134
|
||||
-
|
||||
|
||||
* - 64
|
||||
- FlyTV mini Asus Digimatrix
|
||||
- 1043:0210
|
||||
|
||||
* - 65
|
||||
- V-Stream Studio TV Terminator
|
||||
-
|
||||
|
||||
* - 66
|
||||
- Yuan TUN-900 (saa7135)
|
||||
-
|
||||
|
||||
* - 67
|
||||
- Beholder BeholdTV 409 FM
|
||||
- 0000:4091
|
||||
|
||||
* - 68
|
||||
- GoTView 7135 PCI
|
||||
- 5456:7135
|
||||
|
||||
* - 69
|
||||
- Philips EUROPA V3 reference design
|
||||
- 1131:2004
|
||||
|
||||
* - 70
|
||||
- Compro Videomate DVB-T300
|
||||
- 185b:c900
|
||||
|
||||
* - 71
|
||||
- Compro Videomate DVB-T200
|
||||
- 185b:c901
|
||||
|
||||
* - 72
|
||||
- RTD Embedded Technologies VFG7350
|
||||
- 1435:7350
|
||||
|
||||
* - 73
|
||||
- RTD Embedded Technologies VFG7330
|
||||
- 1435:7330
|
||||
|
||||
* - 74
|
||||
- LifeView FlyTV Platinum Mini2
|
||||
- 14c0:1212
|
||||
|
||||
* - 75
|
||||
- AVerMedia AVerTVHD MCE A180
|
||||
- 1461:1044
|
||||
|
||||
* - 76
|
||||
- SKNet MonsterTV Mobile
|
||||
- 1131:4ee9
|
||||
|
||||
* - 77
|
||||
- Pinnacle PCTV 40i/50i/110i (saa7133)
|
||||
- 11bd:002e
|
||||
|
||||
* - 78
|
||||
- ASUSTeK P7131 Dual
|
||||
- 1043:4862
|
||||
|
||||
* - 79
|
||||
- Sedna/MuchTV PC TV Cardbus TV/Radio (ITO25 Rev:2B)
|
||||
-
|
||||
|
||||
* - 80
|
||||
- ASUS Digimatrix TV
|
||||
- 1043:0210
|
||||
|
||||
* - 81
|
||||
- Philips Tiger reference design
|
||||
- 1131:2018
|
||||
|
||||
* - 82
|
||||
- MSI TV@Anywhere plus
|
||||
- 1462:6231, 1462:8624
|
||||
|
||||
* - 83
|
||||
- Terratec Cinergy 250 PCI TV
|
||||
- 153b:1160
|
||||
|
||||
* - 84
|
||||
- LifeView FlyDVB Trio
|
||||
- 5168:0319
|
||||
|
||||
* - 85
|
||||
- AverTV DVB-T 777
|
||||
- 1461:2c05, 1461:2c05
|
||||
|
||||
* - 86
|
||||
- LifeView FlyDVB-T / Genius VideoWonder DVB-T
|
||||
- 5168:0301, 1489:0301
|
||||
|
||||
* - 87
|
||||
- ADS Instant TV Duo Cardbus PTV331
|
||||
- 0331:1421
|
||||
|
||||
* - 88
|
||||
- Tevion/KWorld DVB-T 220RF
|
||||
- 17de:7201
|
||||
|
||||
* - 89
|
||||
- ELSA EX-VISION 700TV
|
||||
- 1048:226c
|
||||
|
||||
* - 90
|
||||
- Kworld ATSC110/115
|
||||
- 17de:7350, 17de:7352
|
||||
|
||||
* - 91
|
||||
- AVerMedia A169 B
|
||||
- 1461:7360
|
||||
|
||||
* - 92
|
||||
- AVerMedia A169 B1
|
||||
- 1461:6360
|
||||
|
||||
* - 93
|
||||
- Medion 7134 Bridge #2
|
||||
- 16be:0005
|
||||
|
||||
* - 94
|
||||
- LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D NB
|
||||
- 5168:3306, 5168:3502, 5168:3307, 4e42:3502
|
||||
|
||||
* - 95
|
||||
- LifeView FlyVIDEO3000 (NTSC)
|
||||
- 5169:0138
|
||||
|
||||
* - 96
|
||||
- Medion Md8800 Quadro
|
||||
- 16be:0007, 16be:0008, 16be:000d
|
||||
|
||||
* - 97
|
||||
- LifeView FlyDVB-S /Acorp TV134DS
|
||||
- 5168:0300, 4e42:0300
|
||||
|
||||
* - 98
|
||||
- Proteus Pro 2309
|
||||
- 0919:2003
|
||||
|
||||
* - 99
|
||||
- AVerMedia TV Hybrid A16AR
|
||||
- 1461:2c00
|
||||
|
||||
* - 100
|
||||
- Asus Europa2 OEM
|
||||
- 1043:4860
|
||||
|
||||
* - 101
|
||||
- Pinnacle PCTV 310i
|
||||
- 11bd:002f
|
||||
|
||||
* - 102
|
||||
- Avermedia AVerTV Studio 507
|
||||
- 1461:9715
|
||||
|
||||
* - 103
|
||||
- Compro Videomate DVB-T200A
|
||||
-
|
||||
|
||||
* - 104
|
||||
- Hauppauge WinTV-HVR1110 DVB-T/Hybrid
|
||||
- 0070:6700, 0070:6701, 0070:6702, 0070:6703, 0070:6704, 0070:6705
|
||||
|
||||
* - 105
|
||||
- Terratec Cinergy HT PCMCIA
|
||||
- 153b:1172
|
||||
|
||||
* - 106
|
||||
- Encore ENLTV
|
||||
- 1131:2342, 1131:2341, 3016:2344
|
||||
|
||||
* - 107
|
||||
- Encore ENLTV-FM
|
||||
- 1131:230f
|
||||
|
||||
* - 108
|
||||
- Terratec Cinergy HT PCI
|
||||
- 153b:1175
|
||||
|
||||
* - 109
|
||||
- Philips Tiger - S Reference design
|
||||
-
|
||||
|
||||
* - 110
|
||||
- Avermedia M102
|
||||
- 1461:f31e
|
||||
|
||||
* - 111
|
||||
- ASUS P7131 4871
|
||||
- 1043:4871
|
||||
|
||||
* - 112
|
||||
- ASUSTeK P7131 Hybrid
|
||||
- 1043:4876
|
||||
|
||||
* - 113
|
||||
- Elitegroup ECS TVP3XP FM1246 Tuner Card (PAL,FM)
|
||||
- 1019:4cb6
|
||||
|
||||
* - 114
|
||||
- KWorld DVB-T 210
|
||||
- 17de:7250
|
||||
|
||||
* - 115
|
||||
- Sabrent PCMCIA TV-PCB05
|
||||
- 0919:2003
|
||||
|
||||
* - 116
|
||||
- 10MOONS TM300 TV Card
|
||||
- 1131:2304
|
||||
|
||||
* - 117
|
||||
- Avermedia Super 007
|
||||
- 1461:f01d
|
||||
|
||||
* - 118
|
||||
- Beholder BeholdTV 401
|
||||
- 0000:4016
|
||||
|
||||
* - 119
|
||||
- Beholder BeholdTV 403
|
||||
- 0000:4036
|
||||
|
||||
* - 120
|
||||
- Beholder BeholdTV 403 FM
|
||||
- 0000:4037
|
||||
|
||||
* - 121
|
||||
- Beholder BeholdTV 405
|
||||
- 0000:4050
|
||||
|
||||
* - 122
|
||||
- Beholder BeholdTV 405 FM
|
||||
- 0000:4051
|
||||
|
||||
* - 123
|
||||
- Beholder BeholdTV 407
|
||||
- 0000:4070
|
||||
|
||||
* - 124
|
||||
- Beholder BeholdTV 407 FM
|
||||
- 0000:4071
|
||||
|
||||
* - 125
|
||||
- Beholder BeholdTV 409
|
||||
- 0000:4090
|
||||
|
||||
* - 126
|
||||
- Beholder BeholdTV 505 FM
|
||||
- 5ace:5050
|
||||
|
||||
* - 127
|
||||
- Beholder BeholdTV 507 FM / BeholdTV 509 FM
|
||||
- 5ace:5070, 5ace:5090
|
||||
|
||||
* - 128
|
||||
- Beholder BeholdTV Columbus TV/FM
|
||||
- 0000:5201
|
||||
|
||||
* - 129
|
||||
- Beholder BeholdTV 607 FM
|
||||
- 5ace:6070
|
||||
|
||||
* - 130
|
||||
- Beholder BeholdTV M6
|
||||
- 5ace:6190
|
||||
|
||||
* - 131
|
||||
- Twinhan Hybrid DTV-DVB 3056 PCI
|
||||
- 1822:0022
|
||||
|
||||
* - 132
|
||||
- Genius TVGO AM11MCE
|
||||
-
|
||||
|
||||
* - 133
|
||||
- NXP Snake DVB-S reference design
|
||||
-
|
||||
|
||||
* - 134
|
||||
- Medion/Creatix CTX953 Hybrid
|
||||
- 16be:0010
|
||||
|
||||
* - 135
|
||||
- MSI TV@nywhere A/D v1.1
|
||||
- 1462:8625
|
||||
|
||||
* - 136
|
||||
- AVerMedia Cardbus TV/Radio (E506R)
|
||||
- 1461:f436
|
||||
|
||||
* - 137
|
||||
- AVerMedia Hybrid TV/Radio (A16D)
|
||||
- 1461:f936
|
||||
|
||||
* - 138
|
||||
- Avermedia M115
|
||||
- 1461:a836
|
||||
|
||||
* - 139
|
||||
- Compro VideoMate T750
|
||||
- 185b:c900
|
||||
|
||||
* - 140
|
||||
- Avermedia DVB-S Pro A700
|
||||
- 1461:a7a1
|
||||
|
||||
* - 141
|
||||
- Avermedia DVB-S Hybrid+FM A700
|
||||
- 1461:a7a2
|
||||
|
||||
* - 142
|
||||
- Beholder BeholdTV H6
|
||||
- 5ace:6290
|
||||
|
||||
* - 143
|
||||
- Beholder BeholdTV M63
|
||||
- 5ace:6191
|
||||
|
||||
* - 144
|
||||
- Beholder BeholdTV M6 Extra
|
||||
- 5ace:6193
|
||||
|
||||
* - 145
|
||||
- AVerMedia MiniPCI DVB-T Hybrid M103
|
||||
- 1461:f636, 1461:f736
|
||||
|
||||
* - 146
|
||||
- ASUSTeK P7131 Analog
|
||||
-
|
||||
|
||||
* - 147
|
||||
- Asus Tiger 3in1
|
||||
- 1043:4878
|
||||
|
||||
* - 148
|
||||
- Encore ENLTV-FM v5.3
|
||||
- 1a7f:2008
|
||||
|
||||
* - 149
|
||||
- Avermedia PCI pure analog (M135A)
|
||||
- 1461:f11d
|
||||
|
||||
* - 150
|
||||
- Zogis Real Angel 220
|
||||
-
|
||||
|
||||
* - 151
|
||||
- ADS Tech Instant HDTV
|
||||
- 1421:0380
|
||||
|
||||
* - 152
|
||||
- Asus Tiger Rev:1.00
|
||||
- 1043:4857
|
||||
|
||||
* - 153
|
||||
- Kworld Plus TV Analog Lite PCI
|
||||
- 17de:7128
|
||||
|
||||
* - 154
|
||||
- Avermedia AVerTV GO 007 FM Plus
|
||||
- 1461:f31d
|
||||
|
||||
* - 155
|
||||
- Hauppauge WinTV-HVR1150 ATSC/QAM-Hybrid
|
||||
- 0070:6706, 0070:6708
|
||||
|
||||
* - 156
|
||||
- Hauppauge WinTV-HVR1120 DVB-T/Hybrid
|
||||
- 0070:6707, 0070:6709, 0070:670a
|
||||
|
||||
* - 157
|
||||
- Avermedia AVerTV Studio 507UA
|
||||
- 1461:a11b
|
||||
|
||||
* - 158
|
||||
- AVerMedia Cardbus TV/Radio (E501R)
|
||||
- 1461:b7e9
|
||||
|
||||
* - 159
|
||||
- Beholder BeholdTV 505 RDS
|
||||
- 0000:505B
|
||||
|
||||
* - 160
|
||||
- Beholder BeholdTV 507 RDS
|
||||
- 0000:5071
|
||||
|
||||
* - 161
|
||||
- Beholder BeholdTV 507 RDS
|
||||
- 0000:507B
|
||||
|
||||
* - 162
|
||||
- Beholder BeholdTV 607 FM
|
||||
- 5ace:6071
|
||||
|
||||
* - 163
|
||||
- Beholder BeholdTV 609 FM
|
||||
- 5ace:6090
|
||||
|
||||
* - 164
|
||||
- Beholder BeholdTV 609 FM
|
||||
- 5ace:6091
|
||||
|
||||
* - 165
|
||||
- Beholder BeholdTV 607 RDS
|
||||
- 5ace:6072
|
||||
|
||||
* - 166
|
||||
- Beholder BeholdTV 607 RDS
|
||||
- 5ace:6073
|
||||
|
||||
* - 167
|
||||
- Beholder BeholdTV 609 RDS
|
||||
- 5ace:6092
|
||||
|
||||
* - 168
|
||||
- Beholder BeholdTV 609 RDS
|
||||
- 5ace:6093
|
||||
|
||||
* - 169
|
||||
- Compro VideoMate S350/S300
|
||||
- 185b:c900
|
||||
|
||||
* - 170
|
||||
- AverMedia AverTV Studio 505
|
||||
- 1461:a115
|
||||
|
||||
* - 171
|
||||
- Beholder BeholdTV X7
|
||||
- 5ace:7595
|
||||
|
||||
* - 172
|
||||
- RoverMedia TV Link Pro FM
|
||||
- 19d1:0138
|
||||
|
||||
* - 173
|
||||
- Zolid Hybrid TV Tuner PCI
|
||||
- 1131:2004
|
||||
|
||||
* - 174
|
||||
- Asus Europa Hybrid OEM
|
||||
- 1043:4847
|
||||
|
||||
* - 175
|
||||
- Leadtek Winfast DTV1000S
|
||||
- 107d:6655
|
||||
|
||||
* - 176
|
||||
- Beholder BeholdTV 505 RDS
|
||||
- 0000:5051
|
||||
|
||||
* - 177
|
||||
- Hawell HW-404M7
|
||||
-
|
||||
|
||||
* - 178
|
||||
- Beholder BeholdTV H7
|
||||
- 5ace:7190
|
||||
|
||||
* - 179
|
||||
- Beholder BeholdTV A7
|
||||
- 5ace:7090
|
||||
|
||||
* - 180
|
||||
- Avermedia PCI M733A
|
||||
- 1461:4155, 1461:4255
|
||||
|
||||
* - 181
|
||||
- TechoTrend TT-budget T-3000
|
||||
- 13c2:2804
|
||||
|
||||
* - 182
|
||||
- Kworld PCI SBTVD/ISDB-T Full-Seg Hybrid
|
||||
- 17de:b136
|
||||
|
||||
* - 183
|
||||
- Compro VideoMate Vista M1F
|
||||
- 185b:c900
|
||||
|
||||
* - 184
|
||||
- Encore ENLTV-FM 3
|
||||
- 1a7f:2108
|
||||
|
||||
* - 185
|
||||
- MagicPro ProHDTV Pro2 DMB-TH/Hybrid
|
||||
- 17de:d136
|
||||
|
||||
* - 186
|
||||
- Beholder BeholdTV 501
|
||||
- 5ace:5010
|
||||
|
||||
* - 187
|
||||
- Beholder BeholdTV 503 FM
|
||||
- 5ace:5030
|
||||
|
||||
* - 188
|
||||
- Sensoray 811/911
|
||||
- 6000:0811, 6000:0911
|
||||
|
||||
* - 189
|
||||
- Kworld PC150-U
|
||||
- 17de:a134
|
||||
|
||||
* - 190
|
||||
- Asus My Cinema PS3-100
|
||||
- 1043:48cd
|
||||
|
||||
* - 191
|
||||
- Hawell HW-9004V1
|
||||
-
|
||||
|
||||
* - 192
|
||||
- AverMedia AverTV Satellite Hybrid+FM A706
|
||||
- 1461:2055
|
||||
|
||||
* - 193
|
||||
- WIS Voyager or compatible
|
||||
- 1905:7007
|
||||
|
||||
* - 194
|
||||
- AverMedia AverTV/505
|
||||
- 1461:a10a
|
||||
|
||||
* - 195
|
||||
- Leadtek Winfast TV2100 FM
|
||||
- 107d:6f3a
|
||||
|
||||
* - 196
|
||||
- SnaZio* TVPVR PRO
|
||||
- 1779:13cf
|
88
Documentation/admin-guide/media/saa7134.rst
Normal file
88
Documentation/admin-guide/media/saa7134.rst
Normal file
@ -0,0 +1,88 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
The saa7134 driver
|
||||
==================
|
||||
|
||||
Author Gerd Hoffmann
|
||||
|
||||
|
||||
This is a v4l2/oss device driver for saa7130/33/34/35 based capture / TV
|
||||
boards.
|
||||
|
||||
|
||||
Status
|
||||
------
|
||||
|
||||
Almost everything is working. video, sound, tuner, radio, mpeg ts, ...
|
||||
|
||||
As with bttv, card-specific tweaks are needed. Check CARDLIST for a
|
||||
list of known TV cards and saa7134-cards.c for the drivers card
|
||||
configuration info.
|
||||
|
||||
|
||||
Build
|
||||
-----
|
||||
|
||||
Once you pick up a Kernel source, you should configure, build,
|
||||
install and boot the new kernel. You'll need at least
|
||||
these config options::
|
||||
|
||||
./scripts/config -e PCI
|
||||
./scripts/config -e INPUT
|
||||
./scripts/config -m I2C
|
||||
./scripts/config -m MEDIA_SUPPORT
|
||||
./scripts/config -e MEDIA_PCI_SUPPORT
|
||||
./scripts/config -e MEDIA_ANALOG_TV_SUPPORT
|
||||
./scripts/config -e MEDIA_DIGITAL_TV_SUPPORT
|
||||
./scripts/config -e MEDIA_RADIO_SUPPORT
|
||||
./scripts/config -e RC_CORE
|
||||
./scripts/config -e MEDIA_SUBDRV_AUTOSELECT
|
||||
./scripts/config -m VIDEO_SAA7134
|
||||
./scripts/config -e SAA7134_ALSA
|
||||
./scripts/config -e VIDEO_SAA7134_RC
|
||||
./scripts/config -e VIDEO_SAA7134_DVB
|
||||
./scripts/config -e VIDEO_SAA7134_GO7007
|
||||
|
||||
To build and install, you should run::
|
||||
|
||||
make && make modules_install && make install
|
||||
|
||||
Once the new Kernel is booted, saa7134 driver should be loaded automatically.
|
||||
|
||||
Depending on the card you might have to pass ``card=<nr>`` as insmod option.
|
||||
If so, please check :doc:`saa7134-cardlist` for valid choices.
|
||||
|
||||
Once you have your card type number, you can pass a modules configuration
|
||||
via a file (usually, it is either ``/etc/modules.conf`` or some file at
|
||||
``/etc/modules-load.d/``, but the actual place depends on your
|
||||
distribution), with this content::
|
||||
|
||||
options saa7134 card=13 # Assuming that your card type is #13
|
||||
|
||||
|
||||
Changes / Fixes
|
||||
---------------
|
||||
|
||||
Please mail to linux-media AT vger.kernel.org unified diffs against
|
||||
the linux media git tree:
|
||||
|
||||
https://git.linuxtv.org/media_tree.git/
|
||||
|
||||
This is done by committing a patch at a clone of the git tree and
|
||||
submitting the patch using ``git send-email``. Don't forget to
|
||||
describe at the lots what it changes / which problem it fixes / whatever
|
||||
it is good for ...
|
||||
|
||||
|
||||
Known Problems
|
||||
--------------
|
||||
|
||||
* The tuner for the flyvideos isn't detected automatically and the
|
||||
default might not work for you depending on which version you have.
|
||||
There is a ``tuner=`` insmod option to override the driver's default.
|
||||
|
||||
Credits
|
||||
-------
|
||||
|
||||
andrew.stevens@philips.com + werner.leeb@philips.com for providing
|
||||
saa7134 hardware specs and sample board.
|
71
Documentation/admin-guide/media/saa7164-cardlist.rst
Normal file
71
Documentation/admin-guide/media/saa7164-cardlist.rst
Normal file
@ -0,0 +1,71 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
SAA7164 cards list
|
||||
==================
|
||||
|
||||
.. tabularcolumns:: |p{1.4cm}|p{11.1cm}|p{4.2cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 2 19 18
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- PCI subsystem IDs
|
||||
|
||||
* - 0
|
||||
- Unknown
|
||||
-
|
||||
|
||||
* - 1
|
||||
- Generic Rev2
|
||||
-
|
||||
|
||||
* - 2
|
||||
- Generic Rev3
|
||||
-
|
||||
|
||||
* - 3
|
||||
- Hauppauge WinTV-HVR2250
|
||||
- 0070:8880, 0070:8810
|
||||
|
||||
* - 4
|
||||
- Hauppauge WinTV-HVR2200
|
||||
- 0070:8980
|
||||
|
||||
* - 5
|
||||
- Hauppauge WinTV-HVR2200
|
||||
- 0070:8900
|
||||
|
||||
* - 6
|
||||
- Hauppauge WinTV-HVR2200
|
||||
- 0070:8901
|
||||
|
||||
* - 7
|
||||
- Hauppauge WinTV-HVR2250
|
||||
- 0070:8891, 0070:8851
|
||||
|
||||
* - 8
|
||||
- Hauppauge WinTV-HVR2250
|
||||
- 0070:88A1
|
||||
|
||||
* - 9
|
||||
- Hauppauge WinTV-HVR2200
|
||||
- 0070:8940
|
||||
|
||||
* - 10
|
||||
- Hauppauge WinTV-HVR2200
|
||||
- 0070:8953
|
||||
|
||||
* - 11
|
||||
- Hauppauge WinTV-HVR2255(proto)
|
||||
- 0070:f111
|
||||
|
||||
* - 12
|
||||
- Hauppauge WinTV-HVR2255
|
||||
- 0070:f111
|
||||
|
||||
* - 13
|
||||
- Hauppauge WinTV-HVR2205
|
||||
- 0070:f123, 0070:f120
|
56
Documentation/admin-guide/media/siano-cardlist.rst
Normal file
56
Documentation/admin-guide/media/siano-cardlist.rst
Normal file
@ -0,0 +1,56 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Siano cards list
|
||||
================
|
||||
|
||||
.. tabularcolumns:: p{13.3cm}|p{4.2cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 17 16
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Hauppauge Catamount
|
||||
- 2040:1700
|
||||
* - Hauppauge Okemo-A
|
||||
- 2040:1800
|
||||
* - Hauppauge Okemo-B
|
||||
- 2040:1801
|
||||
* - Hauppauge WinTV MiniCard
|
||||
- 2040:2000, 2040:200a, 2040:2010, 2040:2011, 2040:2019
|
||||
* - Hauppauge WinTV MiniCard
|
||||
- 2040:2009
|
||||
* - Hauppauge WinTV MiniStick
|
||||
- 2040:5500, 2040:5510, 2040:5520, 2040:5530, 2040:5580, 2040:5590, 2040:b900, 2040:b910, 2040:b980, 2040:b990, 2040:c000, 2040:c010, 2040:c080, 2040:c090, 2040:c0a0, 2040:f5a0
|
||||
* - Hauppauge microStick 77e
|
||||
- 2013:0257
|
||||
* - ONDA Data Card Digital Receiver
|
||||
- 19D2:0078
|
||||
* - Siano Denver (ATSC-M/H) Digital Receiver
|
||||
- 187f:0800
|
||||
* - Siano Denver (TDMB) Digital Receiver
|
||||
- 187f:0700
|
||||
* - Siano Ming Digital Receiver
|
||||
- 187f:0310
|
||||
* - Siano Nice Digital Receiver
|
||||
- 187f:0202, 187f:0202
|
||||
* - Siano Nova A Digital Receiver
|
||||
- 187f:0200
|
||||
* - Siano Nova B Digital Receiver
|
||||
- 187f:0201
|
||||
* - Siano Pele Digital Receiver
|
||||
- 187f:0500
|
||||
* - Siano Rio Digital Receiver
|
||||
- 187f:0600, 3275:0080
|
||||
* - Siano Stellar Digital Receiver
|
||||
- 187f:0100
|
||||
* - Siano Stellar Digital Receiver ROM
|
||||
- 187f:0010
|
||||
* - Siano Vega Digital Receiver
|
||||
- 187f:0300
|
||||
* - Siano Venice Digital Receiver
|
||||
- 187f:0301, 187f:0301, 187f:0302
|
||||
* - ZTE Data Card Digital Receiver
|
||||
- 19D2:0086
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user