diff options
Diffstat (limited to 'sound/soc/codecs/tas2552.h')
| -rw-r--r-- | sound/soc/codecs/tas2552.h | 61 |
1 files changed, 34 insertions, 27 deletions
diff --git a/sound/soc/codecs/tas2552.h b/sound/soc/codecs/tas2552.h index bbb820495516..5746f8fd0afd 100644 --- a/sound/soc/codecs/tas2552.h +++ b/sound/soc/codecs/tas2552.h | |||
| @@ -19,7 +19,7 @@ | |||
| 19 | #define __TAS2552_H__ | 19 | #define __TAS2552_H__ |
| 20 | 20 | ||
| 21 | /* Register Address Map */ | 21 | /* Register Address Map */ |
| 22 | #define TAS2552_DEVICE_STATUS 0x00 | 22 | #define TAS2552_DEVICE_STATUS 0x00 |
| 23 | #define TAS2552_CFG_1 0x01 | 23 | #define TAS2552_CFG_1 0x01 |
| 24 | #define TAS2552_CFG_2 0x02 | 24 | #define TAS2552_CFG_2 0x02 |
| 25 | #define TAS2552_CFG_3 0x03 | 25 | #define TAS2552_CFG_3 0x03 |
| @@ -33,13 +33,13 @@ | |||
| 33 | #define TAS2552_BTIP 0x0b | 33 | #define TAS2552_BTIP 0x0b |
| 34 | #define TAS2552_BTS_CTRL 0x0c | 34 | #define TAS2552_BTS_CTRL 0x0c |
| 35 | #define TAS2552_RESERVED_0D 0x0d | 35 | #define TAS2552_RESERVED_0D 0x0d |
| 36 | #define TAS2552_LIMIT_RATE_HYS 0x0e | 36 | #define TAS2552_LIMIT_RATE_HYS 0x0e |
| 37 | #define TAS2552_LIMIT_RELEASE 0x0f | 37 | #define TAS2552_LIMIT_RELEASE 0x0f |
| 38 | #define TAS2552_LIMIT_INT_COUNT 0x10 | 38 | #define TAS2552_LIMIT_INT_COUNT 0x10 |
| 39 | #define TAS2552_PDM_CFG 0x11 | 39 | #define TAS2552_PDM_CFG 0x11 |
| 40 | #define TAS2552_PGA_GAIN 0x12 | 40 | #define TAS2552_PGA_GAIN 0x12 |
| 41 | #define TAS2552_EDGE_RATE_CTRL 0x13 | 41 | #define TAS2552_EDGE_RATE_CTRL 0x13 |
| 42 | #define TAS2552_BOOST_PT_CTRL 0x14 | 42 | #define TAS2552_BOOST_APT_CTRL 0x14 |
| 43 | #define TAS2552_VER_NUM 0x16 | 43 | #define TAS2552_VER_NUM 0x16 |
| 44 | #define TAS2552_VBAT_DATA 0x19 | 44 | #define TAS2552_VBAT_DATA 0x19 |
| 45 | #define TAS2552_MAX_REG 0x20 | 45 | #define TAS2552_MAX_REG 0x20 |
| @@ -103,10 +103,21 @@ | |||
| 103 | #define TAS2552_WCLKDIR (1 << 7) | 103 | #define TAS2552_WCLKDIR (1 << 7) |
| 104 | 104 | ||
| 105 | /* OUTPUT_DATA register */ | 105 | /* OUTPUT_DATA register */ |
| 106 | #define TAS2552_PDM_DATA_I 0x00 | 106 | #define TAS2552_DATA_OUT_I_DATA (0x0) |
| 107 | #define TAS2552_PDM_DATA_V (1 << 6) | 107 | #define TAS2552_DATA_OUT_V_DATA (0x1) |
| 108 | #define TAS2552_PDM_DATA_I_V (1 << 7) | 108 | #define TAS2552_DATA_OUT_VBAT_DATA (0x2) |
| 109 | #define TAS2552_PDM_DATA_V_I (0x11 << 6) | 109 | #define TAS2552_DATA_OUT_VBOOST_DATA (0x3) |
| 110 | #define TAS2552_DATA_OUT_PGA_GAIN (0x4) | ||
| 111 | #define TAS2552_DATA_OUT_IV_DATA (0x5) | ||
| 112 | #define TAS2552_DATA_OUT_VBAT_VBOOST_GAIN (0x6) | ||
| 113 | #define TAS2552_DATA_OUT_DISABLED (0x7) | ||
| 114 | #define TAS2552_L_DATA_OUT(x) ((x) << 0) | ||
| 115 | #define TAS2552_R_DATA_OUT(x) ((x) << 3) | ||
| 116 | #define TAS2552_PDM_DATA_SEL_I (0x0 << 6) | ||
| 117 | #define TAS2552_PDM_DATA_SEL_V (0x1 << 6) | ||
| 118 | #define TAS2552_PDM_DATA_SEL_I_V (0x2 << 6) | ||
| 119 | #define TAS2552_PDM_DATA_SEL_V_I (0x3 << 6) | ||
| 120 | #define TAS2552_PDM_DATA_SEL_MASK TAS2552_PDM_DATA_SEL_V_I | ||
| 110 | 121 | ||
| 111 | /* PDM CFG Register */ | 122 | /* PDM CFG Register */ |
| 112 | #define TAS2552_PDM_CLK_SEL_PLL (0x0 << 0) | 123 | #define TAS2552_PDM_CLK_SEL_PLL (0x0 << 0) |
| @@ -116,24 +127,20 @@ | |||
| 116 | #define TAS2552_PDM_CLK_SEL_MASK TAS2552_PDM_CLK_SEL_MCLK | 127 | #define TAS2552_PDM_CLK_SEL_MASK TAS2552_PDM_CLK_SEL_MCLK |
| 117 | #define TAS2552_PDM_DATA_ES (1 << 2) | 128 | #define TAS2552_PDM_DATA_ES (1 << 2) |
| 118 | 129 | ||
| 119 | /* Boost pass-through register */ | 130 | /* Boost Auto-pass through register */ |
| 120 | #define TAS2552_APT_DELAY_50 0x00 | 131 | #define TAS2552_APT_DELAY_50 (0x0 << 0) |
| 121 | #define TAS2552_APT_DELAY_75 (1 << 1) | 132 | #define TAS2552_APT_DELAY_75 (0x1 << 0) |
| 122 | #define TAS2552_APT_DELAY_125 (1 << 2) | 133 | #define TAS2552_APT_DELAY_125 (0x2 << 0) |
| 123 | #define TAS2552_APT_DELAY_200 (1 << 3) | 134 | #define TAS2552_APT_DELAY_200 (0x3 << 0) |
| 124 | 135 | #define TAS2552_APT_THRESH_05_02 (0x0 << 2) | |
| 125 | #define TAS2552_APT_THRESH_2_5 0x00 | 136 | #define TAS2552_APT_THRESH_10_07 (0x1 << 2) |
| 126 | #define TAS2552_APT_THRESH_1_7 (1 << 3) | 137 | #define TAS2552_APT_THRESH_14_11 (0x2 << 2) |
| 127 | #define TAS2552_APT_THRESH_1_4_1_1 (1 << 4) | 138 | #define TAS2552_APT_THRESH_20_17 (0x3 << 2) |
| 128 | #define TAS2552_APT_THRESH_2_1_7 (0x11 << 2) | ||
| 129 | 139 | ||
| 130 | /* PLL Control Register */ | 140 | /* PLL Control Register */ |
| 131 | #define TAS2552_245MHZ_CLK 24576000 | 141 | #define TAS2552_PLL_J_MASK 0x7f |
| 132 | #define TAS2552_225MHZ_CLK 22579200 | 142 | #define TAS2552_PLL_D_UPPER(x) (((x) >> 8) & 0x3f) |
| 133 | #define TAS2552_PLL_J_MASK 0x7f | 143 | #define TAS2552_PLL_D_LOWER(x) ((x) & 0xff) |
| 134 | #define TAS2552_PLL_D_UPPER_MASK 0x3f | 144 | #define TAS2552_PLL_BYPASS (1 << 7) |
| 135 | #define TAS2552_PLL_D_LOWER_MASK 0xff | ||
| 136 | #define TAS2552_PLL_BYPASS_MASK 0x80 | ||
| 137 | #define TAS2552_PLL_BYPASS 0x80 | ||
| 138 | 145 | ||
| 139 | #endif | 146 | #endif |
