arch/sh/boards/mach-se/7722/setup.c

Source file repositories/reference/linux-study-clean/arch/sh/boards/mach-se/7722/setup.c

File Facts

System
Linux kernel
Corpus path
arch/sh/boards/mach-se/7722/setup.c
Extension
.c
Size
4794 bytes
Lines
191
Domain
Architecture Layer
Bucket
arch/sh
Inferred role
Architecture Layer: exported/initcall integration point
Status
integration 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

device_initcall(se7722_devices_setup);

static void __init se7722_setup(char **cmdline_p)
{
	__raw_writew(0x010D, FPGA_OUT);    /* FPGA */

	__raw_writew(0x0000, PORT_PECR);   /* PORT E 1 = IRQ5 ,E 0 = BS */
	__raw_writew(0x1000, PORT_PJCR);   /* PORT J 1 = IRQ1,J 0 =IRQ0 */

	/* LCDC I/O */
	__raw_writew(0x0020, PORT_PSELD);

	/* SIOF1*/
	__raw_writew(0x0003, PORT_PSELB);
	__raw_writew(0xe000, PORT_PSELC);
	__raw_writew(0x0000, PORT_PKCR);

	/* LCDC */
	__raw_writew(0x4020, PORT_PHCR);
	__raw_writew(0x0000, PORT_PLCR);
	__raw_writew(0x0000, PORT_PMCR);
	__raw_writew(0x0002, PORT_PRCR);
	__raw_writew(0x0000, PORT_PXCR);   /* LCDC,CS6A */

	/* KEYSC */
	__raw_writew(0x0A10, PORT_PSELA); /* BS,SHHID2 */
	__raw_writew(0x0000, PORT_PYCR);
	__raw_writew(0x0000, PORT_PZCR);
	__raw_writew(__raw_readw(PORT_HIZCRA) & ~0x4000, PORT_HIZCRA);
	__raw_writew(__raw_readw(PORT_HIZCRC) & ~0xc000, PORT_HIZCRC);
}

/*
 * The Machine Vector
 */
static struct sh_machine_vector mv_se7722 __initmv = {
	.mv_name                = "Solution Engine 7722" ,
	.mv_setup               = se7722_setup ,
	.mv_init_irq		= init_se7722_IRQ,
};

Annotation

Implementation Notes