1.. SPDX-License-Identifier: GPL-2.0
2
3PCI drivers
4===========
5
6The PCI boards are identified by an identification called PCI ID. The PCI ID
7is actually composed by two parts:
8
9	- Vendor ID and device ID;
10	- Subsystem ID and Subsystem device ID;
11
12The ``lspci -nn`` command allows identifying the vendor/device PCI IDs:
13
14.. code-block:: none
15   :emphasize-lines: 3
16
17    $ lspci -nn
18    ...
19    00:0a.0 Multimedia controller [0480]: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder [1131:7133] (rev d1)
20    00:0b.0 Multimedia controller [0480]: Brooktree Corporation Bt878 Audio Capture [109e:0878] (rev 11)
21    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)
22    02:01.0 Multimedia video controller [0400]: Internext Compression Inc iTVC15 (CX23415) Video Decoder [4444:0803] (rev 01)
23    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]
24    02:03.0 Multimedia video controller [0400]: Brooktree Corporation Bt878 Video Capture [109e:036e] (rev 11)
25    ...
26
27The subsystem IDs can be obtained using ``lspci -vn``
28
29.. code-block:: none
30   :emphasize-lines: 4
31
32    $ lspci -vn
33    ...
34	00:0a.0 0480: 1131:7133 (rev d1)
35		Subsystem: 1461:f01d
36		Flags: bus master, medium devsel, latency 32, IRQ 209
37		Memory at e2002000 (32-bit, non-prefetchable) [size=2K]
38		Capabilities: [40] Power Management version 2
39    ...
40
41At the above example, the first card uses the ``saa7134`` driver, and
42has a vendor/device PCI ID equal to ``1131:7133`` and a PCI subsystem
43ID equal to ``1461:f01d`` (see :doc:`Saa7134 card list<saa7134-cardlist>`).
44
45Unfortunately, sometimes the same PCI subsystem ID is used by different
46products. So, several media drivers allow passing a ``card=`` parameter,
47in order to setup a card number that would match the correct settings for
48an specific board.
49
50The current supported PCI/PCIe cards (not including staging drivers) are
51listed below\ [#]_.
52
53.. [#] some of the drivers have sub-drivers, not shown at this table
54
55================  ========================================================
56Driver            Name
57================  ========================================================
58altera-ci         Altera FPGA based CI module
59b2c2-flexcop-pci  Technisat/B2C2 Air/Sky/Cable2PC PCI
60bt878             DVB/ATSC Support for bt878 based TV cards
61bttv              BT8x8 Video For Linux
62cobalt            Cisco Cobalt
63cx18              Conexant cx23418 MPEG encoder
64cx23885           Conexant cx23885 (2388x successor)
65cx25821           Conexant cx25821
66cx88xx            Conexant 2388x (bt878 successor)
67ddbridge          Digital Devices bridge
68dm1105            SDMC DM1105 based PCI cards
69dt3155            DT3155 frame grabber
70dvb-ttpci         AV7110 cards
71earth-pt1         PT1 cards
72earth-pt3         Earthsoft PT3 cards
73hexium_gemini     Hexium Gemini frame grabber
74hexium_orion      Hexium HV-PCI6 and Orion frame grabber
75hopper            HOPPER based cards
76ipu3-cio2         Intel ipu3-cio2 driver
77ivtv              Conexant cx23416/cx23415 MPEG encoder/decoder
78ivtvfb            Conexant cx23415 framebuffer
79mantis            MANTIS based cards
80mxb               Siemens-Nixdorf 'Multimedia eXtension Board'
81netup-unidvb      NetUP Universal DVB card
82ngene             Micronas nGene
83pluto2            Pluto2 cards
84saa7134           Philips SAA7134
85saa7164           NXP SAA7164
86smipcie           SMI PCIe DVBSky cards
87solo6x10          Bluecherry / Softlogic 6x10 capture cards (MPEG-4/H.264)
88sta2x11_vip       STA2X11 VIP Video For Linux
89tw5864            Techwell TW5864 video/audio grabber and encoder
90tw686x            Intersil/Techwell TW686x
91tw68              Techwell tw68x Video For Linux
92zoran             Zoran-36057/36067 JPEG codec
93================  ========================================================
94
95Some of those drivers support multiple devices, as shown at the card
96lists below:
97
98.. toctree::
99	:maxdepth: 1
100
101	bttv-cardlist
102	cx18-cardlist
103	cx23885-cardlist
104	cx88-cardlist
105	ivtv-cardlist
106	saa7134-cardlist
107	saa7164-cardlist
108	zoran-cardlist
109