include/linux/mfd/wm8400-audio.h
Source file repositories/reference/linux-study-clean/include/linux/mfd/wm8400-audio.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/mfd/wm8400-audio.h- Extension
.h- Size
- 70819 bytes
- Lines
- 1175
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/mfd/wm8400-audio.h
Detected Declarations
struct wm8400
Annotated Snippet
#ifndef __LINUX_MFD_WM8400_AUDIO_H
#define __LINUX_MFD_WM8400_AUDIO_H
#include <linux/mfd/wm8400-audio.h>
/*
* R2 (0x02) - Power Management (1)
*/
#define WM8400_CODEC_ENA 0x8000 /* CODEC_ENA */
#define WM8400_CODEC_ENA_MASK 0x8000 /* CODEC_ENA */
#define WM8400_CODEC_ENA_SHIFT 15 /* CODEC_ENA */
#define WM8400_CODEC_ENA_WIDTH 1 /* CODEC_ENA */
#define WM8400_SYSCLK_ENA 0x4000 /* SYSCLK_ENA */
#define WM8400_SYSCLK_ENA_MASK 0x4000 /* SYSCLK_ENA */
#define WM8400_SYSCLK_ENA_SHIFT 14 /* SYSCLK_ENA */
#define WM8400_SYSCLK_ENA_WIDTH 1 /* SYSCLK_ENA */
#define WM8400_SPK_MIX_ENA 0x2000 /* SPK_MIX_ENA */
#define WM8400_SPK_MIX_ENA_MASK 0x2000 /* SPK_MIX_ENA */
#define WM8400_SPK_MIX_ENA_SHIFT 13 /* SPK_MIX_ENA */
#define WM8400_SPK_MIX_ENA_WIDTH 1 /* SPK_MIX_ENA */
#define WM8400_SPK_ENA 0x1000 /* SPK_ENA */
#define WM8400_SPK_ENA_MASK 0x1000 /* SPK_ENA */
#define WM8400_SPK_ENA_SHIFT 12 /* SPK_ENA */
#define WM8400_SPK_ENA_WIDTH 1 /* SPK_ENA */
#define WM8400_OUT3_ENA 0x0800 /* OUT3_ENA */
#define WM8400_OUT3_ENA_MASK 0x0800 /* OUT3_ENA */
#define WM8400_OUT3_ENA_SHIFT 11 /* OUT3_ENA */
#define WM8400_OUT3_ENA_WIDTH 1 /* OUT3_ENA */
#define WM8400_OUT4_ENA 0x0400 /* OUT4_ENA */
#define WM8400_OUT4_ENA_MASK 0x0400 /* OUT4_ENA */
#define WM8400_OUT4_ENA_SHIFT 10 /* OUT4_ENA */
#define WM8400_OUT4_ENA_WIDTH 1 /* OUT4_ENA */
#define WM8400_LOUT_ENA 0x0200 /* LOUT_ENA */
#define WM8400_LOUT_ENA_MASK 0x0200 /* LOUT_ENA */
#define WM8400_LOUT_ENA_SHIFT 9 /* LOUT_ENA */
#define WM8400_LOUT_ENA_WIDTH 1 /* LOUT_ENA */
#define WM8400_ROUT_ENA 0x0100 /* ROUT_ENA */
#define WM8400_ROUT_ENA_MASK 0x0100 /* ROUT_ENA */
#define WM8400_ROUT_ENA_SHIFT 8 /* ROUT_ENA */
#define WM8400_ROUT_ENA_WIDTH 1 /* ROUT_ENA */
#define WM8400_MIC1BIAS_ENA 0x0010 /* MIC1BIAS_ENA */
#define WM8400_MIC1BIAS_ENA_MASK 0x0010 /* MIC1BIAS_ENA */
#define WM8400_MIC1BIAS_ENA_SHIFT 4 /* MIC1BIAS_ENA */
#define WM8400_MIC1BIAS_ENA_WIDTH 1 /* MIC1BIAS_ENA */
#define WM8400_VMID_MODE_MASK 0x0006 /* VMID_MODE - [2:1] */
#define WM8400_VMID_MODE_SHIFT 1 /* VMID_MODE - [2:1] */
#define WM8400_VMID_MODE_WIDTH 2 /* VMID_MODE - [2:1] */
#define WM8400_VREF_ENA 0x0001 /* VREF_ENA */
#define WM8400_VREF_ENA_MASK 0x0001 /* VREF_ENA */
#define WM8400_VREF_ENA_SHIFT 0 /* VREF_ENA */
#define WM8400_VREF_ENA_WIDTH 1 /* VREF_ENA */
/*
* R3 (0x03) - Power Management (2)
*/
#define WM8400_FLL_ENA 0x8000 /* FLL_ENA */
#define WM8400_FLL_ENA_MASK 0x8000 /* FLL_ENA */
#define WM8400_FLL_ENA_SHIFT 15 /* FLL_ENA */
#define WM8400_FLL_ENA_WIDTH 1 /* FLL_ENA */
#define WM8400_TSHUT_ENA 0x4000 /* TSHUT_ENA */
#define WM8400_TSHUT_ENA_MASK 0x4000 /* TSHUT_ENA */
#define WM8400_TSHUT_ENA_SHIFT 14 /* TSHUT_ENA */
#define WM8400_TSHUT_ENA_WIDTH 1 /* TSHUT_ENA */
#define WM8400_TSHUT_OPDIS 0x2000 /* TSHUT_OPDIS */
#define WM8400_TSHUT_OPDIS_MASK 0x2000 /* TSHUT_OPDIS */
#define WM8400_TSHUT_OPDIS_SHIFT 13 /* TSHUT_OPDIS */
#define WM8400_TSHUT_OPDIS_WIDTH 1 /* TSHUT_OPDIS */
#define WM8400_OPCLK_ENA 0x0800 /* OPCLK_ENA */
#define WM8400_OPCLK_ENA_MASK 0x0800 /* OPCLK_ENA */
#define WM8400_OPCLK_ENA_SHIFT 11 /* OPCLK_ENA */
#define WM8400_OPCLK_ENA_WIDTH 1 /* OPCLK_ENA */
#define WM8400_AINL_ENA 0x0200 /* AINL_ENA */
#define WM8400_AINL_ENA_MASK 0x0200 /* AINL_ENA */
#define WM8400_AINL_ENA_SHIFT 9 /* AINL_ENA */
#define WM8400_AINL_ENA_WIDTH 1 /* AINL_ENA */
#define WM8400_AINR_ENA 0x0100 /* AINR_ENA */
#define WM8400_AINR_ENA_MASK 0x0100 /* AINR_ENA */
#define WM8400_AINR_ENA_SHIFT 8 /* AINR_ENA */
#define WM8400_AINR_ENA_WIDTH 1 /* AINR_ENA */
#define WM8400_LIN34_ENA 0x0080 /* LIN34_ENA */
#define WM8400_LIN34_ENA_MASK 0x0080 /* LIN34_ENA */
#define WM8400_LIN34_ENA_SHIFT 7 /* LIN34_ENA */
#define WM8400_LIN34_ENA_WIDTH 1 /* LIN34_ENA */
#define WM8400_LIN12_ENA 0x0040 /* LIN12_ENA */
#define WM8400_LIN12_ENA_MASK 0x0040 /* LIN12_ENA */
#define WM8400_LIN12_ENA_SHIFT 6 /* LIN12_ENA */
#define WM8400_LIN12_ENA_WIDTH 1 /* LIN12_ENA */
#define WM8400_RIN34_ENA 0x0020 /* RIN34_ENA */
#define WM8400_RIN34_ENA_MASK 0x0020 /* RIN34_ENA */
#define WM8400_RIN34_ENA_SHIFT 5 /* RIN34_ENA */
Annotation
- Immediate include surface: `linux/mfd/wm8400-audio.h`.
- Detected declarations: `struct wm8400`.
- Atlas domain: Core OS / Core Kernel Interface.
- 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.