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.
- CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- Exports symbols or registers init work; inspect boot/module ordering and who consumes the exported contract.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/init.hlinux/platform_device.hlinux/ata_platform.hlinux/input.hlinux/input/sh_keysc.hlinux/irqdomain.hlinux/smc91x.hlinux/sh_intc.hmach-se/mach/se7722.hmach-se/mach/mrshpc.hasm/machvec.hasm/clock.hasm/io.hasm/heartbeat.hcpu/sh7722.h
Detected Declarations
function se7722_devices_setupfunction se7722_setupmodule init se7722_devices_setup
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
- Immediate include surface: `linux/init.h`, `linux/platform_device.h`, `linux/ata_platform.h`, `linux/input.h`, `linux/input/sh_keysc.h`, `linux/irqdomain.h`, `linux/smc91x.h`, `linux/sh_intc.h`.
- Detected declarations: `function se7722_devices_setup`, `function se7722_setup`, `module init se7722_devices_setup`.
- Atlas domain: Architecture Layer / arch/sh.
- Implementation status: integration implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.