hc
2024-05-14 bedbef8ad3e75a304af6361af235302bcc61d06b
kernel/sound/soc/codecs/max98373.h
....@@ -1,5 +1,5 @@
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 */
33
44 #ifndef _MAX98373_H
55 #define _MAX98373_H
....@@ -130,6 +130,8 @@
130130 #define MAX98373_PCM_SR_SET1_SR_32000 (0x6 << 0)
131131 #define MAX98373_PCM_SR_SET1_SR_44100 (0x7 << 0)
132132 #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)
133135
134136 /* MAX98373_R2028_PCM_SR_SETUP_2 */
135137 #define MAX98373_PCM_SR_SET2_SR_MASK (0xF << 4)
....@@ -203,11 +205,25 @@
203205
204206 struct max98373_priv {
205207 struct regmap *regmap;
208
+ int reset_gpio;
206209 unsigned int v_slot;
207210 unsigned int i_slot;
208211 unsigned int spkfb_slot;
209212 bool interleave_mode;
210213 unsigned int ch_size;
211214 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;
212221 };
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);
213229 #endif