arch/mips/include/asm/mach-db1x00/bcsr.h
Source file repositories/reference/linux-study-clean/arch/mips/include/asm/mach-db1x00/bcsr.h
File Facts
- System
- Linux kernel
- Corpus path
arch/mips/include/asm/mach-db1x00/bcsr.h- Extension
.h- Size
- 8083 bytes
- Lines
- 262
- 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
- No C-style include directives detected by the generator.
Detected Declarations
enum bcsr_idenum bcsr_whoami_boards
Annotated Snippet
#ifndef _DB1XXX_BCSR_H_
#define _DB1XXX_BCSR_H_
/* BCSR base addresses on various boards. BCSR base 2 refers to the
* physical address of the first HEXLEDS register, which is usually
* a variable offset from the WHOAMI register.
*/
/* DB1000, DB1100, DB1500, PB1100, PB1500 */
#define DB1000_BCSR_PHYS_ADDR 0x0E000000
#define DB1000_BCSR_HEXLED_OFS 0x01000000
#define DB1550_BCSR_PHYS_ADDR 0x0F000000
#define DB1550_BCSR_HEXLED_OFS 0x00400000
#define PB1550_BCSR_PHYS_ADDR 0x0F000000
#define PB1550_BCSR_HEXLED_OFS 0x00800000
#define DB1200_BCSR_PHYS_ADDR 0x19800000
#define DB1200_BCSR_HEXLED_OFS 0x00400000
#define PB1200_BCSR_PHYS_ADDR 0x0D800000
#define PB1200_BCSR_HEXLED_OFS 0x00400000
#define DB1300_BCSR_PHYS_ADDR 0x19800000
#define DB1300_BCSR_HEXLED_OFS 0x00400000
enum bcsr_id {
/* BCSR base 1 */
BCSR_WHOAMI = 0,
BCSR_STATUS,
BCSR_SWITCHES,
BCSR_RESETS,
BCSR_PCMCIA,
BCSR_BOARD,
BCSR_LEDS,
BCSR_SYSTEM,
/* Au1200/1300 based boards */
BCSR_INTCLR,
BCSR_INTSET,
BCSR_MASKCLR,
BCSR_MASKSET,
BCSR_SIGSTAT,
BCSR_INTSTAT,
/* BCSR base 2 */
BCSR_HEXLEDS,
BCSR_RSVD1,
BCSR_HEXCLEAR,
BCSR_CNT,
};
/* register offsets, valid for all Db1xxx/Pb1xxx boards */
#define BCSR_REG_WHOAMI 0x00
#define BCSR_REG_STATUS 0x04
#define BCSR_REG_SWITCHES 0x08
#define BCSR_REG_RESETS 0x0c
#define BCSR_REG_PCMCIA 0x10
#define BCSR_REG_BOARD 0x14
#define BCSR_REG_LEDS 0x18
#define BCSR_REG_SYSTEM 0x1c
/* Au1200/Au1300 based boards: CPLD IRQ muxer */
#define BCSR_REG_INTCLR 0x20
#define BCSR_REG_INTSET 0x24
#define BCSR_REG_MASKCLR 0x28
#define BCSR_REG_MASKSET 0x2c
#define BCSR_REG_SIGSTAT 0x30
#define BCSR_REG_INTSTAT 0x34
/* hexled control, offset from BCSR base 2 */
#define BCSR_REG_HEXLEDS 0x00
#define BCSR_REG_HEXCLEAR 0x08
/*
* Register Bits and Pieces.
*/
#define BCSR_WHOAMI_DCID(x) ((x) & 0xf)
#define BCSR_WHOAMI_CPLD(x) (((x) >> 4) & 0xf)
#define BCSR_WHOAMI_BOARD(x) (((x) >> 8) & 0xf)
/* register "WHOAMI" bits 11:8 identify the board */
enum bcsr_whoami_boards {
BCSR_WHOAMI_PB1500 = 1,
BCSR_WHOAMI_PB1500R2,
BCSR_WHOAMI_PB1100,
BCSR_WHOAMI_DB1000,
BCSR_WHOAMI_DB1100,
BCSR_WHOAMI_DB1500,
Annotation
- Detected declarations: `enum bcsr_id`, `enum bcsr_whoami_boards`.
- 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.