162306a36Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciPCI drivers
462306a36Sopenharmony_ci===========
562306a36Sopenharmony_ci
662306a36Sopenharmony_ciThe PCI boards are identified by an identification called PCI ID. The PCI ID
762306a36Sopenharmony_ciis actually composed by two parts:
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci	- Vendor ID and device ID;
1062306a36Sopenharmony_ci	- Subsystem ID and Subsystem device ID;
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciThe ``lspci -nn`` command allows identifying the vendor/device PCI IDs:
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci.. code-block:: none
1562306a36Sopenharmony_ci   :emphasize-lines: 3
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci    $ lspci -nn
1862306a36Sopenharmony_ci    ...
1962306a36Sopenharmony_ci    00:0a.0 Multimedia controller [0480]: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder [1131:7133] (rev d1)
2062306a36Sopenharmony_ci    00:0b.0 Multimedia controller [0480]: Brooktree Corporation Bt878 Audio Capture [109e:0878] (rev 11)
2162306a36Sopenharmony_ci    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)
2262306a36Sopenharmony_ci    02:01.0 Multimedia video controller [0400]: Internext Compression Inc iTVC15 (CX23415) Video Decoder [4444:0803] (rev 01)
2362306a36Sopenharmony_ci    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]
2462306a36Sopenharmony_ci    02:03.0 Multimedia video controller [0400]: Brooktree Corporation Bt878 Video Capture [109e:036e] (rev 11)
2562306a36Sopenharmony_ci    ...
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciThe subsystem IDs can be obtained using ``lspci -vn``
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci.. code-block:: none
3062306a36Sopenharmony_ci   :emphasize-lines: 4
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci    $ lspci -vn
3362306a36Sopenharmony_ci    ...
3462306a36Sopenharmony_ci	00:0a.0 0480: 1131:7133 (rev d1)
3562306a36Sopenharmony_ci		Subsystem: 1461:f01d
3662306a36Sopenharmony_ci		Flags: bus master, medium devsel, latency 32, IRQ 209
3762306a36Sopenharmony_ci		Memory at e2002000 (32-bit, non-prefetchable) [size=2K]
3862306a36Sopenharmony_ci		Capabilities: [40] Power Management version 2
3962306a36Sopenharmony_ci    ...
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ciAt the above example, the first card uses the ``saa7134`` driver, and
4262306a36Sopenharmony_cihas a vendor/device PCI ID equal to ``1131:7133`` and a PCI subsystem
4362306a36Sopenharmony_ciID equal to ``1461:f01d`` (see :doc:`Saa7134 card list<saa7134-cardlist>`).
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ciUnfortunately, sometimes the same PCI subsystem ID is used by different
4662306a36Sopenharmony_ciproducts. So, several media drivers allow passing a ``card=`` parameter,
4762306a36Sopenharmony_ciin order to setup a card number that would match the correct settings for
4862306a36Sopenharmony_cian specific board.
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ciThe current supported PCI/PCIe cards (not including staging drivers) are
5162306a36Sopenharmony_cilisted below\ [#]_.
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci.. [#] some of the drivers have sub-drivers, not shown at this table
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci================  ========================================================
5662306a36Sopenharmony_ciDriver            Name
5762306a36Sopenharmony_ci================  ========================================================
5862306a36Sopenharmony_cialtera-ci         Altera FPGA based CI module
5962306a36Sopenharmony_cib2c2-flexcop-pci  Technisat/B2C2 Air/Sky/Cable2PC PCI
6062306a36Sopenharmony_cibt878             DVB/ATSC Support for bt878 based TV cards
6162306a36Sopenharmony_cibttv              BT8x8 Video For Linux
6262306a36Sopenharmony_cicobalt            Cisco Cobalt
6362306a36Sopenharmony_cicx18              Conexant cx23418 MPEG encoder
6462306a36Sopenharmony_cicx23885           Conexant cx23885 (2388x successor)
6562306a36Sopenharmony_cicx25821           Conexant cx25821
6662306a36Sopenharmony_cicx88xx            Conexant 2388x (bt878 successor)
6762306a36Sopenharmony_ciddbridge          Digital Devices bridge
6862306a36Sopenharmony_cidm1105            SDMC DM1105 based PCI cards
6962306a36Sopenharmony_cidt3155            DT3155 frame grabber
7062306a36Sopenharmony_cidvb-ttpci         AV7110 cards
7162306a36Sopenharmony_ciearth-pt1         PT1 cards
7262306a36Sopenharmony_ciearth-pt3         Earthsoft PT3 cards
7362306a36Sopenharmony_cihexium_gemini     Hexium Gemini frame grabber
7462306a36Sopenharmony_cihexium_orion      Hexium HV-PCI6 and Orion frame grabber
7562306a36Sopenharmony_cihopper            HOPPER based cards
7662306a36Sopenharmony_ciipu3-cio2         Intel ipu3-cio2 driver
7762306a36Sopenharmony_ciivtv              Conexant cx23416/cx23415 MPEG encoder/decoder
7862306a36Sopenharmony_ciivtvfb            Conexant cx23415 framebuffer
7962306a36Sopenharmony_cimantis            MANTIS based cards
8062306a36Sopenharmony_cimxb               Siemens-Nixdorf 'Multimedia eXtension Board'
8162306a36Sopenharmony_cinetup-unidvb      NetUP Universal DVB card
8262306a36Sopenharmony_cingene             Micronas nGene
8362306a36Sopenharmony_cipluto2            Pluto2 cards
8462306a36Sopenharmony_cisaa7134           Philips SAA7134
8562306a36Sopenharmony_cisaa7164           NXP SAA7164
8662306a36Sopenharmony_cismipcie           SMI PCIe DVBSky cards
8762306a36Sopenharmony_cisolo6x10          Bluecherry / Softlogic 6x10 capture cards (MPEG-4/H.264)
8862306a36Sopenharmony_cista2x11_vip       STA2X11 VIP Video For Linux
8962306a36Sopenharmony_citw5864            Techwell TW5864 video/audio grabber and encoder
9062306a36Sopenharmony_citw686x            Intersil/Techwell TW686x
9162306a36Sopenharmony_citw68              Techwell tw68x Video For Linux
9262306a36Sopenharmony_cizoran             Zoran-36057/36067 JPEG codec
9362306a36Sopenharmony_ci================  ========================================================
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ciSome of those drivers support multiple devices, as shown at the card
9662306a36Sopenharmony_cilists below:
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci.. toctree::
9962306a36Sopenharmony_ci	:maxdepth: 1
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci	bttv-cardlist
10262306a36Sopenharmony_ci	cx18-cardlist
10362306a36Sopenharmony_ci	cx23885-cardlist
10462306a36Sopenharmony_ci	cx88-cardlist
10562306a36Sopenharmony_ci	ivtv-cardlist
10662306a36Sopenharmony_ci	saa7134-cardlist
10762306a36Sopenharmony_ci	saa7164-cardlist
10862306a36Sopenharmony_ci	zoran-cardlist
109