Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * TAS571x amplifier audio driver
0004  *
0005  * Copyright (C) 2015 Google, Inc.
0006  */
0007 
0008 #ifndef _TAS571X_H
0009 #define _TAS571X_H
0010 
0011 /* device registers */
0012 #define TAS571X_CLK_CTRL_REG        0x00
0013 #define TAS571X_DEV_ID_REG      0x01
0014 #define TAS571X_ERR_STATUS_REG      0x02
0015 #define TAS571X_SYS_CTRL_1_REG      0x03
0016 #define TAS571X_SDI_REG         0x04
0017 #define TAS571X_SDI_FMT_MASK        0x0f
0018 
0019 #define TAS571X_SYS_CTRL_2_REG      0x05
0020 #define TAS571X_SYS_CTRL_2_SDN_MASK 0x40
0021 
0022 #define TAS571X_SOFT_MUTE_REG       0x06
0023 #define TAS571X_SOFT_MUTE_CH1_SHIFT 0
0024 #define TAS571X_SOFT_MUTE_CH2_SHIFT 1
0025 #define TAS571X_SOFT_MUTE_CH3_SHIFT 2
0026 
0027 #define TAS571X_MVOL_REG        0x07
0028 #define TAS571X_CH1_VOL_REG     0x08
0029 #define TAS571X_CH2_VOL_REG     0x09
0030 #define TAS571X_CH3_VOL_REG     0x0a
0031 #define TAS571X_VOL_CFG_REG     0x0e
0032 #define TAS571X_MODULATION_LIMIT_REG    0x10
0033 #define TAS571X_IC_DELAY_CH1_REG    0x11
0034 #define TAS571X_IC_DELAY_CH2_REG    0x12
0035 #define TAS571X_IC_DELAY_CH3_REG    0x13
0036 #define TAS571X_IC_DELAY_CH4_REG    0x14
0037 
0038 #define TAS571X_PWM_CH_SDN_GROUP_REG    0x19    /* N/A on TAS5717, TAS5719 */
0039 #define TAS571X_PWM_CH1_SDN_MASK    (1<<0)
0040 #define TAS571X_PWM_CH2_SDN_SHIFT   (1<<1)
0041 #define TAS571X_PWM_CH3_SDN_SHIFT   (1<<2)
0042 #define TAS571X_PWM_CH4_SDN_SHIFT   (1<<3)
0043 
0044 #define TAS571X_START_STOP_PERIOD_REG   0x1a
0045 #define TAS571X_OSC_TRIM_REG        0x1b
0046 #define TAS571X_BKND_ERR_REG        0x1c
0047 #define TAS571X_INPUT_MUX_REG       0x20
0048 #define TAS571X_CH4_SRC_SELECT_REG  0x21
0049 #define TAS571X_PWM_MUX_REG     0x25
0050 
0051 /* 20-byte biquad registers */
0052 #define TAS5707_CH1_BQ0_REG     0x29
0053 #define TAS5707_CH1_BQ1_REG     0x2a
0054 #define TAS5707_CH1_BQ2_REG     0x2b
0055 #define TAS5707_CH1_BQ3_REG     0x2c
0056 #define TAS5707_CH1_BQ4_REG     0x2d
0057 #define TAS5707_CH1_BQ5_REG     0x2e
0058 #define TAS5707_CH1_BQ6_REG     0x2f
0059 
0060 #define TAS5707_CH2_BQ0_REG     0x30
0061 #define TAS5707_CH2_BQ1_REG     0x31
0062 #define TAS5707_CH2_BQ2_REG     0x32
0063 #define TAS5707_CH2_BQ3_REG     0x33
0064 #define TAS5707_CH2_BQ4_REG     0x34
0065 #define TAS5707_CH2_BQ5_REG     0x35
0066 #define TAS5707_CH2_BQ6_REG     0x36
0067 
0068 #define TAS5717_CH1_BQ0_REG     0x26
0069 #define TAS5717_CH1_BQ1_REG     0x27
0070 #define TAS5717_CH1_BQ2_REG     0x28
0071 #define TAS5717_CH1_BQ3_REG     0x29
0072 #define TAS5717_CH1_BQ4_REG     0x2a
0073 #define TAS5717_CH1_BQ5_REG     0x2b
0074 #define TAS5717_CH1_BQ6_REG     0x2c
0075 #define TAS5717_CH1_BQ7_REG     0x2d
0076 #define TAS5717_CH1_BQ8_REG     0x2e
0077 #define TAS5717_CH1_BQ9_REG     0x2f
0078 
0079 #define TAS5717_CH2_BQ0_REG     0x30
0080 #define TAS5717_CH2_BQ1_REG     0x31
0081 #define TAS5717_CH2_BQ2_REG     0x32
0082 #define TAS5717_CH2_BQ3_REG     0x33
0083 #define TAS5717_CH2_BQ4_REG     0x34
0084 #define TAS5717_CH2_BQ5_REG     0x35
0085 #define TAS5717_CH2_BQ6_REG     0x36
0086 #define TAS5717_CH2_BQ7_REG     0x37
0087 #define TAS5717_CH2_BQ8_REG     0x38
0088 #define TAS5717_CH2_BQ9_REG     0x39
0089 
0090 #define TAS5717_CH1_BQ10_REG        0x58
0091 #define TAS5717_CH1_BQ11_REG        0x59
0092 
0093 #define TAS5717_CH4_BQ0_REG     0x5a
0094 #define TAS5717_CH4_BQ1_REG     0x5b
0095 
0096 #define TAS5717_CH2_BQ10_REG        0x5c
0097 #define TAS5717_CH2_BQ11_REG        0x5d
0098 
0099 #define TAS5717_CH3_BQ0_REG     0x5e
0100 #define TAS5717_CH3_BQ1_REG     0x5f
0101 
0102 #define TAS5717_CH1_RIGHT_CH_MIX_REG    0x72
0103 #define TAS5717_CH1_LEFT_CH_MIX_REG 0x73
0104 #define TAS5717_CH2_LEFT_CH_MIX_REG 0x76
0105 #define TAS5717_CH2_RIGHT_CH_MIX_REG    0x77
0106 
0107 #endif /* _TAS571X_H */