Back to home page

OSCL-LXR

 
 

    


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