linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] ASoC: qcom: common: Parse auxiliary devices from device tree
@ 2020-08-26  9:51 Stephan Gerhold
  2020-08-26  9:51 ` [PATCH v2 1/2] ASoC: dt-bindings: qcom: Document "aux-devs" property Stephan Gerhold
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Stephan Gerhold @ 2020-08-26  9:51 UTC (permalink / raw)
  To: Mark Brown
  Cc: Srinivas Kandagatla, Patrick Lai, Banajit Goswami, Liam Girdwood,
	alsa-devel, Rob Herring, devicetree, linux-arm-msm,
	Stephan Gerhold

In some cases we need to probe additional audio components that do
not appear as part of the DAI links specified in the device tree.
Examples for this are auxiliary devices such as analog amplifiers
or codecs.

The ASoC core provides a way to probe these components by adding
them to snd_soc_card->aux_dev.

This patch set allows specifying them in the device tree through
a new "aux-devs" property.

v1: https://lore.kernel.org/linux-arm-msm/20200819091533.2334-1-stephan@gerhold.net/
Changes in v2:
  - Fix value type in device tree bindings:
    aux-devs should be array of phandles without any arguments, so change
    <phandles with arguments> -> <array of phandles>

Stephan Gerhold (2):
  ASoC: dt-bindings: qcom: Document "aux-devs" property
  ASoC: qcom: common: Parse auxiliary devices from device tree

 .../devicetree/bindings/sound/qcom,apq8016-sbc.txt        | 7 +++++++
 Documentation/devicetree/bindings/sound/qcom,apq8096.txt  | 8 ++++++++
 Documentation/devicetree/bindings/sound/qcom,sdm845.txt   | 8 ++++++++
 sound/soc/qcom/common.c                                   | 4 ++++
 4 files changed, 27 insertions(+)

-- 
2.28.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v2 1/2] ASoC: dt-bindings: qcom: Document "aux-devs" property
  2020-08-26  9:51 [PATCH v2 0/2] ASoC: qcom: common: Parse auxiliary devices from device tree Stephan Gerhold
@ 2020-08-26  9:51 ` Stephan Gerhold
  2020-08-26  9:51 ` [PATCH v2 2/2] ASoC: qcom: common: Parse auxiliary devices from device tree Stephan Gerhold
  2020-09-08 17:20 ` [PATCH v2 0/2] " Mark Brown
  2 siblings, 0 replies; 4+ messages in thread
From: Stephan Gerhold @ 2020-08-26  9:51 UTC (permalink / raw)
  To: Mark Brown
  Cc: Srinivas Kandagatla, Patrick Lai, Banajit Goswami, Liam Girdwood,
	alsa-devel, Rob Herring, devicetree, linux-arm-msm,
	Stephan Gerhold

In some cases we need to probe additional audio components that do
not appear as part of the DAI links specified in the device tree.
Examples for this are auxiliary devices such as analog amplifiers
or codecs.

To make them work they need to be added as part of "aux-devs"
and connected to some other audio component using the audio routes
configurable using "(qcom,)audio-routing".

Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
 .../devicetree/bindings/sound/qcom,apq8016-sbc.txt        | 7 +++++++
 Documentation/devicetree/bindings/sound/qcom,apq8096.txt  | 8 ++++++++
 Documentation/devicetree/bindings/sound/qcom,sdm845.txt   | 8 ++++++++
 3 files changed, 23 insertions(+)

diff --git a/Documentation/devicetree/bindings/sound/qcom,apq8016-sbc.txt b/Documentation/devicetree/bindings/sound/qcom,apq8016-sbc.txt
index 84b28dbe9f15..23998262a0a7 100644
--- a/Documentation/devicetree/bindings/sound/qcom,apq8016-sbc.txt
+++ b/Documentation/devicetree/bindings/sound/qcom,apq8016-sbc.txt
@@ -34,6 +34,13 @@ Required properties:
 			  * DMIC
 			  * Ext Spk
 
+Optional properties:
+
+- aux-devs		: A list of phandles for auxiliary devices (e.g. analog
+			  amplifiers) that do not appear directly within the DAI
+			  links. Should be connected to another audio component
+			  using "qcom,audio-routing".
+
 Dai-link subnode properties and subnodes:
 
 Required dai-link subnodes:
diff --git a/Documentation/devicetree/bindings/sound/qcom,apq8096.txt b/Documentation/devicetree/bindings/sound/qcom,apq8096.txt
index c814e867850f..e1b9fa8a5bf8 100644
--- a/Documentation/devicetree/bindings/sound/qcom,apq8096.txt
+++ b/Documentation/devicetree/bindings/sound/qcom,apq8096.txt
@@ -55,6 +55,14 @@ This binding describes the APQ8096 sound card, which uses qdsp for audio.
 	Value type: <stringlist>
 	Definition: The user-visible name of this sound card.
 
+- aux-devs
+	Usage: optional
+	Value type: <array of phandles>
+	Definition: A list of phandles for auxiliary devices (e.g. analog
+		    amplifiers) that do not appear directly within the DAI
+		    links. Should be connected to another audio component
+		    using "audio-routing".
+
 = dailinks
 Each subnode of sndcard represents either a dailink, and subnodes of each
 dailinks would be cpu/codec/platform dais.
diff --git a/Documentation/devicetree/bindings/sound/qcom,sdm845.txt b/Documentation/devicetree/bindings/sound/qcom,sdm845.txt
index ca8c89e88bfa..de4c604641da 100644
--- a/Documentation/devicetree/bindings/sound/qcom,sdm845.txt
+++ b/Documentation/devicetree/bindings/sound/qcom,sdm845.txt
@@ -24,6 +24,14 @@ This binding describes the SDM845 sound card, which uses qdsp for audio.
 	Value type: <stringlist>
 	Definition: The user-visible name of this sound card.
 
+- aux-devs
+	Usage: optional
+	Value type: <array of phandles>
+	Definition: A list of phandles for auxiliary devices (e.g. analog
+		    amplifiers) that do not appear directly within the DAI
+		    links. Should be connected to another audio component
+		    using "audio-routing".
+
 = dailinks
 Each subnode of sndcard represents either a dailink, and subnodes of each
 dailinks would be cpu/codec/platform dais.
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v2 2/2] ASoC: qcom: common: Parse auxiliary devices from device tree
  2020-08-26  9:51 [PATCH v2 0/2] ASoC: qcom: common: Parse auxiliary devices from device tree Stephan Gerhold
  2020-08-26  9:51 ` [PATCH v2 1/2] ASoC: dt-bindings: qcom: Document "aux-devs" property Stephan Gerhold
@ 2020-08-26  9:51 ` Stephan Gerhold
  2020-09-08 17:20 ` [PATCH v2 0/2] " Mark Brown
  2 siblings, 0 replies; 4+ messages in thread
From: Stephan Gerhold @ 2020-08-26  9:51 UTC (permalink / raw)
  To: Mark Brown
  Cc: Srinivas Kandagatla, Patrick Lai, Banajit Goswami, Liam Girdwood,
	alsa-devel, Rob Herring, devicetree, linux-arm-msm,
	Stephan Gerhold

In some cases we need to probe additional audio components that do
not appear as part of the DAI links specified in the device tree.
Examples for this are auxiliary devices such as analog amplifiers
or codecs.

The ASoC core provides a way to probe these components by adding
them to snd_soc_card->aux_dev. We can use the snd_soc_of_parse_aux_devs()
function to parse them from the device tree.

As an example for this, some MSM8916 smartphones have an analog
speaker amplifier connected to the HPHR output. With the new property
this can be modelled as follows:

	speaker-amp: audio-amplifier {
		compatible = "simple-audio-amplifier";
		enable-gpios = <&msmgpio 114 GPIO_ACTIVE_HIGH>;
		sound-name-prefix = "Speaker Amp";
	};

	&sound {
		aux-devs = <&speaker_amp>;
		audio-routing = "Speaker Amp IN", "HPHR";
	};

Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
 sound/soc/qcom/common.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/sound/soc/qcom/common.c b/sound/soc/qcom/common.c
index 5194d90ddb96..fe6e778c31c0 100644
--- a/sound/soc/qcom/common.c
+++ b/sound/soc/qcom/common.c
@@ -39,6 +39,10 @@ int qcom_snd_parse_of(struct snd_soc_card *card)
 			return ret;
 	}
 
+	ret = snd_soc_of_parse_aux_devs(card, "aux-devs");
+	if (ret)
+		return ret;
+
 	/* Populate links */
 	num_links = of_get_child_count(dev->of_node);
 
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2 0/2] ASoC: qcom: common: Parse auxiliary devices from device tree
  2020-08-26  9:51 [PATCH v2 0/2] ASoC: qcom: common: Parse auxiliary devices from device tree Stephan Gerhold
  2020-08-26  9:51 ` [PATCH v2 1/2] ASoC: dt-bindings: qcom: Document "aux-devs" property Stephan Gerhold
  2020-08-26  9:51 ` [PATCH v2 2/2] ASoC: qcom: common: Parse auxiliary devices from device tree Stephan Gerhold
@ 2020-09-08 17:20 ` Mark Brown
  2 siblings, 0 replies; 4+ messages in thread
From: Mark Brown @ 2020-09-08 17:20 UTC (permalink / raw)
  To: Stephan Gerhold
  Cc: Banajit Goswami, Patrick Lai, linux-arm-msm, devicetree,
	alsa-devel, Srinivas Kandagatla, Rob Herring, Liam Girdwood

On Wed, 26 Aug 2020 11:51:39 +0200, Stephan Gerhold wrote:
> In some cases we need to probe additional audio components that do
> not appear as part of the DAI links specified in the device tree.
> Examples for this are auxiliary devices such as analog amplifiers
> or codecs.
> 
> The ASoC core provides a way to probe these components by adding
> them to snd_soc_card->aux_dev.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/2] ASoC: dt-bindings: qcom: Document "aux-devs" property
      commit: cdd3b8daf26e5eb2e97b6a37dfdb83597bcbdc52
[2/2] ASoC: qcom: common: Parse auxiliary devices from device tree
      commit: 1b839d3e15fd48e4278c83190725467713a5b3c6

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-09-08 17:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-26  9:51 [PATCH v2 0/2] ASoC: qcom: common: Parse auxiliary devices from device tree Stephan Gerhold
2020-08-26  9:51 ` [PATCH v2 1/2] ASoC: dt-bindings: qcom: Document "aux-devs" property Stephan Gerhold
2020-08-26  9:51 ` [PATCH v2 2/2] ASoC: qcom: common: Parse auxiliary devices from device tree Stephan Gerhold
2020-09-08 17:20 ` [PATCH v2 0/2] " Mark Brown

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).