NXP SAA716x

From LinuxTVWiki
Jump to navigation Jump to search

A PCIe interface chipset family from NXP Semiconductors.

Introduction

In March 2005, Philips Semiconductors announced "the industry's first integrated PCI Express dual global video and stereo decoder for digital home PC desktops and notebooks" (press release (from archive.org)). The new analog decoder chip, the saa7162, uses the increased bandwidth of the PCI Express bus to capture to two simultaneous analog channels of live tv or baseband video (cf. product flyer) or up to four independent simultaneous digital TV streams (cf. Philips/NXP SAA7162 product brief (from archive.org)).

In Oct 2006, NXP created a saa7162 product page that includes, amongst other information, an 18 page "preliminary short data sheet" for download: SAA7162 Product Description (from archive.org) and SAA7162E PDF Data Sheet.

The PCI-SIG lists SAA7162 (dual A/V decoder) and SAA7160/SAA7161 (multimedia A/V bridge) as PCIe devices. SAA7160 PDF Data Sheet. According to PCIe specs there are two types of PCIe devices; Type 1, which categorize normal PCIe bridge devices, and Type 0, which categorize devices which have a specific/customized programmable interface. Unfortunately, the PCIe spec is not very detailed when it comes to Type 0 devices, and it is indeed this category that the SAA7160/1/2 reside.

Saa7162/Saa7161/Saa7160 IC chip information

The Saa7162 is a PCI Express bridge with integrated dual stream A/V decoder. The device is a single lane PCIe device opertaion at 2.5G sample/s.

The dual logical Audio/Video decoder support 10 bit A/D conversion, enhanced PAL/NTSC comb filtering, a versatile VBI data processing, more sophisticated scaling alogrithms, support of High Definition component video, picture improvement processing, more robustness with VCR-type signals, and increased audio functionallity like SPDIF In/Out and an intergrated audio sample rate coverter from 32Khz to 44Khz or 48Khz.Each channels has its own silent I2C bus for controlling sensitive tuner devices. One of the channels provides an IR interface.

Aside to the dual A/V decoder, there is a versatile I/O block, featuring PHI, SPI, I2C-bus,32 GPIO lines. The PHI is a fast parallel bus interface. The SPI-bus is a high speed serial bus interface. The two I2C bus interfaces operate at high speed grade.

The Saa7162 is a highly intergrated circuit for e.g TV insertion inside PC system. The Muti Standard TV decoder covered all Video color standards like PAL, NTSC and SECAM and Sound standards like Dual FM, NICAM, BTSC and EIAJ, Addtional to the TV decider function a digital IF demodulator, a FM Radio decoder, standard interfaces for digital Video and Audio, Remote control receiver/transmission processing and a high speed programming port allows high intergrated system solutions for muti media application.

Saa7162/Saa7161/Saa7160 devices

There are some DVB-S2 cards based upon the SAA7160/1/2. For further information see Saa7162 devices.

Saa7162/Saa7161/Saa7160 driver development

Philips announced in their reference design that they had already written a Linux driver. In May 2007, they finally sent the code to Richard Dale (without an NDA) and Manu Abraham, who is now writing a GPL'd driver under an NDA (the terms of which are not widely known). See the full discussion on linux-dvb.

While development has progressed, it appears that the information available/provided does not fully document some aspects of this chipset, and hence some areas of development have been problematic. Unfortunately, it appears that before NXP will consider providing additional assistance towards Linux driver support for the chipset, they wish to determine whether it is worth their while by gaining some measure of the potential future user base that Linux drivers will actually provide. Representatives from device vendors Azurewave and Hauppauge have outlined that they will try to assist LinuxTV in its effort to obtain more assistance in this matter. [1] [2].

The Saa716x driver is expected to support the following PCIe chips:

  • Saa7160
  • Saa7161
  • Saa7162

Manu Abraham's Saa716x development repository was at http://jusst.de/hg/saa716x, but is no longer available. A website archive (2011-09-20) is available at https://web.archive.org/web/20110920053639/http://www.jusst.de/hg/saa716x/ .Development seems to have been taken completely offline. Some development is being done on a version 2.x backport by Andreas 'powARman' Regel at https://bitbucket.org/powARman/v4l-dvb-saa716x.

As of (2013-10-26), the official linux kernel media_tree is missing the driver for the saa7160/saa7161/saa7162 chips which is the pci express bridge used in several DVB-T/DVB-T2/DVB-S TV cards with Pci Express connector. If you want to compile this driver, you need to download driver source code, in the web page https://bitbucket.org/powARman/v4l-dvb-saa716x/overview, right panel with download link in the web page. direct link to take a look to driver Saa716x source code


As of (2014-06-07), a fork from https://bitbucket.org/powARman/v4l-dvb-saa716x/ is available at https://github.com/ljalves/linux_media/tree/latest/drivers/media/pci/saa716x. In this fork, you have the previously suppport for the cards : Twinhan/Azurewave VP-3071 (DVB-T x2), Twinhan/Azurewave VP-1028 (DVB-S), Twinhan/Azurewave VP-6002 (DVB-S),KNC One Dual S2, TECHNISAT SKYSTAR2 EXPRESS HD and the new cards TURBOSIGHT (TBS6284, TBS6280, TBS6220, TBS6922, TBS6925, TBS6982, TBS6984, TBS6985), TECHNOTREND TT4100. Devices list supported in the drivers/media/pci/saa716x/saa716x_budget.h file.

Saa7164 IC chip information

A more complex IC that incorporates a built-in MPEG2 encoder.

The NXP Saa7164 integrates up to 8 standalone chips: two IF demodulators, two PAL/NTSC/SECAM decoders, two stereo decoders, plus two multi-format compression engines

SAA7164 brochure

saa7164 devices

Used in, for example, the Hauppauge WinTV-HVR-2200 and WinTV-HVR-2250. For further information see Saa7164 devices.

Saa7164 driver

In September 2009, Steven Toth at kernellabs submitted code to the linux kernel mailing list that adds support for the NXP SAA7164 PCIe A/V bridge used by the Hauppauge HVR-2200 and HVR-2250 series of products. See instructions at Hauppauge WinTV-HVR-2200. Note that support is still limited to DVB-T / ATSC / QAM digital TV only; there is no analog support yet.

Development is continuing; see http://www.kernellabs.com/blog/?cat=39 and http://www.kernellabs.com.

The Saa7164 driver does not support the Saa7160/61/62 chips.

External Links