linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/2] Add the broadmobi BM818
@ 2019-12-19 21:09 Angus Ainslie (Purism)
  2019-12-19 21:09 ` [PATCH v3 1/2] ASoC: gtm601: add Broadmobi bm818 sound profile Angus Ainslie (Purism)
  2019-12-19 21:09 ` [PATCH v3 2/2] dt-bindings: sound: gtm601: add the broadmobi interface Angus Ainslie (Purism)
  0 siblings, 2 replies; 6+ messages in thread
From: Angus Ainslie (Purism) @ 2019-12-19 21:09 UTC (permalink / raw)
  To: broonie
  Cc: kernel, Liam Girdwood, alsa-devel, linux-kernel, Angus Ainslie (Purism)

The broadmobi uses slightly different parameters from the option modems
so add the paramters and document them.

Changes since v2:

Use of_device_get_match_data to get the dai data.
Updated subject styles.

Changes since v1:

Cut back the CC list.
Use data from compatible match instead of explicit compatible match.


Angus Ainslie (Purism) (2):
  ASoC: gtm601: add Broadmobi bm818 sound profile
  dt-bindings: sound: gtm601: add the broadmobi interface

 .../devicetree/bindings/sound/gtm601.txt      | 10 ++++--
 sound/soc/codecs/gtm601.c                     | 31 ++++++++++++++++---
 2 files changed, 35 insertions(+), 6 deletions(-)

-- 
2.17.1


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

* [PATCH v3 1/2] ASoC: gtm601: add Broadmobi bm818 sound profile
  2019-12-19 21:09 [PATCH v3 0/2] Add the broadmobi BM818 Angus Ainslie (Purism)
@ 2019-12-19 21:09 ` Angus Ainslie (Purism)
  2019-12-20 12:59   ` Mark Brown
  2019-12-20 13:01   ` Mark Brown
  2019-12-19 21:09 ` [PATCH v3 2/2] dt-bindings: sound: gtm601: add the broadmobi interface Angus Ainslie (Purism)
  1 sibling, 2 replies; 6+ messages in thread
From: Angus Ainslie (Purism) @ 2019-12-19 21:09 UTC (permalink / raw)
  To: broonie
  Cc: kernel, Liam Girdwood, alsa-devel, linux-kernel, Angus Ainslie (Purism)

The Broadmobi bm818 uses stereo sound at 48Khz sample rate

Signed-off-by: Angus Ainslie (Purism) <angus@akkea.ca>
---
 sound/soc/codecs/gtm601.c | 31 +++++++++++++++++++++++++++----
 1 file changed, 27 insertions(+), 4 deletions(-)

diff --git a/sound/soc/codecs/gtm601.c b/sound/soc/codecs/gtm601.c
index d454294c8d06..3374362741a6 100644
--- a/sound/soc/codecs/gtm601.c
+++ b/sound/soc/codecs/gtm601.c
@@ -13,7 +13,7 @@
 #include <linux/slab.h>
 #include <linux/module.h>
 #include <linux/kernel.h>
-#include <linux/device.h>
+#include <linux/of_device.h>
 #include <sound/core.h>
 #include <sound/pcm.h>
 #include <sound/initval.h>
@@ -37,7 +37,7 @@ static struct snd_soc_dai_driver gtm601_dai = {
 		.channels_max = 1,
 		.rates = SNDRV_PCM_RATE_8000,
 		.formats = SNDRV_PCM_FMTBIT_S16_LE,
-		},
+	},
 	.capture = {
 		.stream_name = "Capture",
 		.channels_min = 1,
@@ -47,6 +47,24 @@ static struct snd_soc_dai_driver gtm601_dai = {
 	},
 };
 
+static struct snd_soc_dai_driver bm818_dai = {
+	.name = "bm818",
+	.playback = {
+		.stream_name = "Playback",
+		.channels_min = 2,
+		.channels_max = 2,
+		.rates = SNDRV_PCM_RATE_48000,
+		.formats = SNDRV_PCM_FMTBIT_S16_LE,
+	},
+	.capture = {
+		.stream_name = "Capture",
+		.channels_min = 2,
+		.channels_max = 2,
+		.rates = SNDRV_PCM_RATE_48000,
+		.formats = SNDRV_PCM_FMTBIT_S16_LE,
+	},
+};
+
 static const struct snd_soc_component_driver soc_component_dev_gtm601 = {
 	.dapm_widgets		= gtm601_dapm_widgets,
 	.num_dapm_widgets	= ARRAY_SIZE(gtm601_dapm_widgets),
@@ -60,13 +78,18 @@ static const struct snd_soc_component_driver soc_component_dev_gtm601 = {
 
 static int gtm601_platform_probe(struct platform_device *pdev)
 {
+	struct snd_soc_dai_driver *dai_driver;
+
+	dai_driver = of_device_get_match_data(&pdev->dev);
+
 	return devm_snd_soc_register_component(&pdev->dev,
-			&soc_component_dev_gtm601, &gtm601_dai, 1);
+			&soc_component_dev_gtm601, dai_driver, 1);
 }
 
 #if defined(CONFIG_OF)
 static const struct of_device_id gtm601_codec_of_match[] = {
-	{ .compatible = "option,gtm601", },
+	{ .compatible = "option,gtm601", .data = (void *)&gtm601_dai },
+	{ .compatible = "broadmobi,bm818", .data = (void *)&bm818_dai },
 	{},
 };
 MODULE_DEVICE_TABLE(of, gtm601_codec_of_match);
-- 
2.17.1


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

* [PATCH v3 2/2] dt-bindings: sound: gtm601: add the broadmobi interface
  2019-12-19 21:09 [PATCH v3 0/2] Add the broadmobi BM818 Angus Ainslie (Purism)
  2019-12-19 21:09 ` [PATCH v3 1/2] ASoC: gtm601: add Broadmobi bm818 sound profile Angus Ainslie (Purism)
@ 2019-12-19 21:09 ` Angus Ainslie (Purism)
  1 sibling, 0 replies; 6+ messages in thread
From: Angus Ainslie (Purism) @ 2019-12-19 21:09 UTC (permalink / raw)
  To: broonie
  Cc: kernel, Liam Girdwood, alsa-devel, linux-kernel, Angus Ainslie (Purism)

The Broadmobi BM818 uses a different sample rate and channels from the
option modem.

Signed-off-by: Angus Ainslie (Purism) <angus@akkea.ca>
Reviewed-by: Rob Herring <robh@kernel.org>
---
 Documentation/devicetree/bindings/sound/gtm601.txt | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/sound/gtm601.txt b/Documentation/devicetree/bindings/sound/gtm601.txt
index 5efc8c068de0..efa32a486c4a 100644
--- a/Documentation/devicetree/bindings/sound/gtm601.txt
+++ b/Documentation/devicetree/bindings/sound/gtm601.txt
@@ -1,10 +1,16 @@
 GTM601 UMTS modem audio interface CODEC
 
-This device has no configuration interface. Sample rate is fixed - 8kHz.
+This device has no configuration interface. The sample rate and channels are
+based on the compatible string
+	"option,gtm601" = 8kHz mono
+	"broadmobi,bm818" = 48KHz stereo
 
 Required properties:
 
-  - compatible : "option,gtm601"
+  - compatible : one of
+	"option,gtm601"
+	"broadmobi,bm818"
+
 
 Example:
 
-- 
2.17.1


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

* Re: [PATCH v3 1/2] ASoC: gtm601: add Broadmobi bm818 sound profile
  2019-12-19 21:09 ` [PATCH v3 1/2] ASoC: gtm601: add Broadmobi bm818 sound profile Angus Ainslie (Purism)
@ 2019-12-20 12:59   ` Mark Brown
  2019-12-20 13:01   ` Mark Brown
  1 sibling, 0 replies; 6+ messages in thread
From: Mark Brown @ 2019-12-20 12:59 UTC (permalink / raw)
  To: Angus Ainslie (Purism); +Cc: kernel, Liam Girdwood, alsa-devel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 315 bytes --]

On Thu, Dec 19, 2019 at 01:09:43PM -0800, Angus Ainslie (Purism) wrote:

> @@ -37,7 +37,7 @@ static struct snd_soc_dai_driver gtm601_dai = {
>  		.channels_max = 1,
>  		.rates = SNDRV_PCM_RATE_8000,
>  		.formats = SNDRV_PCM_FMTBIT_S16_LE,
> -		},
> +	},
>  	.capture = {

This is an unrelated indentation change.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: [PATCH v3 1/2] ASoC: gtm601: add Broadmobi bm818 sound profile
  2019-12-19 21:09 ` [PATCH v3 1/2] ASoC: gtm601: add Broadmobi bm818 sound profile Angus Ainslie (Purism)
  2019-12-20 12:59   ` Mark Brown
@ 2019-12-20 13:01   ` Mark Brown
  2019-12-22 16:26     ` Angus Ainslie
  1 sibling, 1 reply; 6+ messages in thread
From: Mark Brown @ 2019-12-20 13:01 UTC (permalink / raw)
  To: Angus Ainslie (Purism); +Cc: kernel, Liam Girdwood, alsa-devel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 593 bytes --]

On Thu, Dec 19, 2019 at 01:09:43PM -0800, Angus Ainslie (Purism) wrote:

>  static int gtm601_platform_probe(struct platform_device *pdev)
>  {
> +	struct snd_soc_dai_driver *dai_driver;
> +
> +	dai_driver = of_device_get_match_data(&pdev->dev);
> +

I was going to apply this but it causes build warnings:

sound/soc/codecs/gtm601.c: In function ‘gtm601_platform_probe’:
sound/soc/codecs/gtm601.c:83:13: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  dai_driver = of_device_get_match_data(&pdev->dev);
             ^

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: [PATCH v3 1/2] ASoC: gtm601: add Broadmobi bm818 sound profile
  2019-12-20 13:01   ` Mark Brown
@ 2019-12-22 16:26     ` Angus Ainslie
  0 siblings, 0 replies; 6+ messages in thread
From: Angus Ainslie @ 2019-12-22 16:26 UTC (permalink / raw)
  To: Mark Brown; +Cc: kernel, Liam Girdwood, alsa-devel, linux-kernel

On 2019-12-20 05:01, Mark Brown wrote:
> On Thu, Dec 19, 2019 at 01:09:43PM -0800, Angus Ainslie (Purism) wrote:
> 
>>  static int gtm601_platform_probe(struct platform_device *pdev)
>>  {
>> +	struct snd_soc_dai_driver *dai_driver;
>> +
>> +	dai_driver = of_device_get_match_data(&pdev->dev);
>> +
> 
> I was going to apply this but it causes build warnings:
> 
> sound/soc/codecs/gtm601.c: In function ‘gtm601_platform_probe’:
> sound/soc/codecs/gtm601.c:83:13: warning: assignment discards ‘const’
> qualifier from pointer target type [-Wdiscarded-qualifiers]
>   dai_driver = of_device_get_match_data(&pdev->dev);
>              ^

Sorry, missed that.

New version inbound.

Angus

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

end of thread, other threads:[~2019-12-22 16:32 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-19 21:09 [PATCH v3 0/2] Add the broadmobi BM818 Angus Ainslie (Purism)
2019-12-19 21:09 ` [PATCH v3 1/2] ASoC: gtm601: add Broadmobi bm818 sound profile Angus Ainslie (Purism)
2019-12-20 12:59   ` Mark Brown
2019-12-20 13:01   ` Mark Brown
2019-12-22 16:26     ` Angus Ainslie
2019-12-19 21:09 ` [PATCH v3 2/2] dt-bindings: sound: gtm601: add the broadmobi interface Angus Ainslie (Purism)

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