From: Neil Armstrong <neil.armstrong@linaro.org>
To: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
Banajit Goswami <bgoswami@quicinc.com>,
Andy Gross <agross@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konrad.dybcio@linaro.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>
Cc: linux-arm-msm@vger.kernel.org, alsa-devel@alsa-project.org,
linux-sound@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
Neil Armstrong <neil.armstrong@linaro.org>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Subject: [PATCH v2 0/5] ASoC: codecs: add support for WCD939x Codec
Date: Fri, 01 Dec 2023 16:08:53 +0100 [thread overview]
Message-ID: <20231201-topic-sm8650-upstream-wcd939x-codec-v2-0-94ed814b25aa@linaro.org> (raw)
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>
---
Changes in v2:
- Bindings:
- Dropped all references to "Slave" or "Host" terminology when possible
- Collected review for first patch
- Added wcd9395 as fallback of wcd9390
- Fixes typos errors
- MBHC:
- Dropped all references to "Slave" or "Host" terminology when possible
- Fixed EXPORT_SYMBOL into EXPORT_SYMBOL_GPL
- Fixed typo in commit message
- Soundwire Devices driver
- Dropped all references to "Slave" or "Host" terminology when possible
- Dropped comments and unused code
- Reworked wcd939x_swr_get_current_bank()
- Added comments to wcd9390_interrupt_callback()
- Reworked regmap's wcd939x_readonly/volatile_register checks
- Added comments explaining while bind/unbind are empty
- Added comment on SDW_SLAVE_ENTRY meaning
- Added more register fields defines
- Style fixes
- Codec driver
- Dropped all references to "Slave" or "Host" terminology when possible
- Added MICB_BIAS_ values enum and used them in the code
- Moved zdet_param to the top
- Added TLV data for ear_pa_gain and used it
- Defined as much as possible every bit field used on/from register
- Replaced 1/0 to true/false when writing to single bit fields
- Replaced for loop on all bits with ffs(), simplified code
- Simplified MICB fields handling code
- Reworked and simplified wcd939x_get/set_compander and other kcontrol get/setters
- Reworked and simplified MHGC impedance/zdet/qval code, dropped dead code
- Added comments on wcd939x_wd_handle_irq() utility
- Added comment on the interrupt handling architecture
- I've not moved common code yet, I'll probably do later since it would alter wcd939x code
- Link to v1: https://lore.kernel.org/r/20231123-topic-sm8650-upstream-wcd939x-codec-v1-0-21d4ad9276de@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 devices driver
ASoC: codecs: Add WCD939x Codec driver
.../devicetree/bindings/sound/qcom,wcd938x.yaml | 81 +-
.../bindings/sound/qcom,wcd939x-sdw.yaml | 69 +
.../devicetree/bindings/sound/qcom,wcd939x.yaml | 96 +
.../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 | 1584 +++++++++
sound/soc/codecs/wcd939x.c | 3655 ++++++++++++++++++++
sound/soc/codecs/wcd939x.h | 983 ++++++
12 files changed, 6592 insertions(+), 95 deletions(-)
---
base-commit: 07b677953b9dca02928be323e2db853511305fa9
change-id: 20231123-topic-sm8650-upstream-wcd939x-codec-c46f621b55d4
Best regards,
--
Neil Armstrong <neil.armstrong@linaro.org>
next reply other threads:[~2023-12-01 15:09 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-01 15:08 Neil Armstrong [this message]
2023-12-01 15:08 ` [PATCH v2 1/5] ASoC: dt-bindings: qcom,wcd938x: move out common properties Neil Armstrong
2023-12-01 15:08 ` [PATCH v2 2/5] ASoC: dt-bindings: document WCD939x Audio Codec Neil Armstrong
2023-12-01 15:17 ` Krzysztof Kozlowski
2023-12-01 15:08 ` [PATCH v2 3/5] ASoC: codec: wcd-mbhc-v2: add support when connected behind an USB-C audio mux Neil Armstrong
2023-12-01 15:08 ` [PATCH v2 4/5] ASoC: codecs: Add WCD939x Soundwire devices driver Neil Armstrong
2023-12-01 15:08 ` [PATCH v2 5/5] ASoC: codecs: Add WCD939x Codec driver Neil Armstrong
2023-12-05 17:12 ` kernel test robot
2023-12-05 17:22 ` kernel test robot
2023-12-06 5:39 ` Dan Carpenter
2023-12-06 8:10 ` Neil Armstrong
2023-12-06 7:10 ` kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231201-topic-sm8650-upstream-wcd939x-codec-v2-0-94ed814b25aa@linaro.org \
--to=neil.armstrong@linaro.org \
--cc=agross@kernel.org \
--cc=alsa-devel@alsa-project.org \
--cc=andersson@kernel.org \
--cc=bgoswami@quicinc.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=perex@perex.cz \
--cc=robh+dt@kernel.org \
--cc=srinivas.kandagatla@linaro.org \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).