sound/soc/loongson/loongson_i2s.h

Source file repositories/reference/linux-study-clean/sound/soc/loongson/loongson_i2s.h

File Facts

System
Linux kernel
Corpus path
sound/soc/loongson/loongson_i2s.h
Extension
.h
Size
2208 bytes
Lines
73
Domain
Driver Families
Bucket
sound/soc
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 loongson_idma_data {
	dma_addr_t dev_addr;		/* device physical address for DMA */
	void __iomem *order_addr;	/* DMA order register */
	int irq;			/* DMA irq */
};

struct loongson_i2s {
	struct device *dev;
	union {
		struct snd_dmaengine_dai_dma_data playback_dma_data;
		struct loongson_idma_data tx_dma_data;
	};
	union {
		struct snd_dmaengine_dai_dma_data capture_dma_data;
		struct loongson_idma_data rx_dma_data;
	};
	struct regmap *regmap;
	void __iomem *reg_base;
	u32 rev_id;
	u32 clk_rate;
	u32 sysclk;
};

extern const struct regmap_config loongson_i2s_regmap_config;
extern const struct dev_pm_ops loongson_i2s_pm;
extern struct snd_soc_dai_driver loongson_i2s_dai;

#endif

Annotation

Implementation Notes