drivers/staging/media/ipu7/ipu7-platform-regs.h
Source file repositories/reference/linux-study-clean/drivers/staging/media/ipu7/ipu7-platform-regs.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/staging/media/ipu7/ipu7-platform-regs.h- Extension
.h- Size
- 2394 bytes
- Lines
- 83
- Domain
- Driver Families
- Bucket
- drivers/staging
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
enum ipu7_device_buttress_psys_domain_pos
Annotated Snippet
#ifndef IPU7_PLATFORM_REGS_H
#define IPU7_PLATFORM_REGS_H
#define IS_BASE 0x230000
#define IS_UC_CTRL_BASE (IS_BASE + 0x0)
#define PS_BASE 0x130000
#define PS_UC_CTRL_BASE (PS_BASE + 0x0)
/*
* bit 0: IRQ from FW,
* bit 1, 2 and 3: IRQ from HW
*/
#define TO_SW_IRQ_MASK 0xf
#define TO_SW_IRQ_FW BIT(0)
#define FW_CODE_BASE 0x0
#define FW_DATA_BASE 0x4
#define PRINTF_EN_THROUGH_TRACE 0x3004
#define PRINTF_EN_DIRECTLY_TO_DDR 0x3008
#define PRINTF_DDR_BASE_ADDR 0x300c
#define PRINTF_DDR_SIZE 0x3010
#define PRINTF_DDR_NEXT_ADDR 0x3014
#define PRINTF_STATUS 0x3018
#define PRINTF_AXI_CNTL 0x301c
#define PRINTF_MSG_LENGTH 0x3020
#define TO_SW_IRQ_CNTL_EDGE 0x4000
#define TO_SW_IRQ_CNTL_MASK_N 0x4004
#define TO_SW_IRQ_CNTL_STATUS 0x4008
#define TO_SW_IRQ_CNTL_CLEAR 0x400c
#define TO_SW_IRQ_CNTL_ENABLE 0x4010
#define TO_SW_IRQ_CNTL_LEVEL_NOT_PULSE 0x4014
#define ERR_IRQ_CNTL_EDGE 0x4018
#define ERR_IRQ_CNTL_MASK_N 0x401c
#define ERR_IRQ_CNTL_STATUS 0x4020
#define ERR_IRQ_CNTL_CLEAR 0x4024
#define ERR_IRQ_CNTL_ENABLE 0x4028
#define ERR_IRQ_CNTL_LEVEL_NOT_PULSE 0x402c
#define LOCAL_DMEM_BASE_ADDR 0x1300000
/*
* IS_UC_TO_SW irqs
* bit 0: IRQ from local FW
* bit 1~3: IRQ from HW
*/
#define IS_UC_TO_SW_IRQ_MASK 0xf
#define IPU_ISYS_SPC_OFFSET 0x210000
#define IPU7_PSYS_SPC_OFFSET 0x118000
#define IPU_ISYS_DMEM_OFFSET 0x200000
#define IPU_PSYS_DMEM_OFFSET 0x100000
#define IPU7_ISYS_CSI_PORT_NUM 4
/* IRQ-related registers in PSYS */
#define IPU_REG_PSYS_TO_SW_IRQ_CNTL_EDGE 0x134000
#define IPU_REG_PSYS_TO_SW_IRQ_CNTL_MASK 0x134004
#define IPU_REG_PSYS_TO_SW_IRQ_CNTL_STATUS 0x134008
#define IPU_REG_PSYS_TO_SW_IRQ_CNTL_CLEAR 0x13400c
#define IPU_REG_PSYS_TO_SW_IRQ_CNTL_ENABLE 0x134010
#define IPU_REG_PSYS_TO_SW_IRQ_CNTL_LEVEL_NOT_PULSE 0x134014
#define IRQ_FROM_LOCAL_FW BIT(0)
/*
* psys subdomains power request regs
*/
enum ipu7_device_buttress_psys_domain_pos {
IPU_PSYS_SUBDOMAIN_LB = 0,
IPU_PSYS_SUBDOMAIN_BB = 1,
};
#define IPU7_PSYS_DOMAIN_POWER_MASK (BIT(IPU_PSYS_SUBDOMAIN_LB) | \
BIT(IPU_PSYS_SUBDOMAIN_BB))
#define IPU8_PSYS_DOMAIN_POWER_MASK BIT(IPU_PSYS_SUBDOMAIN_LB)
#define IPU_PSYS_DOMAIN_POWER_IN_PROGRESS BIT(31)
#endif /* IPU7_PLATFORM_REGS_H */
Annotation
- Detected declarations: `enum ipu7_device_buttress_psys_domain_pos`.
- Atlas domain: Driver Families / drivers/staging.
- 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.