0001 .. SPDX-License-Identifier: GPL-2.0
0002
0003 PCI drivers
0004 ===========
0005
0006 The PCI boards are identified by an identification called PCI ID. The PCI ID
0007 is actually composed by two parts:
0008
0009 - Vendor ID and device ID;
0010 - Subsystem ID and Subsystem device ID;
0011
0012 The ``lspci -nn`` command allows identifying the vendor/device PCI IDs:
0013
0014 .. code-block:: none
0015 :emphasize-lines: 3
0016
0017 $ lspci -nn
0018 ...
0019 00:0a.0 Multimedia controller [0480]: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder [1131:7133] (rev d1)
0020 00:0b.0 Multimedia controller [0480]: Brooktree Corporation Bt878 Audio Capture [109e:0878] (rev 11)
0021 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)
0022 02:01.0 Multimedia video controller [0400]: Internext Compression Inc iTVC15 (CX23415) Video Decoder [4444:0803] (rev 01)
0023 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]
0024 02:03.0 Multimedia video controller [0400]: Brooktree Corporation Bt878 Video Capture [109e:036e] (rev 11)
0025 ...
0026
0027 The subsystem IDs can be obtained using ``lspci -vn``
0028
0029 .. code-block:: none
0030 :emphasize-lines: 4
0031
0032 $ lspci -vn
0033 ...
0034 00:0a.0 0480: 1131:7133 (rev d1)
0035 Subsystem: 1461:f01d
0036 Flags: bus master, medium devsel, latency 32, IRQ 209
0037 Memory at e2002000 (32-bit, non-prefetchable) [size=2K]
0038 Capabilities: [40] Power Management version 2
0039 ...
0040
0041 At the above example, the first card uses the ``saa7134`` driver, and
0042 has a vendor/device PCI ID equal to ``1131:7133`` and a PCI subsystem
0043 ID equal to ``1461:f01d`` (see :doc:`Saa7134 card list<saa7134-cardlist>`).
0044
0045 Unfortunately, sometimes the same PCI subsystem ID is used by different
0046 products. So, several media drivers allow passing a ``card=`` parameter,
0047 in order to setup a card number that would match the correct settings for
0048 an specific board.
0049
0050 The current supported PCI/PCIe cards (not including staging drivers) are
0051 listed below\ [#]_.
0052
0053 .. [#] some of the drivers have sub-drivers, not shown at this table
0054
0055 ================ ========================================================
0056 Driver Name
0057 ================ ========================================================
0058 altera-ci Altera FPGA based CI module
0059 b2c2-flexcop-pci Technisat/B2C2 Air/Sky/Cable2PC PCI
0060 bt878 DVB/ATSC Support for bt878 based TV cards
0061 bttv BT8x8 Video For Linux
0062 cobalt Cisco Cobalt
0063 cx18 Conexant cx23418 MPEG encoder
0064 cx23885 Conexant cx23885 (2388x successor)
0065 cx25821 Conexant cx25821
0066 cx88xx Conexant 2388x (bt878 successor)
0067 ddbridge Digital Devices bridge
0068 dm1105 SDMC DM1105 based PCI cards
0069 dt3155 DT3155 frame grabber
0070 dvb-ttpci AV7110 cards
0071 earth-pt1 PT1 cards
0072 earth-pt3 Earthsoft PT3 cards
0073 hexium_gemini Hexium Gemini frame grabber
0074 hexium_orion Hexium HV-PCI6 and Orion frame grabber
0075 hopper HOPPER based cards
0076 ipu3-cio2 Intel ipu3-cio2 driver
0077 ivtv Conexant cx23416/cx23415 MPEG encoder/decoder
0078 ivtvfb Conexant cx23415 framebuffer
0079 mantis MANTIS based cards
0080 meye Sony Vaio Picturebook Motion Eye
0081 mxb Siemens-Nixdorf 'Multimedia eXtension Board'
0082 netup-unidvb NetUP Universal DVB card
0083 ngene Micronas nGene
0084 pluto2 Pluto2 cards
0085 saa7134 Philips SAA7134
0086 saa7164 NXP SAA7164
0087 smipcie SMI PCIe DVBSky cards
0088 solo6x10 Bluecherry / Softlogic 6x10 capture cards (MPEG-4/H.264)
0089 sta2x11_vip STA2X11 VIP Video For Linux
0090 tw5864 Techwell TW5864 video/audio grabber and encoder
0091 tw686x Intersil/Techwell TW686x
0092 tw68 Techwell tw68x Video For Linux
0093 zoran Zoran-36057/36067 JPEG codec
0094 ================ ========================================================
0095
0096 Some of those drivers support multiple devices, as shown at the card
0097 lists below:
0098
0099 .. toctree::
0100 :maxdepth: 1
0101
0102 bttv-cardlist
0103 cx18-cardlist
0104 cx23885-cardlist
0105 cx88-cardlist
0106 ivtv-cardlist
0107 saa7134-cardlist
0108 saa7164-cardlist
0109 zoran-cardlist