sound/mips/hal2.h

Source file repositories/reference/linux-study-clean/sound/mips/hal2.h

File Facts

System
Linux kernel
Corpus path
sound/mips/hal2.h
Extension
.h
Size
7786 bytes
Lines
233
Domain
Driver Families
Bucket
sound/mips
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

struct hal2_ctl_regs {
	u32 _unused0[4];
	u32 isr;		/* 0x10 Status Register */
	u32 _unused1[3];
	u32 rev;		/* 0x20 Revision Register */
	u32 _unused2[3];
	u32 iar;		/* 0x30 Indirect Address Register */
	u32 _unused3[3];
	u32 idr0;		/* 0x40 Indirect Data Register 0 */
	u32 _unused4[3];
	u32 idr1;		/* 0x50 Indirect Data Register 1 */
	u32 _unused5[3];
	u32 idr2;		/* 0x60 Indirect Data Register 2 */
	u32 _unused6[3];
	u32 idr3;		/* 0x70 Indirect Data Register 3 */
};

struct hal2_aes_regs {
	u32 rx_stat[2];	/* Status registers */
	u32 rx_cr[2];		/* Control registers */
	u32 rx_ud[4];		/* User data window */
	u32 rx_st[24];		/* Channel status data */

	u32 tx_stat[1];	/* Status register */
	u32 tx_cr[3];		/* Control registers */
	u32 tx_ud[4];		/* User data window */
	u32 tx_st[24];		/* Channel status data */
};

struct hal2_vol_regs {
	u32 right;		/* Right volume */
	u32 left;		/* Left volume */
};

struct hal2_syn_regs {
	u32 _unused0[2];
	u32 page;		/* DOC Page register */
	u32 regsel;		/* DOC Register selection */
	u32 dlow;		/* DOC Data low */
	u32 dhigh;		/* DOC Data high */
	u32 irq;		/* IRQ Status */
	u32 dram;		/* DRAM Access */
};

#endif	/* __HAL2_H */

Annotation

Implementation Notes