diff mbox

[3/9] ASoC: sun8i-codec-analog: add support for V3s SoC

Message ID 20170225123029.55939-3-icenowy@aosc.xyz (mailing list archive)
State New, archived
Headers show

Commit Message

Icenowy Zheng Feb. 25, 2017, 12:30 p.m. UTC
The V3s SoC features an analog codec with headphone support but without
mic2 and linein.

Add support for it.

Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
---
 Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt | 1 +
 sound/soc/sunxi/sun8i-codec-analog.c                           | 9 +++++++++
 2 files changed, 10 insertions(+)

Comments

Chen-Yu Tsai Feb. 26, 2017, 6:16 a.m. UTC | #1
On Sat, Feb 25, 2017 at 8:30 PM, Icenowy Zheng <icenowy@aosc.xyz> wrote:
> The V3s SoC features an analog codec with headphone support but without
> mic2 and linein.

It doesn't have MBIAS either. Please split it out as well.

ChenYu

>
> Add support for it.
>
> Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
> ---
>  Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt | 1 +
>  sound/soc/sunxi/sun8i-codec-analog.c                           | 9 +++++++++
>  2 files changed, 10 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt b/Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt
> index 779b735781ba..1b6e7c4e50ab 100644
> --- a/Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt
> +++ b/Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt
> @@ -4,6 +4,7 @@ Required properties:
>  - compatible: must be one of the following compatibles:
>                 - "allwinner,sun8i-a23-codec-analog"
>                 - "allwinner,sun8i-h3-codec-analog"
> +               - "allwinner,sun8i-v3s-codec-analog"
>
>  Required properties if not a sub-node of the PRCM node:
>  - reg: must contain the registers location and length
> diff --git a/sound/soc/sunxi/sun8i-codec-analog.c b/sound/soc/sunxi/sun8i-codec-analog.c
> index 6c17c99c2c8d..6375932177a3 100644
> --- a/sound/soc/sunxi/sun8i-codec-analog.c
> +++ b/sound/soc/sunxi/sun8i-codec-analog.c
> @@ -695,6 +695,11 @@ static const struct sun8i_codec_analog_quirks sun8i_h3_quirks = {
>         .has_mic2       = true,
>  };
>
> +static const struct sun8i_codec_analog_quirks sun8i_v3s_quirks = {
> +       .has_headphone  = true,
> +       .has_hmic       = true,
> +};
> +
>  static int sun8i_codec_analog_cmpnt_probe(struct snd_soc_component *cmpnt)
>  {
>         struct device *dev = cmpnt->dev;
> @@ -762,6 +767,10 @@ static const struct of_device_id sun8i_codec_analog_of_match[] = {
>                 .compatible = "allwinner,sun8i-h3-codec-analog",
>                 .data = &sun8i_h3_quirks,
>         },
> +       {
> +               .compatible = "allwinner,sun8i-v3s-codec-analog",
> +               .data = &sun8i_v3s_quirks,
> +       },
>         {}
>  };
>  MODULE_DEVICE_TABLE(of, sun8i_codec_analog_of_match);
> --
> 2.11.1
>
Icenowy Zheng Feb. 26, 2017, 7:08 a.m. UTC | #2
26.02.2017, 14:16, "Chen-Yu Tsai" <wens@csie.org>:
> On Sat, Feb 25, 2017 at 8:30 PM, Icenowy Zheng <icenowy@aosc.xyz> wrote:
>>  The V3s SoC features an analog codec with headphone support but without
>>  mic2 and linein.
>
> It doesn't have MBIAS either. Please split it out as well.

Thanks for your tips ;-)

>
> ChenYu
>
>>  Add support for it.
>>
>>  Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
>>  ---
>>   Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt | 1 +
>>   sound/soc/sunxi/sun8i-codec-analog.c | 9 +++++++++
>>   2 files changed, 10 insertions(+)
>>
>>  diff --git a/Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt b/Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt
>>  index 779b735781ba..1b6e7c4e50ab 100644
>>  --- a/Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt
>>  +++ b/Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt
>>  @@ -4,6 +4,7 @@ Required properties:
>>   - compatible: must be one of the following compatibles:
>>                  - "allwinner,sun8i-a23-codec-analog"
>>                  - "allwinner,sun8i-h3-codec-analog"
>>  + - "allwinner,sun8i-v3s-codec-analog"
>>
>>   Required properties if not a sub-node of the PRCM node:
>>   - reg: must contain the registers location and length
>>  diff --git a/sound/soc/sunxi/sun8i-codec-analog.c b/sound/soc/sunxi/sun8i-codec-analog.c
>>  index 6c17c99c2c8d..6375932177a3 100644
>>  --- a/sound/soc/sunxi/sun8i-codec-analog.c
>>  +++ b/sound/soc/sunxi/sun8i-codec-analog.c
>>  @@ -695,6 +695,11 @@ static const struct sun8i_codec_analog_quirks sun8i_h3_quirks = {
>>          .has_mic2 = true,
>>   };
>>
>>  +static const struct sun8i_codec_analog_quirks sun8i_v3s_quirks = {
>>  + .has_headphone = true,
>>  + .has_hmic = true,
>>  +};
>>  +
>>   static int sun8i_codec_analog_cmpnt_probe(struct snd_soc_component *cmpnt)
>>   {
>>          struct device *dev = cmpnt->dev;
>>  @@ -762,6 +767,10 @@ static const struct of_device_id sun8i_codec_analog_of_match[] = {
>>                  .compatible = "allwinner,sun8i-h3-codec-analog",
>>                  .data = &sun8i_h3_quirks,
>>          },
>>  + {
>>  + .compatible = "allwinner,sun8i-v3s-codec-analog",
>>  + .data = &sun8i_v3s_quirks,
>>  + },
>>          {}
>>   };
>>   MODULE_DEVICE_TABLE(of, sun8i_codec_analog_of_match);
>>  --
>>  2.11.1
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt b/Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt
index 779b735781ba..1b6e7c4e50ab 100644
--- a/Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt
+++ b/Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt
@@ -4,6 +4,7 @@  Required properties:
 - compatible: must be one of the following compatibles:
 		- "allwinner,sun8i-a23-codec-analog"
 		- "allwinner,sun8i-h3-codec-analog"
+		- "allwinner,sun8i-v3s-codec-analog"
 
 Required properties if not a sub-node of the PRCM node:
 - reg: must contain the registers location and length
diff --git a/sound/soc/sunxi/sun8i-codec-analog.c b/sound/soc/sunxi/sun8i-codec-analog.c
index 6c17c99c2c8d..6375932177a3 100644
--- a/sound/soc/sunxi/sun8i-codec-analog.c
+++ b/sound/soc/sunxi/sun8i-codec-analog.c
@@ -695,6 +695,11 @@  static const struct sun8i_codec_analog_quirks sun8i_h3_quirks = {
 	.has_mic2	= true,
 };
 
+static const struct sun8i_codec_analog_quirks sun8i_v3s_quirks = {
+	.has_headphone	= true,
+	.has_hmic	= true,
+};
+
 static int sun8i_codec_analog_cmpnt_probe(struct snd_soc_component *cmpnt)
 {
 	struct device *dev = cmpnt->dev;
@@ -762,6 +767,10 @@  static const struct of_device_id sun8i_codec_analog_of_match[] = {
 		.compatible = "allwinner,sun8i-h3-codec-analog",
 		.data = &sun8i_h3_quirks,
 	},
+	{
+		.compatible = "allwinner,sun8i-v3s-codec-analog",
+		.data = &sun8i_v3s_quirks,
+	},
 	{}
 };
 MODULE_DEVICE_TABLE(of, sun8i_codec_analog_of_match);