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.

Dependency Surface

Detected Declarations

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

Implementation Notes