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