Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
.. SPDX-License-Identifier: GPL-2.0

===============
The bttv driver
===============

Release notes for bttv
----------------------

You'll need at least these config options for bttv::

    ./scripts/config -e PCI
    ./scripts/config -m I2C
    ./scripts/config -m INPUT
    ./scripts/config -m MEDIA_SUPPORT
    ./scripts/config -e MEDIA_PCI_SUPPORT
    ./scripts/config -e MEDIA_ANALOG_TV_SUPPORT
    ./scripts/config -e MEDIA_DIGITAL_TV_SUPPORT
    ./scripts/config -e MEDIA_RADIO_SUPPORT
    ./scripts/config -e RC_CORE
    ./scripts/config -m VIDEO_BT848

If your board has digital TV, you'll also need::

    ./scripts/config -m DVB_BT8XX

In this case, please see Documentation/admin-guide/media/bt8xx.rst
for additional notes.

Make bttv work with your card
-----------------------------

If you have bttv compiled and installed, just booting the Kernel
should be enough for it to try probing it. However, depending
on the model, the Kernel may require additional information about
the hardware, as the device may not be able to provide such info
directly to the Kernel.

If it doesn't bttv likely could not autodetect your card and needs some
insmod options.  The most important insmod option for bttv is "card=n"
to select the correct card type.  If you get video but no sound you've
very likely specified the wrong (or no) card type.  A list of supported
cards is in Documentation/admin-guide/media/bttv-cardlist.rst.

If bttv takes very long to load (happens sometimes with the cheap
cards which have no tuner), try adding this to your modules configuration
file (usually, it is either ``/etc/modules.conf`` or some file at
``/etc/modules-load.d/``, but the actual place depends on your
distribution)::

	options i2c-algo-bit bit_test=1

Some cards may require an extra firmware file to work. For example,
for the WinTV/PVR you need one firmware file from its driver CD,
called: ``hcwamc.rbf``. It is inside a self-extracting zip file
called ``pvr45xxx.exe``.  Just placing it at the ``/etc/firmware``
directory should be enough for it to be autoload during the driver's
probing mode (e. g. when the Kernel boots or when the driver is
manually loaded via ``modprobe`` command).

If your card isn't listed in Documentation/admin-guide/media/bttv-cardlist.rst
or if you have trouble making audio work, please read :ref:`still_doesnt_work`.


Autodetecting cards
-------------------

bttv uses the PCI Subsystem ID to autodetect the card type.  lspci lists
the Subsystem ID in the second line, looks like this:

.. code-block:: none

	00:0a.0 Multimedia video controller: Brooktree Corporation Bt878 (rev 02)
		Subsystem: Hauppauge computer works Inc. WinTV/GO
		Flags: bus master, medium devsel, latency 32, IRQ 5
		Memory at e2000000 (32-bit, prefetchable) [size=4K]

only bt878-based cards can have a subsystem ID (which does not mean
that every card really has one).  bt848 cards can't have a Subsystem
ID and therefore can't be autodetected.  There is a list with the ID's
at Documentation/admin-guide/media/bttv-cardlist.rst
(in case you are interested or want to mail patches with updates).


.. _still_doesnt_work:

Still doesn't work?
-------------------

I do NOT have a lab with 30+ different grabber boards and a
PAL/NTSC/SECAM test signal generator at home, so I often can't
reproduce your problems.  This makes debugging very difficult for me.

If you have some knowledge and spare time, please try to fix this
yourself (patches very welcome of course...)  You know: The linux
slogan is "Do it yourself".

There is a mailing list at
http://vger.kernel.org/vger-lists.html#linux-media

If you have trouble with some specific TV card, try to ask there
instead of mailing me directly.  The chance that someone with the
same card listens there is much higher...

For problems with sound:  There are a lot of different systems used
for TV sound all over the world.  And there are also different chips
which decode the audio signal.  Reports about sound problems ("stereo
doesn't work") are pretty useless unless you include some details
about your hardware and the TV sound scheme used in your country (or
at least the country you are living in).

Modprobe options
----------------

.. note::


   The following argument list can be outdated, as we might add more
   options if ever needed. In case of doubt, please check with
   ``modinfo <module>``.

   This command prints various information about a kernel
   module, among them a complete and up-to-date list of insmod options.



bttv
	The bt848/878 (grabber chip) driver

    insmod args::

	    card=n		card type, see CARDLIST for a list.
	    tuner=n		tuner type, see CARDLIST for a list.
	    radio=0/1	card supports radio
	    pll=0/1/2	pll settings

			    0: don't use PLL
			    1: 28 MHz crystal installed
			    2: 35 MHz crystal installed

	    triton1=0/1     for Triton1 (+others) compatibility
	    vsfx=0/1	yet another chipset bug compatibility bit
			    see README.quirks for details on these two.

	    bigendian=n	Set the endianness of the gfx framebuffer.
			    Default is native endian.
	    fieldnr=0/1	Count fields.  Some TV descrambling software
			    needs this, for others it only generates
			    50 useless IRQs/sec.  default is 0 (off).
	    autoload=0/1	autoload helper modules (tuner, audio).
			    default is 1 (on).
	    bttv_verbose=0/1/2  verbose level (at insmod time, while
			    looking at the hardware).  default is 1.
	    bttv_debug=0/1	debug messages (for capture).
			    default is 0 (off).
	    irq_debug=0/1	irq handler debug messages.
			    default is 0 (off).
	    gbuffers=2-32	number of capture buffers for mmap'ed capture.
			    default is 4.
	    gbufsize=	size of capture buffers. default and
			    maximum value is 0x208000 (~2MB)
	    no_overlay=0	Enable overlay on broken hardware.  There
			    are some chipsets (SIS for example) which
			    are known to have problems with the PCI DMA
			    push used by bttv.  bttv will disable overlay
			    by default on this hardware to avoid crashes.
			    With this insmod option you can override this.
	    no_overlay=1	Disable overlay. It should be used by broken
			    hardware that doesn't support PCI2PCI direct
			    transfers.
	    automute=0/1	Automatically mutes the sound if there is
			    no TV signal, on by default.  You might try
			    to disable this if you have bad input signal
			    quality which leading to unwanted sound
			    dropouts.
	    chroma_agc=0/1	AGC of chroma signal, off by default.
	    adc_crush=0/1	Luminance ADC crush, on by default.
	    i2c_udelay=     Allow reduce I2C speed. Default is 5 usecs
			    (meaning 66,67 Kbps). The default is the
			    maximum supported speed by kernel bitbang
			    algorithm. You may use lower numbers, if I2C
			    messages are lost (16 is known to work on
			    all supported cards).

	    bttv_gpio=0/1
	    gpiomask=
	    audioall=
	    audiomux=
			    See Sound-FAQ for a detailed description.

	remap, card, radio and pll accept up to four comma-separated arguments
	(for multiple boards).

tuner
	The tuner driver.  You need this unless you want to use only
	with a camera or the board doesn't provide analog TV tuning.

	insmod args::

		debug=1		print some debug info to the syslog
		type=n		type of the tuner chip. n as follows:
				see CARDLIST for a complete list.
		pal=[bdgil]	select PAL variant (used for some tuners
				only, important for the audio carrier).

tvaudio
	Provide a single driver for all simple i2c audio control
	chips (tda/tea*).

	insmod args::

		tda8425  = 1	enable/disable the support for the
		tda9840  = 1	various chips.
		tda9850  = 1	The tea6300 can't be autodetected and is
		tda9855  = 1	therefore off by default, if you have
		tda9873  = 1	this one on your card (STB uses these)
		tda9874a = 1	you have to enable it explicitly.
		tea6300  = 0	The two tda985x chips use the same i2c
		tea6420  = 1	address and can't be disturgished from
		pic16c54 = 1	each other, you might have to disable
				the wrong one.
		debug = 1	print debug messages

msp3400
	The driver for the msp34xx sound processor chips. If you have a
	stereo card, you probably want to insmod this one.

	insmod args::

		debug=1/2	print some debug info to the syslog,
				2 is more verbose.
		simple=1	Use the "short programming" method.  Newer
				msp34xx versions support this.  You need this
				for dbx stereo.  Default is on if supported by
				the chip.
		once=1		Don't check the TV-stations Audio mode
				every few seconds, but only once after
				channel switches.
		amsound=1	Audio carrier is AM/NICAM at 6.5 Mhz.  This
				should improve things for french people, the
				carrier autoscan seems to work with FM only...

If the box freezes hard with bttv
---------------------------------

It might be a bttv driver bug.  It also might be bad hardware.  It also
might be something else ...

Just mailing me "bttv freezes" isn't going to help much.  This README
has a few hints how you can help to pin down the problem.


bttv bugs
~~~~~~~~~

If some version works and another doesn't it is likely to be a driver
bug.  It is very helpful if you can tell where exactly it broke
(i.e. the last working and the first broken version).

With a hard freeze you probably doesn't find anything in the logfiles.
The only way to capture any kernel messages is to hook up a serial
console and let some terminal application log the messages.  /me uses
screen.  See Documentation/admin-guide/serial-console.rst for details on
setting up a serial console.

Read Documentation/admin-guide/bug-hunting.rst to learn how to get any useful
information out of a register+stack dump printed by the kernel on
protection faults (so-called "kernel oops").

If you run into some kind of deadlock, you can try to dump a call trace
for each process using sysrq-t (see Documentation/admin-guide/sysrq.rst).
This way it is possible to figure where *exactly* some process in "D"
state is stuck.

I've seen reports that bttv 0.7.x crashes whereas 0.8.x works rock solid
for some people.  Thus probably a small buglet left somewhere in bttv
0.7.x.  I have no idea where exactly, it works stable for me and a lot of
other people.  But in case you have problems with the 0.7.x versions you
can give 0.8.x a try ...


hardware bugs
~~~~~~~~~~~~~

Some hardware can't deal with PCI-PCI transfers (i.e. grabber => vga).
Sometimes problems show up with bttv just because of the high load on
the PCI bus. The bt848/878 chips have a few workarounds for known
incompatibilities, see README.quirks.

Some folks report that increasing the pci latency helps too,
althrought I'm not sure whenever this really fixes the problems or
only makes it less likely to happen.  Both bttv and btaudio have a
insmod option to set the PCI latency of the device.

Some mainboard have problems to deal correctly with multiple devices
doing DMA at the same time.  bttv + ide seems to cause this sometimes,
if this is the case you likely see freezes only with video and hard disk
access at the same time.  Updating the IDE driver to get the latest and
greatest workarounds for hardware bugs might fix these problems.


other
~~~~~

If you use some binary-only yunk (like nvidia module) try to reproduce
the problem without.

IRQ sharing is known to cause problems in some cases.  It works just
fine in theory and many configurations.  Neverless it might be worth a
try to shuffle around the PCI cards to give bttv another IRQ or make
it share the IRQ with some other piece of hardware.  IRQ sharing with
VGA cards seems to cause trouble sometimes.  I've also seen funny
effects with bttv sharing the IRQ with the ACPI bridge (and
apci-enabled kernel).

Bttv quirks
-----------

Below is what the bt878 data book says about the PCI bug compatibility
modes of the bt878 chip.

The triton1 insmod option sets the EN_TBFX bit in the control register.
The vsfx insmod option does the same for EN_VSFX bit.  If you have
stability problems you can try if one of these options makes your box
work solid.

drivers/pci/quirks.c knows about these issues, this way these bits are
enabled automagically for known-buggy chipsets (look at the kernel
messages, bttv tells you).

Normal PCI Mode
~~~~~~~~~~~~~~~

The PCI REQ signal is the logical-or of the incoming function requests.
The inter-nal GNT[0:1] signals are gated asynchronously with GNT and
demultiplexed by the audio request signal. Thus the arbiter defaults to
the video function at power-up and parks there during no requests for
bus access. This is desirable since the video will request the bus more
often. However, the audio will have highest bus access priority. Thus
the audio will have first access to the bus even when issuing a request
after the video request but before the PCI external arbiter has granted
access to the Bt879. Neither function can preempt the other once on the
bus. The duration to empty the entire video PCI FIFO onto the PCI bus is
very short compared to the bus access latency the audio PCI FIFO can
tolerate.


430FX Compatibility Mode
~~~~~~~~~~~~~~~~~~~~~~~~

When using the 430FX PCI, the following rules will ensure
compatibility:

 (1) Deassert REQ at the same time as asserting FRAME.
 (2) Do not reassert REQ to request another bus transaction until after
     finish-ing the previous transaction.

Since the individual bus masters do not have direct control of REQ, a
simple logical-or of video and audio requests would violate the rules.
Thus, both the arbiter and the initiator contain 430FX compatibility
mode logic. To enable 430FX mode, set the EN_TBFX bit as indicated in
Device Control Register on page 104.

When EN_TBFX is enabled, the arbiter ensures that the two compatibility
rules are satisfied. Before GNT is asserted by the PCI arbiter, this
internal arbiter may still logical-or the two requests. However, once
the GNT is issued, this arbiter must lock in its decision and now route
only the granted request to the REQ pin. The arbiter decision lock
happens regardless of the state of FRAME because it does not know when
FRAME will be asserted (typically - each initiator will assert FRAME on
the cycle following GNT). When FRAME is asserted, it is the initiator s
responsibility to remove its request at the same time. It is the
arbiters responsibility to allow this request to flow through to REQ and
not allow the other request to hold REQ asserted. The decision lock may
be removed at the end of the transaction: for example, when the bus is
idle (FRAME and IRDY). The arbiter decision may then continue
asynchronously until GNT is again asserted.


Interfacing with Non-PCI 2.1 Compliant Core Logic
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

A small percentage of core logic devices may start a bus transaction
during the same cycle that GNT is de-asserted. This is non PCI 2.1
compliant. To ensure compatibility when using PCs with these PCI
controllers, the EN_VSFX bit must be enabled (refer to Device Control
Register on page 104). When in this mode, the arbiter does not pass GNT
to the internal functions unless REQ is asserted. This prevents a bus
transaction from starting the same cycle as GNT is de-asserted. This
also has the side effect of not being able to take advantage of bus
parking, thus lowering arbitration performance. The Bt879 drivers must
query for these non-compliant devices, and set the EN_VSFX bit only if
required.


Other elements of the tvcards array
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

If you are trying to make a new card work you might find it useful to
know what the other elements in the tvcards array are good for::

	video_inputs    - # of video inputs the card has
	audio_inputs    - historical cruft, not used any more.
	tuner           - which input is the tuner
	svhs            - which input is svhs (all others are labeled composite)
	muxsel          - video mux, input->registervalue mapping
	pll             - same as pll= insmod option
	tuner_type      - same as tuner= insmod option
	*_modulename    - hint whenever some card needs this or that audio
			module loaded to work properly.
	has_radio	- whenever this TV card has a radio tuner.
	no_msp34xx	- "1" disables loading of msp3400.o module
	no_tda9875	- "1" disables loading of tda9875.o module
	needs_tvaudio	- set to "1" to load tvaudio.o module

If some config item is specified both from the tvcards array and as
insmod option, the insmod option takes precedence.

Cards
-----

.. note::

   For a more updated list, please check
   https://linuxtv.org/wiki/index.php/Hardware_Device_Information

Supported cards: Bt848/Bt848a/Bt849/Bt878/Bt879 cards
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

All cards with Bt848/Bt848a/Bt849/Bt878/Bt879 and normal
Composite/S-VHS inputs are supported.  Teletext and Intercast support
(PAL only) for ALL cards via VBI sample decoding in software.

Some cards with additional multiplexing of inputs or other additional
fancy chips are only partially supported (unless specifications by the
card manufacturer are given).  When a card is listed here it isn't
necessarily fully supported.

All other cards only differ by additional components as tuners, sound
decoders, EEPROMs, teletext decoders ...


MATRIX Vision
~~~~~~~~~~~~~

MV-Delta
- Bt848A
- 4 Composite inputs, 1 S-VHS input (shared with 4th composite)
- EEPROM

http://www.matrix-vision.de/

This card has no tuner but supports all 4 composite (1 shared with an
S-VHS input) of the Bt848A.
Very nice card if you only have satellite TV but several tuners connected
to the card via composite.

Many thanks to Matrix-Vision for giving us 2 cards for free which made
Bt848a/Bt849 single crystal operation support possible!!!



Miro/Pinnacle PCTV
~~~~~~~~~~~~~~~~~~

- Bt848
  some (all??) come with 2 crystals for PAL/SECAM and NTSC
- PAL, SECAM or NTSC TV tuner (Philips or TEMIC)
- MSP34xx sound decoder on add on board
  decoder is supported but AFAIK does not yet work
  (other sound MUX setting in GPIO port needed??? somebody who fixed this???)
- 1 tuner, 1 composite and 1 S-VHS input
- tuner type is autodetected

http://www.miro.de/
http://www.miro.com/


Many thanks for the free card which made first NTSC support possible back
in 1997!


Hauppauge Win/TV pci
~~~~~~~~~~~~~~~~~~~~

There are many different versions of the Hauppauge cards with different
tuners (TV+Radio ...), teletext decoders.
Note that even cards with same model numbers have (depending on the revision)
different chips on it.

- Bt848 (and others but always in 2 crystal operation???)
  newer cards have a Bt878

- PAL, SECAM, NTSC or tuner with or without Radio support

e.g.:

- PAL:

  - TDA5737: VHF, hyperband and UHF mixer/oscillator for TV and VCR 3-band tuners
  - TSA5522: 1.4 GHz I2C-bus controlled synthesizer, I2C 0xc2-0xc3

- NTSC:

  - TDA5731: VHF, hyperband and UHF mixer/oscillator for TV and VCR 3-band tuners
  - TSA5518: no datasheet available on Philips site

- Philips SAA5246 or SAA5284 ( or no) Teletext decoder chip
  with buffer RAM (e.g. Winbond W24257AS-35: 32Kx8 CMOS static RAM)
  SAA5246 (I2C 0x22) is supported

- 256 bytes EEPROM: Microchip 24LC02B or Philips 8582E2Y
  with configuration information
  I2C address 0xa0 (24LC02B also responds to 0xa2-0xaf)

- 1 tuner, 1 composite and (depending on model) 1 S-VHS input

- 14052B: mux for selection of sound source

- sound decoder: TDA9800, MSP34xx (stereo cards)


Askey CPH-Series
~~~~~~~~~~~~~~~~
Developed by TelSignal(?), OEMed by many vendors (Typhoon, Anubis, Dynalink)

- Card series:
  - CPH01x: BT848 capture only
  - CPH03x: BT848
  - CPH05x: BT878 with FM
  - CPH06x: BT878 (w/o FM)
  - CPH07x: BT878 capture only

- TV standards:
  - CPH0x0: NTSC-M/M
  - CPH0x1: PAL-B/G
  - CPH0x2: PAL-I/I
  - CPH0x3: PAL-D/K
  - CPH0x4: SECAM-L/L
  - CPH0x5: SECAM-B/G
  - CPH0x6: SECAM-D/K
  - CPH0x7: PAL-N/N
  - CPH0x8: PAL-B/H
  - CPH0x9: PAL-M/M

- CPH03x was often sold as "TV capturer".

Identifying:

  #) 878 cards can be identified by PCI Subsystem-ID:
     - 144f:3000 = CPH06x
     - 144F:3002 = CPH05x w/ FM
     - 144F:3005 = CPH06x_LC (w/o remote control)
  #) The cards have a sticker with "CPH"-model on the back.
  #) These cards have a number printed on the PCB just above the tuner metal box:
     - "80-CP2000300-x" = CPH03X
     - "80-CP2000500-x" = CPH05X
     - "80-CP2000600-x" = CPH06X / CPH06x_LC

  Askey sells these cards as "Magic TView series", Brand "MagicXpress".
  Other OEM often call these "Tview", "TView99" or else.

Lifeview Flyvideo Series:
~~~~~~~~~~~~~~~~~~~~~~~~~

The naming of these series differs in time and space.

Identifying:
  #) Some models can be identified by PCI subsystem ID:

     - 1852:1852 = Flyvideo 98 FM
     - 1851:1850 = Flyvideo 98
     - 1851:1851 = Flyvideo 98 EZ (capture only)

  #) There is a print on the PCB:

     - LR25       = Flyvideo (Zoran ZR36120, SAA7110A)
     - LR26 Rev.N = Flyvideo II (Bt848)
     - LR26 Rev.O = Flyvideo II (Bt878)
     - LR37 Rev.C = Flyvideo EZ (Capture only, ZR36120 + SAA7110)
     - LR38 Rev.A1= Flyvideo II EZ (Bt848 capture only)
     - LR50 Rev.Q = Flyvideo 98 (w/eeprom and PCI subsystem ID)
     - LR50 Rev.W = Flyvideo 98 (no eeprom)
     - LR51 Rev.E = Flyvideo 98 EZ (capture only)
     - LR90       = Flyvideo 2000 (Bt878)
     - LR90 Flyvideo 2000S (Bt878) w/Stereo TV (Package incl. LR91 daughterboard)
     - LR91       = Stereo daughter card for LR90
     - LR97       = Flyvideo DVBS
     - LR99 Rev.E = Low profile card for OEM integration (only internal audio!) bt878
     - LR136	 = Flyvideo 2100/3100 (Low profile, SAA7130/SAA7134)
     - LR137      = Flyvideo DV2000/DV3000 (SAA7130/SAA7134 + IEEE1394)
     - LR138 Rev.C= Flyvideo 2000 (SAA7130)
     - LR138 Flyvideo 3000 (SAA7134) w/Stereo TV

	- These exist in variations w/FM and w/Remote sometimes denoted
	  by suffixes "FM" and "R".

  #) You have a laptop (miniPCI card):

      - Product    = FlyTV Platinum Mini
      - Model/Chip = LR212/saa7135

      - Lifeview.com.tw states (Feb. 2002):
        "The FlyVideo2000 and FlyVideo2000s product name have renamed to FlyVideo98."
        Their Bt8x8 cards are listed as discontinued.
      - Flyvideo 2000S was probably sold as Flyvideo 3000 in some countries(Europe?).
        The new Flyvideo 2000/3000 are SAA7130/SAA7134 based.

"Flyvideo II" had been the name for the 848 cards, nowadays (in Germany)
this name is re-used for LR50 Rev.W.

The Lifeview website mentioned Flyvideo III at some time, but such a card
has not yet been seen (perhaps it was the german name for LR90 [stereo]).
These cards are sold by many OEMs too.

FlyVideo A2 (Elta 8680)= LR90 Rev.F (w/Remote, w/o FM, stereo TV by tda9821) {Germany}

Lifeview 3000 (Elta 8681) as sold by Plus(April 2002), Germany = LR138 w/ saa7134

lifeview config coding on gpio pins 0-9
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- LR50 rev. Q ("PARTS: 7031505116), Tuner wurde als Nr. 5 erkannt, Eingänge
  SVideo, TV, Composite, Audio, Remote:

 - CP9..1=100001001 (1: 0-Ohm-Widerstand gegen GND unbestückt; 0: bestückt)


Typhoon TV card series:
~~~~~~~~~~~~~~~~~~~~~~~

These can be CPH, Flyvideo, Pixelview or KNC1 series.

Typhoon is the brand of Anubis.

Model 50680 got re-used, some model no. had different contents over time.

Models:

  - 50680 "TV Tuner PCI Pal BG"(old,red package)=can be CPH03x(bt848) or CPH06x(bt878)
  - 50680 "TV Tuner Pal BG" (blue package)= Pixelview PV-BT878P+ (Rev 9B)
  - 50681 "TV Tuner PCI Pal I" (variant of 50680)
  - 50682 "TView TV/FM Tuner Pal BG"       = Flyvideo 98FM (LR50 Rev.Q)

  .. note::

	 The package has a picture of CPH05x (which would be a real TView)

  - 50683 "TV Tuner PCI SECAM" (variant of 50680)
  - 50684 "TV Tuner Pal BG"                = Pixelview 878TV(Rev.3D)
  - 50686 "TV Tuner"                       = KNC1 TV Station
  - 50687 "TV Tuner stereo"                = KNC1 TV Station pro
  - 50688 "TV Tuner RDS" (black package)   = KNC1 TV Station RDS
  - 50689  TV SAT DVB-S CARD CI PCI (SAA7146AH, SU1278?) = "KNC1 TV Station DVB-S"
  - 50692 "TV/FM Tuner" (small PCB)
  - 50694  TV TUNER CARD RDS (PHILIPS CHIPSET SAA7134HL)
  - 50696  TV TUNER STEREO (PHILIPS CHIPSET SAA7134HL, MK3ME Tuner)
  - 50804  PC-SAT TV/Audio Karte = Techni-PC-Sat (ZORAN 36120PQC, Tuner:Alps)
  - 50866  TVIEW SAT RECEIVER+ADR
  - 50868 "TV/FM Tuner Pal I" (variant of 50682)
  - 50999 "TV/FM Tuner Secam" (variant of 50682)

Guillemot
~~~~~~~~~

Models:

- Maxi-TV PCI (ZR36120)
- Maxi TV Video 2 = LR50 Rev.Q (FI1216MF, PAL BG+SECAM)
- Maxi TV Video 3 = CPH064 (PAL BG + SECAM)

Mentor
~~~~~~

Mentor TV card ("55-878TV-U1") = Pixelview 878TV(Rev.3F) (w/FM w/Remote)

Prolink
~~~~~~~

- TV cards:

  - PixelView Play TV pro - (Model: PV-BT878P+ REV 8E)
  - PixelView Play TV pro - (Model: PV-BT878P+ REV 9D)
  - PixelView Play TV pro - (Model: PV-BT878P+ REV 4C / 8D / 10A )
  - PixelView Play TV - (Model: PV-BT848P+)
  - 878TV - (Model: PV-BT878TV)

- Multimedia TV packages (card + software pack):

  - PixelView Play TV Theater - (Model: PV-M4200) =  PixelView Play TV pro + Software
  - PixelView Play TV PAK -     (Model: PV-BT878P+ REV 4E)
  - PixelView Play TV/VCR -     (Model: PV-M3200 REV 4C / 8D / 10A )
  - PixelView Studio PAK -      (Model:    M2200 REV 4C / 8D / 10A )
  - PixelView PowerStudio PAK - (Model: PV-M3600 REV 4E)
  - PixelView DigitalVCR PAK -  (Model: PV-M2400 REV 4C / 8D / 10A )
  - PixelView PlayTV PAK II (TV/FM card + usb camera)  PV-M3800
  - PixelView PlayTV XP PV-M4700,PV-M4700(w/FM)
  - PixelView PlayTV DVR PV-M4600  package contents:PixelView PlayTV pro, windvr & videoMail s/w

- Further Cards:

  - PV-BT878P+rev.9B (Play TV Pro, opt. w/FM w/NICAM)
  - PV-BT878P+rev.2F
  - PV-BT878P Rev.1D (bt878, capture only)

  - XCapture PV-CX881P (cx23881)
  - PlayTV HD PV-CX881PL+, PV-CX881PL+(w/FM) (cx23881)

  - DTV3000 PV-DTV3000P+ DVB-S CI = Twinhan VP-1030
  - DTV2000 DVB-S = Twinhan VP-1020

- Video Conferencing:

  - PixelView Meeting PAK - (Model: PV-BT878P)
  - PixelView Meeting PAK Lite - (Model: PV-BT878P)
  - PixelView Meeting PAK plus - (Model: PV-BT878P+rev 4C/8D/10A)
  - PixelView Capture - (Model: PV-BT848P)
  - PixelView PlayTV USB pro
  - Model No. PV-NT1004+, PV-NT1004+ (w/FM) = NT1004 USB decoder chip + SAA7113 video decoder chip

Dynalink
~~~~~~~~

These are CPH series.

Phoebemicro
~~~~~~~~~~~

- TV Master    = CPH030 or CPH060
- TV Master FM = CPH050

Genius/Kye
~~~~~~~~~~

- Video Wonder/Genius Internet Video Kit = LR37 Rev.C
- Video Wonder Pro II (848 or 878) = LR26

Tekram
~~~~~~

- VideoCap C205 (Bt848)
- VideoCap C210 (zr36120 +Philips)
- CaptureTV M200 (ISA)
- CaptureTV M205 (Bt848)

Lucky Star
~~~~~~~~~~

- Image World Conference TV = LR50 Rev. Q

Leadtek
~~~~~~~

- WinView 601 (Bt848)
- WinView 610 (Zoran)
- WinFast2000
- WinFast2000 XP

Support for the Leadtek WinView 601 TV/FM
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Author of this section: Jon Tombs <jon@gte.esi.us.es>

This card is basically the same as all the rest (Bt484A, Philips tuner),
the main difference is that they have attached a programmable attenuator to 3
GPIO lines in order to give some volume control. They have also stuck an
infra-red remote control decoded on the board, I will add support for this
when I get time (it simple generates an interrupt for each key press, with
the key code is placed in the GPIO port).

I don't yet have any application to test the radio support. The tuner
frequency setting should work but it is possible that the audio multiplexer
is wrong. If it doesn't work, send me email.


- No Thanks to Leadtek they refused to answer any questions about their
  hardware. The driver was written by visual inspection of the card. If you
  use this driver, send an email insult to them, and tell them you won't
  continue buying their hardware unless they support Linux.

- Little thanks to Princeton Technology Corp (http://www.princeton.com.tw)
  who make the audio attenuator. Their publicly available data-sheet available
  on their web site doesn't include the chip programming information! Hidden
  on their server are the full data-sheets, but don't ask how I found it.

To use the driver I use the following options, the tuner and pll settings might
be different in your country. You can force it via modprobe parameters.
For example::

    modprobe bttv  tuner=1 pll=28 radio=1 card=17

Sets tuner type 1 (Philips PAL_I), PLL with a 28 MHz crystal, enables
FM radio and selects bttv card ID 17 (Leadtek WinView 601).


KNC One
~~~~~~~

- TV-Station
- TV-Station SE (+Software Bundle)
- TV-Station pro (+TV stereo)
- TV-Station FM (+Radio)
- TV-Station RDS (+RDS)
- TV Station SAT (analog satellite)
- TV-Station DVB-S

.. note:: newer Cards have saa7134, but model name stayed the same?

Provideo
~~~~~~~~

-  PV951 or PV-951, now named PV-951T
   (also are sold as:
   Boeder TV-FM Video Capture Card,
   Titanmedia Supervision TV-2400,
   Provideo PV951 TF,
   3DeMon PV951,
   MediaForte TV-Vision PV951,
   Yoko PV951,
   Vivanco Tuner Card PCI Art.-Nr.: 68404
   )

- Surveillance Series:

 - PV-141
 - PV-143
 - PV-147
 - PV-148 (capture only)
 - PV-150
 - PV-151

- TV-FM Tuner Series:

 - PV-951TDV (tv tuner + 1394)
 - PV-951T/TF
 - PV-951PT/TF
 - PV-956T/TF Low Profile
 - PV-911

Highscreen
~~~~~~~~~~

Models:

- TV Karte = LR50 Rev.S
- TV-Boostar = Terratec Terra TV+ Version 1.0 (Bt848, tda9821) "ceb105.pcb"

Zoltrix
~~~~~~~

Models:

- Face to Face Capture (Bt848 capture only) (PCB "VP-2848")
- Face To Face TV MAX (Bt848) (PCB "VP-8482 Rev1.3")
- Genie TV (Bt878) (PCB "VP-8790 Rev 2.1")
- Genie Wonder Pro

AVerMedia
~~~~~~~~~

- AVer FunTV Lite (ISA, AV3001 chipset)  "M101.C"
- AVerTV
- AVerTV Stereo
- AVerTV Studio (w/FM)
- AVerMedia TV98 with Remote
- AVerMedia TV/FM98 Stereo
- AVerMedia TVCAM98
- TVCapture (Bt848)
- TVPhone (Bt848)
- TVCapture98 (="AVerMedia TV98" in USA) (Bt878)
- TVPhone98 (Bt878, w/FM)

======== =========== =============== ======= ====== ======== =======================
PCB      PCI-ID      Model-Name      Eeprom  Tuner  Sound    Country
======== =========== =============== ======= ====== ======== =======================
M101.C   ISA !
M108-B      Bt848                     --     FR1236		 US   [#f2]_, [#f3]_
M1A8-A      Bt848    AVer TV-Phone           FM1216  --
M168-T   1461:0003   AVerTV Studio   48:17   FM1216 TDA9840T  D    [#f1]_ w/FM w/Remote
M168-U   1461:0004   TVCapture98     40:11   FI1216   --      D    w/Remote
M168II-B 1461:0003   Medion MD9592   48:16   FM1216 TDA9873H  D    w/FM
======== =========== =============== ======= ====== ======== =======================

.. [#f1] Daughterboard MB68-A with TDA9820T and TDA9840T
.. [#f2] Sony NE41S soldered (stereo sound?)
.. [#f3] Daughterboard M118-A w/ pic 16c54 and 4 MHz quartz

- US site has different drivers for (as of 09/2002):

  - EZ Capture/InterCam PCI (BT-848 chip)
  - EZ Capture/InterCam PCI (BT-878 chip)
  - TV-Phone (BT-848 chip)
  - TV98 (BT-848 chip)
  - TV98 With Remote (BT-848 chip)
  - TV98 (BT-878 chip)
  - TV98 With Remote (BT-878)
  - TV/FM98 (BT-878 chip)
  - AVerTV
  - AverTV Stereo
  - AVerTV Studio

DE hat diverse Treiber fuer diese Modelle (Stand 09/2002):

  - TVPhone (848) mit Philips tuner FR12X6 (w/ FM radio)
  - TVPhone (848) mit Philips tuner FM12X6 (w/ FM radio)
  - TVCapture (848) w/Philips tuner FI12X6
  - TVCapture (848) non-Philips tuner
  - TVCapture98 (Bt878)
  - TVPhone98 (Bt878)
  - AVerTV und TVCapture98 w/VCR (Bt 878)
  - AVerTVStudio und TVPhone98 w/VCR (Bt878)
  - AVerTV GO Series (Kein SVideo Input)
  - AVerTV98 (BT-878 chip)
  - AVerTV98 mit Fernbedienung (BT-878 chip)
  - AVerTV/FM98 (BT-878 chip)

  - VDOmate (www.averm.com.cn) = M168U ?

Aimslab
~~~~~~~

Models:

- Video Highway or "Video Highway TR200" (ISA)
- Video Highway Xtreme (aka "VHX") (Bt848, FM w/ TEA5757)

IXMicro (former: IMS=Integrated Micro Solutions)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Models:

- IXTV BT848 (=TurboTV)
- IXTV BT878
- IMS TurboTV (Bt848)

Lifetec/Medion/Tevion/Aldi
~~~~~~~~~~~~~~~~~~~~~~~~~~

Models:

- LT9306/MD9306 = CPH061
- LT9415/MD9415 = LR90 Rev.F or Rev.G
- MD9592 = Avermedia TVphone98 (PCI_ID=1461:0003), PCB-Rev=M168II-B (w/TDA9873H)
- MD9717 = KNC One (Rev D4, saa7134, FM1216 MK2 tuner)
- MD5044 = KNC One (Rev D4, saa7134, FM1216ME MK3 tuner)

Modular Technologies (www.modulartech.com) UK
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Models:

- MM100 PCTV (Bt848)
- MM201 PCTV (Bt878, Bt832) w/ Quartzsight camera
- MM202 PCTV (Bt878, Bt832, tda9874)
- MM205 PCTV (Bt878)
- MM210 PCTV (Bt878) (Galaxy TV, Galaxymedia ?)

Terratec
~~~~~~~~

Models:

- Terra TV+ Version 1.0 (Bt848), "ceb105.PCB" printed on the PCB, TDA9821
- Terra TV+ Version 1.1 (Bt878), "LR74 Rev.E" printed on the PCB, TDA9821
- Terra TValueRadio,             "LR102 Rev.C" printed on the PCB
- Terra TV/Radio+ Version 1.0,   "80-CP2830100-0" TTTV3 printed on the PCB,
  "CPH010-E83" on the back, SAA6588T, TDA9873H
- Terra TValue Version BT878,    "80-CP2830110-0 TTTV4" printed on the PCB,
  "CPH011-D83" on back
- Terra TValue Version 1.0       "ceb105.PCB" (really identical to Terra TV+ Version 1.0)
- Terra TValue New Revision	  "LR102 Rec.C"
- Terra Active Radio Upgrade (tea5757h, saa6588t)

- LR74 is a newer PCB revision of ceb105 (both incl. connector for Active Radio Upgrade)

- Cinergy 400 (saa7134), "E877 11(S)", "PM820092D" printed on PCB
- Cinergy 600 (saa7134)

Technisat
~~~~~~~~~

Models:

- Discos ADR PC-Karte ISA (no TV!)
- Discos ADR PC-Karte PCI (probably no TV?)
- Techni-PC-Sat (Sat. analog)
  Rev 1.2 (zr36120, vpx3220, stv0030, saa5246, BSJE3-494A)
- Mediafocus I (zr36120/zr36125, drp3510, Sat. analog + ADR Radio)
- Mediafocus II (saa7146, Sat. analog)
- SatADR Rev 2.1 (saa7146a, saa7113h, stv0056a, msp3400c, drp3510a, BSKE3-307A)
- SkyStar 1 DVB  (AV7110) = Technotrend Premium
- SkyStar 2 DVB  (B2C2) (=Sky2PC)

Siemens
~~~~~~~

Multimedia eXtension Board (MXB) (SAA7146, SAA7111)

Powercolor
~~~~~~~~~~

Models:

- MTV878
       Package comes with different contents:

           a) pcb "MTV878" (CARD=75)
           b) Pixelview Rev. 4\_

- MTV878R w/Remote Control
- MTV878F w/Remote Control w/FM radio

Pinnacle
~~~~~~~~

PCTV models:

- Mirovideo PCTV (Bt848)
- Mirovideo PCTV SE (Bt848)
- Mirovideo PCTV Pro (Bt848 + Daughterboard for TV Stereo and FM)
- Studio PCTV Rave (Bt848 Version = Mirovideo PCTV)
- Studio PCTV Rave (Bt878 package w/o infrared)
- Studio PCTV      (Bt878)
- Studio PCTV Pro  (Bt878 stereo w/ FM)
- Pinnacle PCTV    (Bt878, MT2032)
- Pinnacle PCTV Pro (Bt878, MT2032)
- Pinncale PCTV Sat (bt878a, HM1821/1221) ["Conexant CX24110 with CX24108 tuner, aka HM1221/HM1811"]
- Pinnacle PCTV Sat XE

M(J)PEG capture and playback models:

- DC1+ (ISA)
- DC10  (zr36057,     zr36060,      saa7110, adv7176)
- DC10+ (zr36067,     zr36060,      saa7110, adv7176)
- DC20  (ql16x24b,zr36050, zr36016, saa7110, saa7187 ...)
- DC30  (zr36057, zr36050, zr36016, vpx3220, adv7176, ad1843, tea6415, miro FST97A1)
- DC30+ (zr36067, zr36050, zr36016, vpx3220, adv7176)
- DC50  (zr36067, zr36050, zr36016, saa7112, adv7176 (2 pcs.?), ad1843, miro FST97A1, Lattice ???)

Lenco
~~~~~

Models:

- MXR-9565 (=Technisat Mediafocus?)
- MXR-9571 (Bt848) (=CPH031?)
- MXR-9575
- MXR-9577 (Bt878) (=Prolink 878TV Rev.3x)
- MXTV-9578CP (Bt878) (= Prolink PV-BT878P+4E)

Iomega
~~~~~~

Buz (zr36067, zr36060, saa7111, saa7185)

LML
~~~
   LML33 (zr36067, zr36060, bt819, bt856)

Grandtec
~~~~~~~~

Models:

- Grand Video Capture (Bt848)
- Multi Capture Card  (Bt878)

Koutech
~~~~~~~

Models:

- KW-606 (Bt848)
- KW-607 (Bt848 capture only)
- KW-606RSF
- KW-607A (capture only)
- KW-608 (Zoran capture only)

IODATA (jp)
~~~~~~~~~~~

Models:

- GV-BCTV/PCI
- GV-BCTV2/PCI
- GV-BCTV3/PCI
- GV-BCTV4/PCI
- GV-VCP/PCI (capture only)
- GV-VCP2/PCI (capture only)

Canopus (jp)
~~~~~~~~~~~~

WinDVR	= Kworld "KW-TVL878RF"

www.sigmacom.co.kr
~~~~~~~~~~~~~~~~~~

Sigma Cyber TV II

www.sasem.co.kr
~~~~~~~~~~~~~~~

Litte OnAir TV

hama
~~~~

TV/Radio-Tuner Card, PCI (Model 44677) = CPH051

Sigma Designs
~~~~~~~~~~~~~

Hollywood plus (em8300, em9010, adv7175), (PCB "M340-10") MPEG DVD decoder

Formac
~~~~~~

Models:

- iProTV (Card for iMac Mezzanine slot, Bt848+SCSI)
- ProTV (Bt848)
- ProTV II = ProTV Stereo (Bt878) ["stereo" means FM stereo, tv is still mono]

ATI
~~~

Models:

- TV-Wonder
- TV-Wonder VE

Diamond Multimedia
~~~~~~~~~~~~~~~~~~

DTV2000 (Bt848, tda9875)

Aopen
~~~~~

- VA1000 Plus (w/ Stereo)
- VA1000 Lite
- VA1000 (=LR90)

Intel
~~~~~

Models:

- Smart Video Recorder (ISA full-length)
- Smart Video Recorder pro (ISA half-length)
- Smart Video Recorder III (Bt848)

STB
~~~

Models:

- STB Gateway 6000704 (bt878)
- STB Gateway 6000699 (bt848)
- STB Gateway 6000402 (bt848)
- STB TV130 PCI

Videologic
~~~~~~~~~~

Models:

- Captivator Pro/TV (ISA?)
- Captivator PCI/VC (Bt848 bundled with camera) (capture only)

Technotrend
~~~~~~~~~~~~

Models:

- TT-SAT PCI (PCB "Sat-PCI Rev.:1.3.1"; zr36125, vpx3225d, stc0056a, Tuner:BSKE6-155A
- TT-DVB-Sat
   - revisions 1.1, 1.3, 1.5, 1.6 and 2.1
   - This card is sold as OEM from:

	- Siemens DVB-s Card
	- Hauppauge WinTV DVB-S
	- Technisat SkyStar 1 DVB
	- Galaxis DVB Sat

   - Now this card is called TT-PCline Premium Family
   - TT-Budget (saa7146, bsru6-701a)
     This card is sold as OEM from:

	- Hauppauge WinTV Nova
	- Satelco Standard PCI (DVB-S)
   - TT-DVB-C PCI

Teles
~~~~~

 DVB-s (Rev. 2.2, BSRV2-301A, data only?)

Remote Vision
~~~~~~~~~~~~~

MX RV605 (Bt848 capture only)

Boeder
~~~~~~

Models:

- PC ChatCam (Model 68252) (Bt848 capture only)
- Tv/Fm Capture Card  (Model 68404) = PV951

Media-Surfer  (esc-kathrein.de)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Models:

- Sat-Surfer (ISA)
- Sat-Surfer PCI = Techni-PC-Sat
- Cable-Surfer 1
- Cable-Surfer 2
- Cable-Surfer PCI (zr36120)
- Audio-Surfer (ISA Radio card)

Jetway (www.jetway.com.tw)
~~~~~~~~~~~~~~~~~~~~~~~~~~

Models:

- JW-TV 878M
- JW-TV 878  = KWorld KW-TV878RF

Galaxis
~~~~~~~

Models:

- Galaxis DVB Card S CI
- Galaxis DVB Card C CI
- Galaxis DVB Card S
- Galaxis DVB Card C
- Galaxis plug.in S [neuer Name: Galaxis DVB Card S CI

Hauppauge
~~~~~~~~~

Models:

- many many WinTV models ...
- WinTV DVBs = Technotrend Premium 1.3
- WinTV NOVA = Technotrend Budget 1.1 "S-DVB DATA"
- WinTV NOVA-CI "SDVBACI"
- WinTV Nova USB (=Technotrend USB 1.0)
- WinTV-Nexus-s (=Technotrend Premium 2.1 or 2.2)
- WinTV PVR
- WinTV PVR 250
- WinTV PVR 450

US models

-990 WinTV-PVR-350 (249USD) (iTVC15 chipset + radio)
-980 WinTV-PVR-250 (149USD) (iTVC15 chipset)
-880 WinTV-PVR-PCI (199USD) (KFIR chipset + bt878)
-881 WinTV-PVR-USB
-190 WinTV-GO
-191 WinTV-GO-FM
-404 WinTV
-401 WinTV-radio
-495 WinTV-Theater
-602 WinTV-USB
-621 WinTV-USB-FM
-600 USB-Live
-698 WinTV-HD
-697 WinTV-D
-564 WinTV-Nexus-S

Deutsche Modelle:

-603 WinTV GO
-719 WinTV Primio-FM
-718 WinTV PCI-FM
-497 WinTV Theater
-569 WinTV USB
-568 WinTV USB-FM
-882 WinTV PVR
-981 WinTV PVR 250
-891 WinTV-PVR-USB
-541 WinTV Nova
-488 WinTV Nova-Ci
-564 WinTV-Nexus-s
-727 WinTV-DVB-c
-545 Common Interface
-898 WinTV-Nova-USB

UK models:

-607 WinTV Go
-693,793 WinTV Primio FM
-647,747 WinTV PCI FM
-498 WinTV Theater
-883 WinTV PVR
-893 WinTV PVR USB  (Duplicate entry)
-566 WinTV USB (UK)
-573 WinTV USB FM
-429 Impact VCB (bt848)
-600 USB Live (Video-In 1x Comp, 1xSVHS)
-542 WinTV Nova
-717 WinTV DVB-S
-909 Nova-t PCI
-893 Nova-t USB   (Duplicate entry)
-802 MyTV
-804 MyView
-809 MyVideo
-872 MyTV2Go FM
-546 WinTV Nova-S CI
-543 WinTV Nova
-907 Nova-S USB
-908 Nova-T USB
-717 WinTV Nexus-S
-157 DEC3000-s Standalone + USB

Spain:

-685 WinTV-Go
-690 WinTV-PrimioFM
-416 WinTV-PCI Nicam Estereo
-677 WinTV-PCI-FM
-699 WinTV-Theater
-683 WinTV-USB
-678 WinTV-USB-FM
-983 WinTV-PVR-250
-883 WinTV-PVR-PCI
-993 WinTV-PVR-350
-893 WinTV-PVR-USB
-728 WinTV-DVB-C PCI
-832 MyTV2Go
-869 MyTV2Go-FM
-805 MyVideo (USB)


Matrix-Vision
~~~~~~~~~~~~~

Models:

- MATRIX-Vision MV-Delta
- MATRIX-Vision MV-Delta 2
- MVsigma-SLC (Bt848)

Conceptronic (.net)
~~~~~~~~~~~~~~~~~~~

Models:

- TVCON FM,  TV card w/ FM = CPH05x
- TVCON = CPH06x

BestData
~~~~~~~~

Models:

- HCC100 = VCC100rev1 + camera
- VCC100 rev1 (bt848)
- VCC100 rev2 (bt878)

Gallant  (www.gallantcom.com) www.minton.com.tw
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Models:

- Intervision IV-510 (capture only bt8x8)
- Intervision IV-550 (bt8x8)
- Intervision IV-100 (zoran)
- Intervision IV-1000 (bt8x8)

Asonic (www.asonic.com.cn) (website down)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SkyEye tv 878

Hoontech
~~~~~~~~

878TV/FM

Teppro (www.itcteppro.com.tw)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Models:

- ITC PCITV (Card Ver 1.0) "Teppro TV1/TVFM1 Card"
- ITC PCITV (Card Ver 2.0)
- ITC PCITV (Card Ver 3.0) = "PV-BT878P+ (REV.9D)"
- ITC PCITV (Card Ver 4.0)
- TEPPRO IV-550 (For BT848 Main Chip)
- ITC DSTTV (bt878, satellite)
- ITC VideoMaker (saa7146, StreamMachine sm2110, tvtuner) "PV-SM2210P+ (REV:1C)"

Kworld (www.kworld.com.tw)
~~~~~~~~~~~~~~~~~~~~~~~~~~

PC TV Station:

- KWORLD KW-TV878R  TV (no radio)
- KWORLD KW-TV878RF TV (w/ radio)
- KWORLD KW-TVL878RF (low profile)
- KWORLD KW-TV713XRF (saa7134)


 MPEG TV Station (same cards as above plus WinDVR Software MPEG en/decoder)

- KWORLD KW-TV878R -Pro   TV (no Radio)
- KWORLD KW-TV878RF-Pro   TV (w/ Radio)
- KWORLD KW-TV878R -Ultra TV (no Radio)
- KWORLD KW-TV878RF-Ultra TV (w/ Radio)

JTT/ Justy Corp.(http://www.jtt.ne.jp/)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

JTT-02 (JTT TV) "TV watchmate pro" (bt848)

ADS www.adstech.com
~~~~~~~~~~~~~~~~~~~

Models:

- Channel Surfer TV ( CHX-950 )
- Channel Surfer TV+FM ( CHX-960FM )

AVEC www.prochips.com
~~~~~~~~~~~~~~~~~~~~~

AVEC Intercapture (bt848, tea6320)

NoBrand
~~~~~~~

TV Excel = Australian Name for "PV-BT878P+ 8E" or "878TV Rev.3\_"

Mach www.machspeed.com
~~~~~~~~~~~~~~~~~~~~~~

Mach TV 878

Eline www.eline-net.com/
~~~~~~~~~~~~~~~~~~~~~~~~

Models:

- Eline Vision TVMaster / TVMaster FM (ELV-TVM/ ELV-TVM-FM) = LR26  (bt878)
- Eline Vision TVMaster-2000 (ELV-TVM-2000, ELV-TVM-2000-FM)= LR138 (saa713x)

Spirit
~~~~~~

- Spirit TV Tuner/Video Capture Card (bt848)

Boser www.boser.com.tw
~~~~~~~~~~~~~~~~~~~~~~

Models:

- HS-878 Mini PCI Capture Add-on Card
- HS-879 Mini PCI 3D Audio and Capture Add-on Card (w/ ES1938 Solo-1)

Satelco www.citycom-gmbh.de, www.satelco.de
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Models:

- TV-FM =KNC1 saa7134
- Standard PCI (DVB-S) = Technotrend Budget
- Standard PCI (DVB-S) w/ CI
- Satelco Highend PCI (DVB-S) = Technotrend Premium


Sensoray www.sensoray.com
~~~~~~~~~~~~~~~~~~~~~~~~~

Models:

- Sensoray 311 (PC/104 bus)
- Sensoray 611 (PCI)

CEI (Chartered Electronics Industries Pte Ltd [CEI] [FCC ID HBY])
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Models:

- TV Tuner  -  HBY-33A-RAFFLES  Brooktree Bt848KPF + Philips
- TV Tuner MG9910  -  HBY33A-TVO  CEI + Philips SAA7110 + OKI M548262 + ST STV8438CV
- Primetime TV (ISA)

  - acquired by Singapore Technologies
  - now operating as Chartered Semiconductor Manufacturing
  - Manufacturer of video cards is listed as:

    - Cogent Electronics Industries [CEI]

AITech
~~~~~~

Models:

- Wavewatcher TV (ISA)
- AITech WaveWatcher TV-PCI = can be LR26 (Bt848) or LR50 (BT878)
- WaveWatcher TVR-202 TV/FM Radio Card (ISA)

MAXRON
~~~~~~

Maxron MaxTV/FM Radio (KW-TV878-FNT) = Kworld or JW-TV878-FBK

www.ids-imaging.de
~~~~~~~~~~~~~~~~~~

Models:

- Falcon Series (capture only)

In USA: http://www.theimagingsource.com/
- DFG/LC1

www.sknet-web.co.jp
~~~~~~~~~~~~~~~~~~~

SKnet Monster TV (saa7134)

A-Max www.amaxhk.com (Colormax, Amax, Napa)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

APAC Viewcomp 878

Cybertainment
~~~~~~~~~~~~~

Models:

- CyberMail AV Video Email Kit w/ PCI Capture Card (capture only)
- CyberMail Xtreme

These are Flyvideo

VCR (http://www.vcrinc.com/)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Video Catcher 16

Twinhan
~~~~~~~

Models:

- DST Card/DST-IP (bt878, twinhan asic) VP-1020
  - Sold as:

    - KWorld DVBS Satellite TV-Card
    - Powercolor DSTV Satellite Tuner Card
    - Prolink Pixelview DTV2000
    - Provideo PV-911 Digital Satellite TV Tuner Card With Common Interface ?

- DST-CI Card (DVB Satellite) VP-1030
- DCT Card (DVB cable)

MSI
~~~

Models:

- MSI TV@nywhere Tuner Card (MS-8876) (CX23881/883) Not Bt878 compatible.
- MS-8401 DVB-S

Focus www.focusinfo.com
~~~~~~~~~~~~~~~~~~~~~~~

InVideo PCI (bt878)

Sdisilk www.sdisilk.com/
~~~~~~~~~~~~~~~~~~~~~~~~

Models:

- SDI Silk 100
- SDI Silk 200 SDI Input Card

www.euresys.com
~~~~~~~~~~~~~~~

PICOLO series

PMC/Pace
~~~~~~~~

www.pacecom.co.uk website closed

Mercury www.kobian.com (UK and FR)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Models:

- LR50
- LR138RBG-Rx  == LR138

TEC sound
~~~~~~~~~

TV-Mate = Zoltrix VP-8482

Though educated googling found: www.techmakers.com

(package and manuals don't have any other manufacturer info) TecSound

Lorenzen www.lorenzen.de
~~~~~~~~~~~~~~~~~~~~~~~~

SL DVB-S PCI = Technotrend Budget PCI (su1278 or bsru version)

Origo (.uk) www.origo2000.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PC TV Card = LR50

I/O Magic www.iomagic.com
~~~~~~~~~~~~~~~~~~~~~~~~~

PC PVR - Desktop TV Personal Video Recorder DR-PCTV100 = Pinnacle ROB2D-51009464 4.0 + Cyberlink PowerVCR II

Arowana
~~~~~~~

TV-Karte / Poso Power TV (?) = Zoltrix VP-8482 (?)

iTVC15 boards
~~~~~~~~~~~~~

kuroutoshikou.com ITVC15
yuan.com MPG160 PCI TV (Internal PCI MPEG2 encoder card plus TV-tuner)

Asus www.asuscom.com
~~~~~~~~~~~~~~~~~~~~

Models:

- Asus TV Tuner Card 880 NTSC (low profile, cx23880)
- Asus TV (saa7134)

Hoontech
~~~~~~~~

http://www.hoontech.de/

- HART Vision 848 (H-ART Vision 848)
- HART Vision 878 (H-Art Vision 878)



Chips used at bttv devices
--------------------------

- all boards:

  - Brooktree Bt848/848A/849/878/879: video capture chip

- Board specific

  - Miro PCTV:

    - Philips or Temic Tuner

  - Hauppauge Win/TV pci (version 405):

    - Microchip 24LC02B or Philips 8582E2Y:

       - 256 Byte EEPROM with configuration information
       - I2C 0xa0-0xa1, (24LC02B also responds to 0xa2-0xaf)

    - Philips SAA5246AGP/E: Videotext decoder chip, I2C 0x22-0x23

    - TDA9800: sound decoder

    - Winbond W24257AS-35: 32Kx8 CMOS static RAM (Videotext buffer mem)

    - 14052B: analog switch for selection of sound source

- PAL:

  - TDA5737: VHF, hyperband and UHF mixer/oscillator for TV and VCR 3-band tuners
  - TSA5522: 1.4 GHz I2C-bus controlled synthesizer, I2C 0xc2-0xc3

- NTSC:

  - TDA5731: VHF, hyperband and UHF mixer/oscillator for TV and VCR 3-band tuners
  - TSA5518: no datasheet available on Philips site

- STB TV pci:

  - ???
  - if you want better support for STB cards send me info!
    Look at the board! What chips are on it?




Specs
-----

Philips		http://www.Semiconductors.COM/pip/

Conexant	http://www.conexant.com/

Micronas	http://www.micronas.com/en/home/index.html

Thanks
------

Many thanks to:

- Markus Schroeder <schroedm@uni-duesseldorf.de> for information on the Bt848
  and tuner programming and his control program xtvc.

- Martin Buck <martin-2.buck@student.uni-ulm.de> for his great Videotext
  package.

- Gerd Hoffmann for the MSP3400 support and the modular
  I2C, tuner, ... support.


- MATRIX Vision for giving us 2 cards for free, which made support of
  single crystal operation possible.

- MIRO for providing a free PCTV card and detailed information about the
  components on their cards. (E.g. how the tuner type is detected)
  Without their card I could not have debugged the NTSC mode.

- Hauppauge for telling how the sound input is selected and what components
  they do and will use on their radio cards.
  Also many thanks for faxing me the FM1216 data sheet.

Contributors
------------

Michael Chu <mmchu@pobox.com>
  AverMedia fix and more flexible card recognition

Alan Cox <alan@lxorguk.ukuu.org.uk>
  Video4Linux interface and 2.1.x kernel adaptation

Chris Kleitsch
  Hardware I2C

Gerd Hoffmann
  Radio card (ITT sound processor)

bigfoot <bigfoot@net-way.net>

Ragnar Hojland Espinosa <ragnar@macula.net>
  ConferenceTV card


+ many more (please mail me if you are missing in this list and would
	     like to be mentioned)