arch/mips/pic32/pic32mzda/early_pin.c
Source file repositories/reference/linux-study-clean/arch/mips/pic32/pic32mzda/early_pin.c
File Facts
- System
- Linux kernel
- Corpus path
arch/mips/pic32/pic32mzda/early_pin.c- Extension
.c- Size
- 5775 bytes
- Lines
- 268
- 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.
- CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
Dependency Surface
asm/io.hearly_pin.h
Detected Declarations
function pic32_pps_inputfunction pic32_pps_output
Annotated Snippet
if (input_pin_reg[i].function == function) {
__raw_writel(pin, pps_base + input_pin_reg[i].reg);
return;
}
}
iounmap(pps_base);
}
/* Output PPS Registers */
#define RPA14R 0x1538
#define RPA15R 0x153C
#define RPB0R 0x1540
#define RPB1R 0x1544
#define RPB2R 0x1548
#define RPB3R 0x154C
#define RPB5R 0x1554
#define RPB6R 0x1558
#define RPB7R 0x155C
#define RPB8R 0x1560
#define RPB9R 0x1564
#define RPB10R 0x1568
#define RPB14R 0x1578
#define RPB15R 0x157C
#define RPC1R 0x1584
#define RPC2R 0x1588
#define RPC3R 0x158C
#define RPC4R 0x1590
#define RPC13R 0x15B4
#define RPC14R 0x15B8
#define RPD0R 0x15C0
#define RPD1R 0x15C4
#define RPD2R 0x15C8
#define RPD3R 0x15CC
#define RPD4R 0x15D0
#define RPD5R 0x15D4
#define RPD6R 0x15D8
#define RPD7R 0x15DC
#define RPD9R 0x15E4
#define RPD10R 0x15E8
#define RPD11R 0x15EC
#define RPD12R 0x15F0
#define RPD14R 0x15F8
#define RPD15R 0x15FC
#define RPE3R 0x160C
#define RPE5R 0x1614
#define RPE8R 0x1620
#define RPE9R 0x1624
#define RPF0R 0x1640
#define RPF1R 0x1644
#define RPF2R 0x1648
#define RPF3R 0x164C
#define RPF4R 0x1650
#define RPF5R 0x1654
#define RPF8R 0x1660
#define RPF12R 0x1670
#define RPF13R 0x1674
#define RPG0R 0x1680
#define RPG1R 0x1684
#define RPG6R 0x1698
#define RPG7R 0x169C
#define RPG8R 0x16A0
#define RPG9R 0x16A4
static const struct
{
int pin;
int reg;
} output_pin_reg[] = {
{ OUT_RPD2, RPD2R },
{ OUT_RPG8, RPG8R },
{ OUT_RPF4, RPF4R },
{ OUT_RPD10, RPD10R },
{ OUT_RPF1, RPF1R },
{ OUT_RPB9, RPB9R },
{ OUT_RPB10, RPB10R },
{ OUT_RPC14, RPC14R },
{ OUT_RPB5, RPB5R },
{ OUT_RPC1, RPC1R },
{ OUT_RPD14, RPD14R },
{ OUT_RPG1, RPG1R },
{ OUT_RPA14, RPA14R },
{ OUT_RPD6, RPD6R },
{ OUT_RPD3, RPD3R },
{ OUT_RPG7, RPG7R },
{ OUT_RPF5, RPF5R },
{ OUT_RPD11, RPD11R },
{ OUT_RPF0, RPF0R },
{ OUT_RPB1, RPB1R },
{ OUT_RPE5, RPE5R },
Annotation
- Immediate include surface: `asm/io.h`, `early_pin.h`.
- Detected declarations: `function pic32_pps_input`, `function pic32_pps_output`.
- Atlas domain: Architecture Layer / arch/mips.
- Implementation status: source 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.