drivers/bus/da8xx-mstpri.c

Source file repositories/reference/linux-study-clean/drivers/bus/da8xx-mstpri.c

File Facts

System
Linux kernel
Corpus path
drivers/bus/da8xx-mstpri.c
Extension
.c
Size
6066 bytes
Lines
265
Domain
Driver Families
Bucket
drivers/bus
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 da8xx_mstpri_descr {
	int reg;
	int shift;
	int mask;
};

static const struct da8xx_mstpri_descr da8xx_mstpri_priority_list[] = {
	[DA8XX_MSTPRI_ARM_I] = {
		.reg = DA8XX_MSTPRI0_OFFSET,
		.shift = 0,
		.mask = 0x0000000f,
	},
	[DA8XX_MSTPRI_ARM_D] = {
		.reg = DA8XX_MSTPRI0_OFFSET,
		.shift = 4,
		.mask = 0x000000f0,
	},
	[DA8XX_MSTPRI_UPP] = {
		.reg = DA8XX_MSTPRI0_OFFSET,
		.shift = 16,
		.mask = 0x000f0000,
	},
	[DA8XX_MSTPRI_SATA] = {
		.reg = DA8XX_MSTPRI0_OFFSET,
		.shift = 20,
		.mask = 0x00f00000,
	},
	[DA8XX_MSTPRI_PRU0] = {
		.reg = DA8XX_MSTPRI1_OFFSET,
		.shift = 0,
		.mask = 0x0000000f,
	},
	[DA8XX_MSTPRI_PRU1] = {
		.reg = DA8XX_MSTPRI1_OFFSET,
		.shift = 4,
		.mask = 0x000000f0,
	},
	[DA8XX_MSTPRI_EDMA30TC0] = {
		.reg = DA8XX_MSTPRI1_OFFSET,
		.shift = 8,
		.mask = 0x00000f00,
	},
	[DA8XX_MSTPRI_EDMA30TC1] = {
		.reg = DA8XX_MSTPRI1_OFFSET,
		.shift = 12,
		.mask = 0x0000f000,
	},
	[DA8XX_MSTPRI_EDMA31TC0] = {
		.reg = DA8XX_MSTPRI1_OFFSET,
		.shift = 16,
		.mask = 0x000f0000,
	},
	[DA8XX_MSTPRI_VPIF_DMA_0] = {
		.reg = DA8XX_MSTPRI1_OFFSET,
		.shift = 24,
		.mask = 0x0f000000,
	},
	[DA8XX_MSTPRI_VPIF_DMA_1] = {
		.reg = DA8XX_MSTPRI1_OFFSET,
		.shift = 28,
		.mask = 0xf0000000,
	},
	[DA8XX_MSTPRI_EMAC] = {
		.reg = DA8XX_MSTPRI2_OFFSET,
		.shift = 0,
		.mask = 0x0000000f,
	},
	[DA8XX_MSTPRI_USB0CFG] = {
		.reg = DA8XX_MSTPRI2_OFFSET,
		.shift = 8,
		.mask = 0x00000f00,
	},
	[DA8XX_MSTPRI_USB0CDMA] = {
		.reg = DA8XX_MSTPRI2_OFFSET,
		.shift = 12,
		.mask = 0x0000f000,
	},
	[DA8XX_MSTPRI_UHPI] = {
		.reg = DA8XX_MSTPRI2_OFFSET,
		.shift = 20,
		.mask = 0x00f00000,
	},
	[DA8XX_MSTPRI_USB1] = {
		.reg = DA8XX_MSTPRI2_OFFSET,
		.shift = 24,
		.mask = 0x0f000000,
	},
	[DA8XX_MSTPRI_LCDC] = {
		.reg = DA8XX_MSTPRI2_OFFSET,
		.shift = 28,

Annotation

Implementation Notes