drivers/media/tuners/xc2028-types.h
Source file repositories/reference/linux-study-clean/drivers/media/tuners/xc2028-types.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/tuners/xc2028-types.h- Extension
.h- Size
- 4443 bytes
- Lines
- 143
- Domain
- Driver Families
- Bucket
- drivers/media
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#define BASE (1<<0)
#define BASE_TYPES (BASE|F8MHZ|MTS|FM|INPUT1|INPUT2|INIT1)
/* F8MHZ marks BASE firmwares for 8 MHz Bandwidth */
#define F8MHZ (1<<1)
/* Multichannel Television Sound (MTS)
Those firmwares are capable of using xc2038 DSP to decode audio and
produce a baseband audio output on some pins of the chip.
There are MTS firmwares for the most used video standards. It should be
required to use MTS firmwares, depending on the way audio is routed into
the bridge chip
*/
#define MTS (1<<2)
/* FIXME: I have no idea what's the difference between
D2620 and D2633 firmwares
*/
#define D2620 (1<<3)
#define D2633 (1<<4)
/* DTV firmwares for 6, 7 and 8 MHz
DTV6 - 6MHz - ATSC/DVB-C/DVB-T/ISDB-T/DOCSIS
DTV8 - 8MHz - DVB-C/DVB-T
*/
#define DTV6 (1 << 5)
#define QAM (1 << 6)
#define DTV7 (1<<7)
#define DTV78 (1<<8)
#define DTV8 (1<<9)
#define DTV_TYPES (D2620|D2633|DTV6|QAM|DTV7|DTV78|DTV8|ATSC)
/* There's a FM | BASE firmware + FM specific firmware (std=0) */
#define FM (1<<10)
#define STD_SPECIFIC_TYPES (MTS|FM|LCD|NOGD)
/* Applies only for FM firmware
Makes it use RF input 1 (pin #2) instead of input 2 (pin #4)
*/
#define INPUT1 (1<<11)
/* LCD firmwares exist only for MTS STD/MN (PAL or NTSC/M)
and for non-MTS STD/MN (PAL, NTSC/M or NTSC/Kr)
There are variants both with and without NOGD
Those firmwares produce better result with LCD displays
*/
#define LCD (1<<12)
/* NOGD firmwares exist only for MTS STD/MN (PAL or NTSC/M)
and for non-MTS STD/MN (PAL, NTSC/M or NTSC/Kr)
The NOGD firmwares don't have group delay compensation filter
*/
#define NOGD (1<<13)
/* Old firmwares were broken into init0 and init1 */
#define INIT1 (1<<14)
/* SCODE firmware selects particular behaviours */
#define MONO (1 << 15)
#define ATSC (1 << 16)
#define IF (1 << 17)
#define LG60 (1 << 18)
#define ATI638 (1 << 19)
#define OREN538 (1 << 20)
#define OREN36 (1 << 21)
#define TOYOTA388 (1 << 22)
#define TOYOTA794 (1 << 23)
#define DIBCOM52 (1 << 24)
#define ZARLINK456 (1 << 25)
#define CHINA (1 << 26)
#define F6MHZ (1 << 27)
#define INPUT2 (1 << 28)
#define SCODE (1 << 29)
/* This flag identifies that the scode table has a new format */
#define HAS_IF (1 << 30)
/* There are different scode tables for MTS and non-MTS.
The MTS firmwares support mono only
*/
#define SCODE_TYPES (SCODE | MTS)
/* Newer types not defined on videodev2.h.
The original idea were to move all those types to videodev2.h, but
it seemed overkill, since, with the exception of SECAM/K3, the other
types seem to be autodetected.
Annotation
- Atlas domain: Driver Families / drivers/media.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.