arch/sh/include/cpu-sh3/cpu/gpio.h
Source file repositories/reference/linux-study-clean/arch/sh/include/cpu-sh3/cpu/gpio.h
File Facts
- System
- Linux kernel
- Corpus path
arch/sh/include/cpu-sh3/cpu/gpio.h- Extension
.h- Size
- 2108 bytes
- Lines
- 79
- Domain
- Architecture Layer
- Bucket
- arch/sh
- 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
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#ifndef _CPU_SH3_GPIO_H
#define _CPU_SH3_GPIO_H
#if defined(CONFIG_CPU_SUBTYPE_SH7720) || \
defined(CONFIG_CPU_SUBTYPE_SH7721)
/* Control registers */
#define PORT_PACR 0xA4050100UL
#define PORT_PBCR 0xA4050102UL
#define PORT_PCCR 0xA4050104UL
#define PORT_PDCR 0xA4050106UL
#define PORT_PECR 0xA4050108UL
#define PORT_PFCR 0xA405010AUL
#define PORT_PGCR 0xA405010CUL
#define PORT_PHCR 0xA405010EUL
#define PORT_PJCR 0xA4050110UL
#define PORT_PKCR 0xA4050112UL
#define PORT_PLCR 0xA4050114UL
#define PORT_PMCR 0xA4050116UL
#define PORT_PPCR 0xA4050118UL
#define PORT_PRCR 0xA405011AUL
#define PORT_PSCR 0xA405011CUL
#define PORT_PTCR 0xA405011EUL
#define PORT_PUCR 0xA4050120UL
#define PORT_PVCR 0xA4050122UL
/* Data registers */
#define PORT_PADR 0xA4050140UL
/* Address of PORT_PBDR is wrong in the datasheet, see errata 2005-09-21 */
#define PORT_PBDR 0xA4050142UL
#define PORT_PCDR 0xA4050144UL
#define PORT_PDDR 0xA4050146UL
#define PORT_PEDR 0xA4050148UL
#define PORT_PFDR 0xA405014AUL
#define PORT_PGDR 0xA405014CUL
#define PORT_PHDR 0xA405014EUL
#define PORT_PJDR 0xA4050150UL
#define PORT_PKDR 0xA4050152UL
#define PORT_PLDR 0xA4050154UL
#define PORT_PMDR 0xA4050156UL
#define PORT_PPDR 0xA4050158UL
#define PORT_PRDR 0xA405015AUL
#define PORT_PSDR 0xA405015CUL
#define PORT_PTDR 0xA405015EUL
#define PORT_PUDR 0xA4050160UL
#define PORT_PVDR 0xA4050162UL
/* Pin Select Registers */
#define PORT_PSELA 0xA4050124UL
#define PORT_PSELB 0xA4050126UL
#define PORT_PSELC 0xA4050128UL
#define PORT_PSELD 0xA405012AUL
#elif defined(CONFIG_CPU_SUBTYPE_SH7709)
/* Control registers */
#define PORT_PACR 0xa4000100UL
#define PORT_PBCR 0xa4000102UL
#define PORT_PCCR 0xa4000104UL
#define PORT_PFCR 0xa400010aUL
/* Data registers */
#define PORT_PADR 0xa4000120UL
#define PORT_PBDR 0xa4000122UL
#define PORT_PCDR 0xa4000124UL
#define PORT_PFDR 0xa400012aUL
#endif
#endif
Annotation
- Atlas domain: Architecture Layer / arch/sh.
- 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.