Message ID | 20231123-topic-sm8650-upstream-wcd939x-codec-v1-0-21d4ad9276de@linaro.org |
---|---|
Headers | show |
Series | ASoC: codecs: add support for WCD939x Codec | expand |
On Thu, Nov 23, 2023 at 03:49:15PM +0100, Neil Armstrong wrote: > + if (wcd939x->variant == WCD9390) { > + if (mode_val == CLS_H_HIFI || mode_val == CLS_AB_HIFI) { > + dev_info(component->dev, "%s: Invalid HPH Mode, default to CLS_H_ULP\n", > + __func__); > + mode_val = CLS_H_ULP; > + } > + } > + if (mode_val == CLS_H_NORMAL) { > + dev_info(component->dev, "%s: Invalid HPH Mode, default to class_AB\n", > + __func__); > + mode_val = CLS_H_ULP; > + } This lets people spam the logs from userspace, why not just return an error? > + if (hphr) > + wcd939x->comp2_enable = value; > + else > + wcd939x->comp1_enable = value; Are there really no constraints on the values for these things? > +static const struct snd_kcontrol_new wcd9390_snd_controls[] = { > + SOC_ENUM_EXT("EAR PA GAIN", wcd939x_ear_pa_gain_enum, > + wcd939x_ear_pa_gain_get, wcd939x_ear_pa_gain_put), Gains should be be named Volume. Is there no TLV information? > +static irqreturn_t wcd939x_wd_handle_irq(int irq, void *data) > +{ > + return IRQ_HANDLED; > +} Why even request the interrupt if it's just going to be ignored?
Add the main WCD9390/WCD9395 Audio Codec driver to support: - 4 ADC inputs for up to 5 Analog Microphones - 4 DMIC inputs for up to 8 Digital Microphones - 4 Microphone BIAS - Stereo Headphone output - Mono EAR output - MBHC engine for Headset Detection This adds: - bindings - MBHC changes to support Type-C muc - Soundwire Slave driver - Code driver The USB Mux subsystem support will be submitted separalety since it's a functionally separate subsystem connected over I2C with it's own reset signal. Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> --- Neil Armstrong (5): ASoC: dt-bindings: qcom,wcd938x: move out common properties ASoC: dt-bindings: document WCD939x Audio Codec ASoC: codec: wcd-mbhc-v2: add support when connected behind an USB-C audio mux ASoC: codecs: Add WCD939x Soundwire slave driver ASoC: codecs: Add WCD939x Codec driver .../devicetree/bindings/sound/qcom,wcd938x.yaml | 81 +- .../bindings/sound/qcom,wcd939x-sdw.yaml | 70 + .../devicetree/bindings/sound/qcom,wcd939x.yaml | 93 + .../bindings/sound/qcom,wcd93xx-common.yaml | 95 + sound/soc/codecs/Kconfig | 18 + sound/soc/codecs/Makefile | 7 + sound/soc/codecs/wcd-clsh-v2.h | 1 + sound/soc/codecs/wcd-mbhc-v2.c | 95 +- sound/soc/codecs/wcd-mbhc-v2.h | 3 + sound/soc/codecs/wcd939x-sdw.c | 1591 +++++++++ sound/soc/codecs/wcd939x.c | 3635 ++++++++++++++++++++ sound/soc/codecs/wcd939x.h | 936 +++++ 12 files changed, 6530 insertions(+), 95 deletions(-) --- base-commit: 07b677953b9dca02928be323e2db853511305fa9 change-id: 20231123-topic-sm8650-upstream-wcd939x-codec-c46f621b55d4 Best regards,