.. | .. |
---|
1 | | -// SPDX-License-Identifier: GPL-2.0 |
---|
2 | | -// Copyright (c) 2017, Maxim Integrated |
---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
---|
| 2 | +/* Copyright (c) 2017 Maxim Integrated */ |
---|
3 | 3 | |
---|
4 | 4 | #ifndef _MAX98373_H |
---|
5 | 5 | #define _MAX98373_H |
---|
.. | .. |
---|
130 | 130 | #define MAX98373_PCM_SR_SET1_SR_32000 (0x6 << 0) |
---|
131 | 131 | #define MAX98373_PCM_SR_SET1_SR_44100 (0x7 << 0) |
---|
132 | 132 | #define MAX98373_PCM_SR_SET1_SR_48000 (0x8 << 0) |
---|
| 133 | +#define MAX98373_PCM_SR_SET1_SR_88200 (0x9 << 0) |
---|
| 134 | +#define MAX98373_PCM_SR_SET1_SR_96000 (0xA << 0) |
---|
133 | 135 | |
---|
134 | 136 | /* MAX98373_R2028_PCM_SR_SETUP_2 */ |
---|
135 | 137 | #define MAX98373_PCM_SR_SET2_SR_MASK (0xF << 4) |
---|
.. | .. |
---|
203 | 205 | |
---|
204 | 206 | struct max98373_priv { |
---|
205 | 207 | struct regmap *regmap; |
---|
| 208 | + int reset_gpio; |
---|
206 | 209 | unsigned int v_slot; |
---|
207 | 210 | unsigned int i_slot; |
---|
208 | 211 | unsigned int spkfb_slot; |
---|
209 | 212 | bool interleave_mode; |
---|
210 | 213 | unsigned int ch_size; |
---|
211 | 214 | bool tdm_mode; |
---|
| 215 | + /* variables to support soundwire */ |
---|
| 216 | + struct sdw_slave *slave; |
---|
| 217 | + bool hw_init; |
---|
| 218 | + bool first_hw_init; |
---|
| 219 | + int slot; |
---|
| 220 | + unsigned int rx_mask; |
---|
212 | 221 | }; |
---|
| 222 | + |
---|
| 223 | +extern const struct snd_soc_component_driver soc_codec_dev_max98373; |
---|
| 224 | +extern const struct snd_soc_component_driver soc_codec_dev_max98373_sdw; |
---|
| 225 | + |
---|
| 226 | +void max98373_reset(struct max98373_priv *max98373, struct device *dev); |
---|
| 227 | +void max98373_slot_config(struct device *dev, |
---|
| 228 | + struct max98373_priv *max98373); |
---|
213 | 229 | #endif |
---|