Devicetree
 help / color / mirror / Atom feed
From: "Luca Weiss" <luca.weiss@fairphone.com>
To: "Jorijn van der Graaf" <jorijnvdgraaf@catcrafts.net>,
	"Mark Brown" <broonie@kernel.org>
Cc: "Srinivas Kandagatla" <srini@kernel.org>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Rob Herring" <robh@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Luca Weiss" <luca.weiss@fairphone.com>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Jaroslav Kysela" <perex@perex.cz>,
	"Takashi Iwai" <tiwai@suse.com>,
	"Mohammad Rafi Shaik" <mohammad.rafi.shaik@oss.qualcomm.com>,
	<linux-sound@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-arm-msm@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 0/3] ASoC: codecs: add the Qualcomm WCD9378 audio codec
Date: Thu, 16 Jul 2026 10:13:21 +0200	[thread overview]
Message-ID: <DJZUFFHFXZBK.3S5A9OPE7XYEZ@fairphone.com> (raw)
In-Reply-To: <20260706192229.144137-1-jorijnvdgraaf@catcrafts.net>

Hi Jorijn,

On Mon Jul 6, 2026 at 9:22 PM CEST, Jorijn van der Graaf wrote:
> This series adds bindings and a codec driver for the Qualcomm WCD9378,
> found on SM7635 boards such as the Fairphone 6. The chip pairs a
> WCD937x-compatible analog core with SDCA-style function blocks whose
> built-in sequencers handle the analog power-up/down; all control
> registers, analog core included, sit in a 32-bit paged SDCA control
> address space behind the TX SoundWire slave.
>
> The driver implements the TX/capture paths (three ADCs fed from four
> analog microphone inputs, three mic bias supplies) and is modeled on
> wcd937x, reusing the wcd-common helpers. RX/playback, MBHC and the
> SmartAMP function are follow-up work. Register sequences come from the
> GPL downstream wcd9378 driver in Qualcomm's audio-kernel-ar tree; the
> chip has no public datasheet.
>
> One dependency outside this series: the paged register map needs the
> Qualcomm SoundWire controller to implement SCP address paging, posted
> separately to the soundwire tree as
> "soundwire: qcom: add SCP address paging support". Without it the
> codec enumerates but every paged register access silently reads zero.
> There is no compile-time dependency, so the two can go through their
> respective trees in any order; capture just needs both to land.
>
> Patch 1 moves the qcom,micbias4-microvolt requirement out of
> qcom,wcd93xx-common.yaml into the codecs that have four mic bias
> supplies, so the three-bias WCD9378 binding in patch 2 can reference
> the common schema. Patch 3 is the driver itself.
>
> Tested on the Fairphone 6 (SM7635): handset mic capture through the
> LPASS TX macro at 48 kHz across reboots, including UCM-driven use by
> PipeWire in a Plasma Mobile session. The board DTS follows once these
> bindings are accepted.

Many thanks for all your work on the Fairphone (Gen. 6)!

If possible, can you share also dts patches with me, so I can try out
your patches, and provide at least Tested-by?

Also for audio, UCM and AudioReach topology if it differs from
https://github.com/z3ntu/audioreach-topology/commits/fp6/ or what you've
used to test the changes.

So for NFC, speaker, microphone and magnetometer would be great.

A git branch with your changes also works of course if you have that
pushed somewhere.

Regards
Luca

>
> Jorijn van der Graaf (3):
>   ASoC: dt-bindings: qcom,wcd93xx-common: don't require micbias4
>   ASoC: dt-bindings: add the Qualcomm WCD9378 audio codec
>   ASoC: codecs: wcd9378: add TX/capture codec driver
>
>  .../bindings/sound/qcom,wcd9378-codec.yaml    |   76 +
>  .../bindings/sound/qcom,wcd9378-sdw.yaml      |  122 ++
>  .../bindings/sound/qcom,wcd937x.yaml          |    1 +
>  .../bindings/sound/qcom,wcd938x.yaml          |    1 +
>  .../bindings/sound/qcom,wcd939x.yaml          |    1 +
>  .../bindings/sound/qcom,wcd93xx-common.yaml   |    1 -
>  sound/soc/codecs/Kconfig                      |   19 +
>  sound/soc/codecs/Makefile                     |    7 +
>  sound/soc/codecs/wcd9378-sdw.c                |  495 ++++++
>  sound/soc/codecs/wcd9378.c                    | 1382 +++++++++++++++++
>  sound/soc/codecs/wcd9378.h                    |  246 +++
>  11 files changed, 2350 insertions(+), 1 deletion(-)
>  create mode 100644 Documentation/devicetree/bindings/sound/qcom,wcd9378-codec.yaml
>  create mode 100644 Documentation/devicetree/bindings/sound/qcom,wcd9378-sdw.yaml
>  create mode 100644 sound/soc/codecs/wcd9378-sdw.c
>  create mode 100644 sound/soc/codecs/wcd9378.c
>  create mode 100644 sound/soc/codecs/wcd9378.h


  parent reply	other threads:[~2026-07-16  8:13 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-06 19:22 [PATCH 0/3] ASoC: codecs: add the Qualcomm WCD9378 audio codec Jorijn van der Graaf
2026-07-06 19:22 ` [PATCH 1/3] ASoC: dt-bindings: qcom,wcd93xx-common: don't require micbias4 Jorijn van der Graaf
2026-07-08 10:43   ` Krzysztof Kozlowski
2026-07-06 19:22 ` [PATCH 2/3] ASoC: dt-bindings: add the Qualcomm WCD9378 audio codec Jorijn van der Graaf
2026-07-06 21:17   ` Srinivas Kandagatla
2026-07-06 22:22     ` Jorijn van der Graaf
2026-07-16 20:54   ` Rob Herring
2026-07-06 19:22 ` [PATCH 3/3] ASoC: codecs: wcd9378: add TX/capture codec driver Jorijn van der Graaf
2026-07-06 19:38   ` sashiko-bot
2026-07-06 20:35     ` Jorijn van der Graaf
2026-07-06 21:41   ` Srinivas Kandagatla
2026-07-06 22:22     ` Jorijn van der Graaf
2026-07-07 11:42   ` Pierre-Louis Bossart
2026-07-07 15:13     ` Jorijn van der Graaf
2026-07-08  9:11       ` Pierre-Louis Bossart
2026-07-13  7:28     ` Srinivas Kandagatla
2026-07-13  8:16       ` Pierre-Louis Bossart
2026-07-13  9:02         ` Srinivas Kandagatla
2026-07-10 12:20   ` Julian Braha
2026-07-16  8:13 ` Luca Weiss [this message]
2026-07-16 16:00   ` [PATCH 0/3] ASoC: codecs: add the Qualcomm WCD9378 audio codec Jorijn van der Graaf

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=DJZUFFHFXZBK.3S5A9OPE7XYEZ@fairphone.com \
    --to=luca.weiss@fairphone.com \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jorijnvdgraaf@catcrafts.net \
    --cc=krzk+dt@kernel.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=mohammad.rafi.shaik@oss.qualcomm.com \
    --cc=perex@perex.cz \
    --cc=robh@kernel.org \
    --cc=srini@kernel.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