sound/soc/codecs/tas675x.h
Source file repositories/reference/linux-study-clean/sound/soc/codecs/tas675x.h
File Facts
- System
- Linux kernel
- Corpus path
sound/soc/codecs/tas675x.h- Extension
.h- Size
- 15495 bytes
- Lines
- 368
- 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.
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 __TAS675X_H__
#define __TAS675X_H__
/*
* Book 0, Page 0 — Register Addresses
*/
#define TAS675X_PAGE_SIZE 256
#define TAS675X_PAGE_REG(page, reg) ((page) * TAS675X_PAGE_SIZE + (reg))
/* Page Control & Basic Config */
#define TAS675X_PAGE_CTRL_REG 0x00
#define TAS675X_RESET_REG 0x01
#define TAS675X_OUTPUT_CTRL_REG 0x02
#define TAS675X_STATE_CTRL_CH1_CH2_REG 0x03
#define TAS675X_STATE_CTRL_CH3_CH4_REG 0x04
#define TAS675X_ISENSE_CTRL_REG 0x05
#define TAS675X_DC_DETECT_CTRL_REG 0x06
/* Serial Audio Port */
#define TAS675X_SCLK_INV_CTRL_REG 0x20
#define TAS675X_AUDIO_IF_CTRL_REG 0x21
#define TAS675X_SDIN_CTRL_REG 0x23
#define TAS675X_SDOUT_CTRL_REG 0x25
#define TAS675X_SDIN_OFFSET_MSB_REG 0x27
#define TAS675X_SDIN_AUDIO_OFFSET_REG 0x28
#define TAS675X_SDIN_LL_OFFSET_REG 0x29
#define TAS675X_SDIN_CH_SWAP_REG 0x2A
#define TAS675X_SDOUT_OFFSET_MSB_REG 0x2C
#define TAS675X_VPREDICT_OFFSET_REG 0x2D
#define TAS675X_ISENSE_OFFSET_REG 0x2E
#define TAS675X_SDOUT_EN_REG 0x31
#define TAS675X_LL_EN_REG 0x32
/* DSP & Core Audio Control */
#define TAS675X_RTLDG_EN_REG 0x37
#define TAS675X_DC_BLOCK_BYP_REG 0x39
#define TAS675X_DSP_CTRL_REG 0x3A
#define TAS675X_PAGE_AUTO_INC_REG 0x3B
/* Volume & Mute */
#define TAS675X_DIG_VOL_CH1_REG 0x40
#define TAS675X_DIG_VOL_CH2_REG 0x41
#define TAS675X_DIG_VOL_CH3_REG 0x42
#define TAS675X_DIG_VOL_CH4_REG 0x43
#define TAS675X_DIG_VOL_RAMP_CTRL_REG 0x44
#define TAS675X_DIG_VOL_COMBINE_CTRL_REG 0x46
#define TAS675X_AUTO_MUTE_EN_REG 0x47
#define TAS675X_AUTO_MUTE_TIMING_CH1_CH2_REG 0x48
#define TAS675X_AUTO_MUTE_TIMING_CH3_CH4_REG 0x49
/* Analog Gain & Power Stage */
#define TAS675X_ANALOG_GAIN_CH1_CH2_REG 0x4A
#define TAS675X_ANALOG_GAIN_CH3_CH4_REG 0x4B
#define TAS675X_ANALOG_GAIN_RAMP_CTRL_REG 0x4E
#define TAS675X_PULSE_INJECTION_EN_REG 0x52
#define TAS675X_CBC_CTRL_REG 0x54
#define TAS675X_CURRENT_LIMIT_CTRL_REG 0x55
#define TAS675X_DAC_CLK_REG 0x5A
#define TAS675X_ISENSE_CAL_REG 0x5B
/* Spread Spectrum & PWM Phase */
#define TAS675X_PWM_PHASE_CTRL_REG 0x60
#define TAS675X_SS_CTRL_REG 0x61
#define TAS675X_SS_RANGE_CTRL_REG 0x62
#define TAS675X_SS_DWELL_CTRL_REG 0x66
#define TAS675X_RAMP_PHASE_CTRL_GPO_REG 0x68
#define TAS675X_PWM_PHASE_M_CTRL_CH1_REG 0x69
#define TAS675X_PWM_PHASE_M_CTRL_CH2_REG 0x6A
#define TAS675X_PWM_PHASE_M_CTRL_CH3_REG 0x6B
#define TAS675X_PWM_PHASE_M_CTRL_CH4_REG 0x6C
/* Status & Reporting */
#define TAS675X_AUTO_MUTE_STATUS_REG 0x71
#define TAS675X_STATE_REPORT_CH1_CH2_REG 0x72
#define TAS675X_STATE_REPORT_CH3_CH4_REG 0x73
#define TAS675X_PVDD_SENSE_REG 0x74
#define TAS675X_TEMP_GLOBAL_REG 0x75
#define TAS675X_FS_MON_REG 0x76
#define TAS675X_SCLK_MON_REG 0x77
#define TAS675X_REPORT_ROUTING_1_REG 0x7C
/* Memory Paging & Book Control */
#define TAS675X_SETUP_REG1 0x7D
#define TAS675X_SETUP_REG2 0x7E
#define TAS675X_BOOK_CTRL_REG 0x7F
/* Fault Status */
#define TAS675X_POWER_FAULT_STATUS_1_REG 0x7D
#define TAS675X_POWER_FAULT_STATUS_2_REG 0x80
Annotation
- 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.