arch/mips/include/asm/xtalk/xwidget.h

Source file repositories/reference/linux-study-clean/arch/mips/include/asm/xtalk/xwidget.h

File Facts

System
Linux kernel
Corpus path
arch/mips/include/asm/xtalk/xwidget.h
Extension
.h
Size
7680 bytes
Lines
280
Domain
Architecture Layer
Bucket
arch/mips
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

struct widget_ident {
	u32 mfgr;
	u32 part;
	char *name;
	char *revs[16];
};

/* Known Xtalk Widgets */
static const struct widget_ident __initconst widget_idents[] = {
	{
		WIDGET_XBOW_MFGR_NUM,
		WIDGET_XBOW_PART_NUM,
		"xbow",
		{NULL, "1.0", "1.1", "1.2", "1.3", "2.0", NULL},
	},
	{
		WIDGET_HEART_MFGR_NUM,
		WIDGET_HEART_PART_NUM,
		"heart",
		{NULL, "A", "B", "C", "D", "E", "F", NULL},
	},
	{
		WIDGET_BRIDG_MFGR_NUM,
		WIDGET_BRIDG_PART_NUM,
		"bridge",
		{NULL, "A", "B", "C", "D", NULL},
	},
	{
		WIDGET_IMPCT_MFGR_NUM,
		WIDGET_IMPCT_PART_NUM,
		"impact",
		{NULL, "A", "B", NULL},
	},
	{
		WIDGET_ODYS_MFGR_NUM,
		WIDGET_ODYS_PART_NUM,
		"odyssey",
		{NULL, "A", "B", NULL},
	},
	{
		WIDGET_HUB_MFGR_NUM,
		WIDGET_HUB_PART_NUM,
		"hub",
		{NULL, "1.0", "2.0", "2.1", "2.2", "2.3", "2.4", NULL},
	},
	{
		WIDGET_KONA_MFGR_NUM,
		WIDGET_KONA_PART_NUM,
		"kona",
		{NULL},
	},
	{
		WIDGET_BDRCK_MFGR_NUM,
		WIDGET_BDRCK_PART_NUM,
		"bedrock",
		{NULL, "1.0", "1.1", NULL},
	},
	{
		WIDGET_TPU_MFGR_NUM,
		WIDGET_TPU_PART_NUM,
		"tpu",
		{"0", NULL},
	},
	{
		WIDGET_XXBOW_MFGR_NUM,
		WIDGET_XXBOW_PART_NUM,
		"xxbow",
		{NULL, "1.0", "2.0", NULL},
	},
	{
		WIDGET_XBRDG_MFGR_NUM,
		WIDGET_XBRDG_PART_NUM,
		"xbridge",
		{NULL, "A", "B", NULL},
	},
	{
		WIDGET_NULL_MFGR_NUM,
		WIDGET_NULL_PART_NUM,
		NULL,
		{NULL},
	}
};

/*
 * according to the crosstalk spec, only 32-bits access to the widget
 * configuration registers is allowed.	some widgets may allow 64-bits
 * access but software should not depend on it.	 registers beyond the
 * widget target flush register are widget dependent thus will not be
 * defined here
 */

Annotation

Implementation Notes