Brooktree Bt878: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
(→‎Hardware Features: some reworking of the features description)
m (→‎Hardware Features: complete example (seeing as what was formerly there was applicable only to the 878A)
Line 37: Line 37:
0000:03:04.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
0000:03:04.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
}}
}}
The DMA controller architecture design could be described as a small and pretty nice programmable RISC engine. Essenitally, you basically build into the device driver software a very simple [[wikipedia:Reduced_instruction_set_computing|RISC]] program (very RISC - has about 8 instructions) that copies data between the BT848 and your RAM. The two functions have different memory mappings although they have many similar registers - e.g. the I²C bus is only available via the video function is only available via the audio function.
The DMA controller architecture design could be described as a small and pretty nice programmable RISC engine. Essenitally, you basically build into the device driver software a very simple [[wikipedia:Reduced_instruction_set_computing|RISC]] program (very RISC - has about 8 instructions) that copies data between the BT848 and your RAM. The two functions have different memory mappings although they have many similar registers - e.g. the I²C bus is only available via the video function, while the I²S bus is only available via the audio function.


The chip supports both 'software' and 'hardware' [[I²C Protocol]]s. Software means that you write to the SCL & SDA lines directly and the CPU/driver has to time everything itself. Hardware means you give it a byte or two to read/write and it goes away and does that and gets back to you with an interrupt when it's done. Unfortunately the hardware I²C does not support writing just one byte (the address byte but no data) so you cannot do safe write or read probes of I²C client addresses (it could confuse an I²C client that does not have sub addresses - e.g. a [[PLL]]).
The chip supports both 'software' and 'hardware' [[I²C Protocol]]s. Software means that you write to the SCL & SDA lines directly and the CPU/driver has to time everything itself. Hardware means you give it a byte or two to read/write and it goes away and does that and gets back to you with an interrupt when it's done. Unfortunately the hardware I²C does not support writing just one byte (the address byte but no data) so you cannot do safe write or read probes of I²C client addresses (it could confuse an I²C client that does not have sub addresses - e.g. a [[PLL]]).

Revision as of 04:10, 25 January 2012

A PCI interface chipset from Brooktree that provides video decoder functionality.

It is supported under Linux by the bttv kernel driver module.

Overview/Features

The Bt87x chip family were the direct successors of the popular Bt848 family of ICs, and were used by many analog cards produced in the later part of the 1990's; which collectively help constitute the Bttv devices categorization.

Brooktree Heritage

When Brooktree was purchased by Rockwell Semiconductor Systems, the IC family continued to be referred to simply as Bt87x. However, Rockwell Semiconductor Systems was subsequently spun off from its parent company a few years later, and, under the new Conexant Systems, Inc. banner, the ICs would begin to be rebranded in marketing literature as being part of Conexant's Fusion family -- i.e. they started to become referred to as the Fusion Bt878 and Fusion Bt879.

When Conexant would later expand its Fusion lineup with an updated version of the Bt878, the "Bt" part was no longer included in the newer product's nomenclature, and, instead, was released simply as the Fusion 878A.

Hardware Features

The Bt87x chip's design is largely based upon the Bt848A video decoder but are upgraded to also include several audio capture capabilities (summarized in the table below and discussed in further detail later on).

Bt87x decoder family comparison
Featured Bt878 Bt849A
All of Bt848A's features (i.e. Composite, S-Video multi-standard
Video Decoder and PCI bus master)
Yes Yes
Teletext support Yes Yes
Audio in Yes
mono
Yes
mono
TV Audio Yes
mono
Yes
stereo
FM Radio - Yes
stereo

The Bt878 A/V decoder is a multi-function PCI device; having both a video and audio function that feature direct memory access (DMA)/PCI bus master support. ('function' is a PCI term ... most PCI devices have only one of them...)

Note: In Linux, the two available PCI functions for the chip are illustrated by the output of the lspci command, whereby one should be returned something like:
0000:03:04.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
0000:03:04.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)

The DMA controller architecture design could be described as a small and pretty nice programmable RISC engine. Essenitally, you basically build into the device driver software a very simple RISC program (very RISC - has about 8 instructions) that copies data between the BT848 and your RAM. The two functions have different memory mappings although they have many similar registers - e.g. the I²C bus is only available via the video function, while the I²S bus is only available via the audio function.

The chip supports both 'software' and 'hardware' I²C Protocols. Software means that you write to the SCL & SDA lines directly and the CPU/driver has to time everything itself. Hardware means you give it a byte or two to read/write and it goes away and does that and gets back to you with an interrupt when it's done. Unfortunately the hardware I²C does not support writing just one byte (the address byte but no data) so you cannot do safe write or read probes of I²C client addresses (it could confuse an I²C client that does not have sub addresses - e.g. a PLL).

External links