drivers/media/pci/saa7134/saa7134-reg.h

Source file repositories/reference/linux-study-clean/drivers/media/pci/saa7134/saa7134-reg.h

File Facts

System
Linux kernel
Corpus path
drivers/media/pci/saa7134/saa7134-reg.h
Extension
.h
Size
17911 bytes
Lines
378
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.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef PCI_DEVICE_ID_PHILIPS_SAA7130
# define PCI_DEVICE_ID_PHILIPS_SAA7130 0x7130
#endif
#ifndef PCI_DEVICE_ID_PHILIPS_SAA7133
# define PCI_DEVICE_ID_PHILIPS_SAA7133 0x7133
#endif
#ifndef PCI_DEVICE_ID_PHILIPS_SAA7134
# define PCI_DEVICE_ID_PHILIPS_SAA7134 0x7134
#endif
#ifndef PCI_DEVICE_ID_PHILIPS_SAA7135
# define PCI_DEVICE_ID_PHILIPS_SAA7135 0x7135
#endif

/* ------------------------------------------------------------------ */
/*
 *  registers -- 32 bit
 */

/* DMA channels, n = 0 ... 6 */
#define SAA7134_RS_BA1(n)			((0x200 >> 2) + 4*n)
#define SAA7134_RS_BA2(n)			((0x204 >> 2) + 4*n)
#define SAA7134_RS_PITCH(n)			((0x208 >> 2) + 4*n)
#define SAA7134_RS_CONTROL(n)			((0x20c >> 2) + 4*n)
#define   SAA7134_RS_CONTROL_WSWAP		(0x01 << 25)
#define   SAA7134_RS_CONTROL_BSWAP		(0x01 << 24)
#define   SAA7134_RS_CONTROL_BURST_2		(0x01 << 21)
#define   SAA7134_RS_CONTROL_BURST_4		(0x02 << 21)
#define   SAA7134_RS_CONTROL_BURST_8		(0x03 << 21)
#define   SAA7134_RS_CONTROL_BURST_16		(0x04 << 21)
#define   SAA7134_RS_CONTROL_BURST_32		(0x05 << 21)
#define   SAA7134_RS_CONTROL_BURST_64		(0x06 << 21)
#define   SAA7134_RS_CONTROL_BURST_MAX		(0x07 << 21)
#define   SAA7134_RS_CONTROL_ME			(0x01 << 20)
#define SAA7134_FIFO_SIZE                       (0x2a0 >> 2)
#define SAA7134_THRESHOULD                      (0x2a4 >> 2)

#define SAA7133_NUM_SAMPLES			(0x588 >> 2)
#define SAA7133_AUDIO_CHANNEL			(0x58c >> 2)
#define SAA7133_AUDIO_FORMAT			(0x58f >> 2)
#define SAA7133_DIGITAL_OUTPUT_SEL1		(0x46c >> 2)
#define SAA7133_DIGITAL_OUTPUT_SEL2		(0x470 >> 2)
#define SAA7133_DIGITAL_INPUT_XBAR1		(0x464 >> 2)
#define SAA7133_ANALOG_IO_SELECT                (0x594 >> 2)

/* main control */
#define SAA7134_MAIN_CTRL                       (0x2a8 >> 2)
#define   SAA7134_MAIN_CTRL_VPLLE		(1 << 15)
#define   SAA7134_MAIN_CTRL_APLLE		(1 << 14)
#define   SAA7134_MAIN_CTRL_EXOSC		(1 << 13)
#define   SAA7134_MAIN_CTRL_EVFE1		(1 << 12)
#define   SAA7134_MAIN_CTRL_EVFE2		(1 << 11)
#define   SAA7134_MAIN_CTRL_ESFE		(1 << 10)
#define   SAA7134_MAIN_CTRL_EBADC		(1 << 9)
#define   SAA7134_MAIN_CTRL_EBDAC		(1 << 8)
#define   SAA7134_MAIN_CTRL_TE6			(1 << 6)
#define   SAA7134_MAIN_CTRL_TE5			(1 << 5)
#define   SAA7134_MAIN_CTRL_TE4			(1 << 4)
#define   SAA7134_MAIN_CTRL_TE3			(1 << 3)
#define   SAA7134_MAIN_CTRL_TE2			(1 << 2)
#define   SAA7134_MAIN_CTRL_TE1			(1 << 1)
#define   SAA7134_MAIN_CTRL_TE0			(1 << 0)

/* DMA status */
#define SAA7134_DMA_STATUS                      (0x2ac >> 2)

/* audio / video status */
#define SAA7134_AV_STATUS			(0x2c0 >> 2)
#define   SAA7134_AV_STATUS_STEREO		(1 << 17)
#define   SAA7134_AV_STATUS_DUAL                (1 << 16)
#define   SAA7134_AV_STATUS_PILOT               (1 << 15)
#define   SAA7134_AV_STATUS_SMB                 (1 << 14)
#define   SAA7134_AV_STATUS_DMB                 (1 << 13)
#define   SAA7134_AV_STATUS_VDSP                (1 << 12)
#define   SAA7134_AV_STATUS_IIC_STATUS          (3 << 10)
#define   SAA7134_AV_STATUS_MVM                 (7 << 7)
#define   SAA7134_AV_STATUS_FIDT                (1 << 6)
#define   SAA7134_AV_STATUS_INTL                (1 << 5)
#define   SAA7134_AV_STATUS_RDCAP               (1 << 4)
#define   SAA7134_AV_STATUS_PWR_ON              (1 << 3)
#define   SAA7134_AV_STATUS_LOAD_ERR            (1 << 2)
#define   SAA7134_AV_STATUS_TRIG_ERR            (1 << 1)
#define   SAA7134_AV_STATUS_CONF_ERR            (1 << 0)

/* interrupt */
#define SAA7134_IRQ1                            (0x2c4 >> 2)
#define   SAA7134_IRQ1_INTE_RA3_1               (1 << 25)
#define   SAA7134_IRQ1_INTE_RA3_0               (1 << 24)
#define   SAA7134_IRQ1_INTE_RA2_3               (1 << 19)
#define   SAA7134_IRQ1_INTE_RA2_2               (1 << 18)
#define   SAA7134_IRQ1_INTE_RA2_1               (1 << 17)

Annotation

Implementation Notes