sound/soc/sof/mediatek/mt8195/mt8195.h
Source file repositories/reference/linux-study-clean/sound/soc/sof/mediatek/mt8195/mt8195.h
File Facts
- System
- Linux kernel
- Corpus path
sound/soc/sof/mediatek/mt8195/mt8195.h- Extension
.h- Size
- 5164 bytes
- Lines
- 162
- Domain
- Driver Families
- Bucket
- sound/soc
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
struct mtk_adsp_chip_infostruct snd_sof_dev
Annotated Snippet
#ifndef __MT8195_H
#define __MT8195_H
struct mtk_adsp_chip_info;
struct snd_sof_dev;
#define DSP_REG_BASE 0x10803000
#define SCP_CFGREG_BASE 0x10724000
#define DSP_SYSAO_BASE 0x1080C000
/*****************************************************************************
* R E G I S T E R TABLE
*****************************************************************************/
#define DSP_JTAGMUX 0x0000
#define DSP_ALTRESETVEC 0x0004
#define DSP_PDEBUGDATA 0x0008
#define DSP_PDEBUGBUS0 0x000c
#define PDEBUG_ENABLE BIT(0)
#define DSP_PDEBUGBUS1 0x0010
#define DSP_PDEBUGINST 0x0014
#define DSP_PDEBUGLS0STAT 0x0018
#define DSP_PDEBUGLS1STAT 0x001c
#define DSP_PDEBUGPC 0x0020
#define DSP_RESET_SW 0x0024 /*reset sw*/
#define ADSP_BRESET_SW BIT(0)
#define ADSP_DRESET_SW BIT(1)
#define ADSP_RUNSTALL BIT(3)
#define STATVECTOR_SEL BIT(4)
#define ADSP_PWAIT BIT(16)
#define DSP_PFAULTBUS 0x0028
#define DSP_PFAULTINFO 0x002c
#define DSP_GPR00 0x0030
#define DSP_GPR01 0x0034
#define DSP_GPR02 0x0038
#define DSP_GPR03 0x003c
#define DSP_GPR04 0x0040
#define DSP_GPR05 0x0044
#define DSP_GPR06 0x0048
#define DSP_GPR07 0x004c
#define DSP_GPR08 0x0050
#define DSP_GPR09 0x0054
#define DSP_GPR0A 0x0058
#define DSP_GPR0B 0x005c
#define DSP_GPR0C 0x0060
#define DSP_GPR0D 0x0064
#define DSP_GPR0E 0x0068
#define DSP_GPR0F 0x006c
#define DSP_GPR10 0x0070
#define DSP_GPR11 0x0074
#define DSP_GPR12 0x0078
#define DSP_GPR13 0x007c
#define DSP_GPR14 0x0080
#define DSP_GPR15 0x0084
#define DSP_GPR16 0x0088
#define DSP_GPR17 0x008c
#define DSP_GPR18 0x0090
#define DSP_GPR19 0x0094
#define DSP_GPR1A 0x0098
#define DSP_GPR1B 0x009c
#define DSP_GPR1C 0x00a0
#define DSP_GPR1D 0x00a4
#define DSP_GPR1E 0x00a8
#define DSP_GPR1F 0x00ac
#define DSP_TCM_OFFSET 0x00b0 /* not used */
#define DSP_DDR_OFFSET 0x00b4 /* not used */
#define DSP_INTFDSP 0x00d0
#define DSP_INTFDSP_CLR 0x00d4
#define DSP_SRAM_PD_SW1 0x00d8
#define DSP_SRAM_PD_SW2 0x00dc
#define DSP_OCD 0x00e0
#define DSP_RG_DSP_IRQ_POL 0x00f0 /* not used */
#define DSP_DSP_IRQ_EN 0x00f4 /* not used */
#define DSP_DSP_IRQ_LEVEL 0x00f8 /* not used */
#define DSP_DSP_IRQ_STATUS 0x00fc /* not used */
#define DSP_RG_INT2CIRQ 0x0114
#define DSP_RG_INT_POL_CTL0 0x0120
#define DSP_RG_INT_EN_CTL0 0x0130
#define DSP_RG_INT_LV_CTL0 0x0140
#define DSP_RG_INT_STATUS0 0x0150
#define DSP_PDEBUGSTATUS0 0x0200
#define DSP_PDEBUGSTATUS1 0x0204
#define DSP_PDEBUGSTATUS2 0x0208
#define DSP_PDEBUGSTATUS3 0x020c
#define DSP_PDEBUGSTATUS4 0x0210
#define DSP_PDEBUGSTATUS5 0x0214
#define DSP_PDEBUGSTATUS6 0x0218
#define DSP_PDEBUGSTATUS7 0x021c
#define DSP_DSP2PSRAM_PRIORITY 0x0220 /* not used */
#define DSP_AUDIO_DSP2SPM_INT 0x0224
#define DSP_AUDIO_DSP2SPM_INT_ACK 0x0228
Annotation
- Detected declarations: `struct mtk_adsp_chip_info`, `struct snd_sof_dev`.
- Atlas domain: Driver Families / sound/soc.
- 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.