2021-10-08 14:11:53

by Srinivasa Rao Mandadapu

[permalink] [raw]
Subject: [PATCH v3 0/5] Update Lpass digital codec macro drivers

This patch set is to add support for lpass sc7280 based targets.
Upadate compatible name and change of bulk clock voting to optional
clock voting in digital codecs va, rx, tx macro drivers.
Changes Since V2:
-- Add Tx macro deafults for lpass sc7280
Changes Since V1:
-- Removed individual clock voting and used bulk clock optional.
-- Removed volatile changes and fixed default values.
-- Typo errors.
Srinivasa Rao Mandadapu (5):
ASoC: qcom: Add compatible names in va,wsa,rx,tx codec drivers for
sc7280
ASoC: qcom: dt-bindings: Add compatible names for lpass sc7280 digital
codecs
ASoC: codecs: tx-macro: Enable tx top soundwire mic clock
ASoC: codecs: tx-macro: Update tx default values
ASoC: codecs: Change bulk clock voting to optional voting in digital
codecs

.../bindings/sound/qcom,lpass-rx-macro.yaml | 4 +++-
.../bindings/sound/qcom,lpass-tx-macro.yaml | 4 +++-
.../bindings/sound/qcom,lpass-va-macro.yaml | 4 +++-
.../bindings/sound/qcom,lpass-wsa-macro.yaml | 4 +++-
sound/soc/codecs/lpass-rx-macro.c | 3 ++-
sound/soc/codecs/lpass-tx-macro.c | 25 +++++++++++++++++++---
sound/soc/codecs/lpass-va-macro.c | 3 ++-
sound/soc/codecs/lpass-wsa-macro.c | 1 +
8 files changed, 39 insertions(+), 9 deletions(-)

--
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.


2021-10-08 14:13:23

by Srinivasa Rao Mandadapu

[permalink] [raw]
Subject: [PATCH v3 5/5] ASoC: codecs: Change bulk clock voting to optional voting in digital codecs

Change bulk clock frequency voting to optional bulk voting in va, rx and tx macros
to accommodate both ADSP and ADSP bypass based lpass architectures.

Signed-off-by: Venkata Prasad Potturu <[email protected]>
Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
---
sound/soc/codecs/lpass-rx-macro.c | 2 +-
sound/soc/codecs/lpass-tx-macro.c | 2 +-
sound/soc/codecs/lpass-va-macro.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/sound/soc/codecs/lpass-rx-macro.c b/sound/soc/codecs/lpass-rx-macro.c
index c2b9333..2bed5cf 100644
--- a/sound/soc/codecs/lpass-rx-macro.c
+++ b/sound/soc/codecs/lpass-rx-macro.c
@@ -3531,7 +3531,7 @@ static int rx_macro_probe(struct platform_device *pdev)
rx->clks[3].id = "npl";
rx->clks[4].id = "fsgen";

- ret = devm_clk_bulk_get(dev, RX_NUM_CLKS_MAX, rx->clks);
+ ret = devm_clk_bulk_get_optional(dev, RX_NUM_CLKS_MAX, rx->clks);
if (ret) {
dev_err(dev, "Error getting RX Clocks (%d)\n", ret);
return ret;
diff --git a/sound/soc/codecs/lpass-tx-macro.c b/sound/soc/codecs/lpass-tx-macro.c
index 6742405..a4c0a15 100644
--- a/sound/soc/codecs/lpass-tx-macro.c
+++ b/sound/soc/codecs/lpass-tx-macro.c
@@ -1796,7 +1796,7 @@ static int tx_macro_probe(struct platform_device *pdev)
tx->clks[3].id = "npl";
tx->clks[4].id = "fsgen";

- ret = devm_clk_bulk_get(dev, TX_NUM_CLKS_MAX, tx->clks);
+ ret = devm_clk_bulk_get_optional(dev, TX_NUM_CLKS_MAX, tx->clks);
if (ret) {
dev_err(dev, "Error getting RX Clocks (%d)\n", ret);
return ret;
diff --git a/sound/soc/codecs/lpass-va-macro.c b/sound/soc/codecs/lpass-va-macro.c
index 70f09b4..11147e3 100644
--- a/sound/soc/codecs/lpass-va-macro.c
+++ b/sound/soc/codecs/lpass-va-macro.c
@@ -1408,7 +1408,7 @@ static int va_macro_probe(struct platform_device *pdev)
va->clks[1].id = "dcodec";
va->clks[2].id = "mclk";

- ret = devm_clk_bulk_get(dev, VA_NUM_CLKS_MAX, va->clks);
+ ret = devm_clk_bulk_get_optional(dev, VA_NUM_CLKS_MAX, va->clks);
if (ret) {
dev_err(dev, "Error getting VA Clocks (%d)\n", ret);
return ret;
--
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.

2021-10-08 14:13:40

by Srinivasa Rao Mandadapu

[permalink] [raw]
Subject: [PATCH v3 2/5] ASoC: qcom: dt-bindings: Add compatible names for lpass sc7280 digital codecs

Update compatible names in va, wsa, rx and tx macro codes for lpass sc7280

Signed-off-by: Venkata Prasad Potturu <[email protected]>
Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
---
Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml | 4 +++-
Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml | 4 +++-
Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml | 4 +++-
Documentation/devicetree/bindings/sound/qcom,lpass-wsa-macro.yaml | 4 +++-
4 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml
index 443d556..bc762b3 100644
--- a/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml
+++ b/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml
@@ -11,7 +11,9 @@ maintainers:

properties:
compatible:
- const: qcom,sm8250-lpass-rx-macro
+ enum:
+ - qcom,sc7280-lpass-rx-macro
+ - qcom,sm8250-lpass-rx-macro

reg:
maxItems: 1
diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml
index 6b5ca02..74f5386 100644
--- a/Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml
+++ b/Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml
@@ -11,7 +11,9 @@ maintainers:

properties:
compatible:
- const: qcom,sm8250-lpass-tx-macro
+ enum:
+ - qcom,sc7280-lpass-tx-macro
+ - qcom,sm8250-lpass-tx-macro

reg:
maxItems: 1
diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml
index 679b49c..99f2c36 100644
--- a/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml
+++ b/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml
@@ -11,7 +11,9 @@ maintainers:

properties:
compatible:
- const: qcom,sm8250-lpass-va-macro
+ enum:
+ - qcom,sc7280-lpass-va-macro
+ - qcom,sm8250-lpass-va-macro

reg:
maxItems: 1
diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-wsa-macro.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-wsa-macro.yaml
index 435b019..13cdb8a 100644
--- a/Documentation/devicetree/bindings/sound/qcom,lpass-wsa-macro.yaml
+++ b/Documentation/devicetree/bindings/sound/qcom,lpass-wsa-macro.yaml
@@ -11,7 +11,9 @@ maintainers:

properties:
compatible:
- const: qcom,sm8250-lpass-wsa-macro
+ enum:
+ - qcom,sc7280-lpass-wsa-macro
+ - qcom,sm8250-lpass-wsa-macro

reg:
maxItems: 1
--
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.

2021-10-08 19:50:17

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v3 2/5] ASoC: qcom: dt-bindings: Add compatible names for lpass sc7280 digital codecs

On Fri, 08 Oct 2021 19:39:01 +0530, Srinivasa Rao Mandadapu wrote:
> Update compatible names in va, wsa, rx and tx macro codes for lpass sc7280
>
> Signed-off-by: Venkata Prasad Potturu <[email protected]>
> Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
> ---
> Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml | 4 +++-
> Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml | 4 +++-
> Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml | 4 +++-
> Documentation/devicetree/bindings/sound/qcom,lpass-wsa-macro.yaml | 4 +++-
> 4 files changed, 12 insertions(+), 4 deletions(-)
>

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/patch/1538394


codec@3240000: 'clock-frequency' does not match any of the regexes: 'pinctrl-[0-9]+'
arch/arm64/boot/dts/qcom/qrb5165-rb5.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-hdk.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-mtp.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx203.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx206.dt.yaml

codec@3240000: clock-names:4: 'fsgen' was expected
arch/arm64/boot/dts/qcom/qrb5165-rb5.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-hdk.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-mtp.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx203.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx206.dt.yaml

codec@3240000: clock-names: Additional items are not allowed ('fsgen' was unexpected)
arch/arm64/boot/dts/qcom/qrb5165-rb5.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-hdk.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-mtp.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx203.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx206.dt.yaml

codec@3240000: clock-names: ['mclk', 'npl', 'macro', 'dcodec', 'va', 'fsgen'] is too long
arch/arm64/boot/dts/qcom/qrb5165-rb5.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-hdk.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-mtp.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx203.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx206.dt.yaml

codec@3240000: clocks: [[75, 1], [75, 0], [76, 102, 1], [76, 103, 1], [77, 0], [78]] is too long
arch/arm64/boot/dts/qcom/sm8250-hdk.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-mtp.dt.yaml

codec@3240000: clocks: [[78, 1], [78, 0], [79, 102, 1], [79, 103, 1], [80, 0], [81]] is too long
arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx203.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx206.dt.yaml

codec@3240000: clocks: [[86, 1], [86, 0], [87, 102, 1], [87, 103, 1], [88, 0], [89]] is too long
arch/arm64/boot/dts/qcom/qrb5165-rb5.dt.yaml

codec@3370000: 'clock-frequency' does not match any of the regexes: 'pinctrl-[0-9]+'
arch/arm64/boot/dts/qcom/qrb5165-rb5.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-hdk.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-mtp.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx203.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx206.dt.yaml

codec@3370000: clock-names:1: 'core' was expected
arch/arm64/boot/dts/qcom/qrb5165-rb5.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-hdk.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-mtp.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx203.dt.yaml
arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx206.dt.yaml

2021-10-08 21:59:56

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v3 2/5] ASoC: qcom: dt-bindings: Add compatible names for lpass sc7280 digital codecs

On Fri, 08 Oct 2021 19:39:01 +0530, Srinivasa Rao Mandadapu wrote:
> Update compatible names in va, wsa, rx and tx macro codes for lpass sc7280
>
> Signed-off-by: Venkata Prasad Potturu <[email protected]>
> Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
> ---
> Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml | 4 +++-
> Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml | 4 +++-
> Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml | 4 +++-
> Documentation/devicetree/bindings/sound/qcom,lpass-wsa-macro.yaml | 4 +++-
> 4 files changed, 12 insertions(+), 4 deletions(-)
>


Please add Acked-by/Reviewed-by tags when posting new versions. However,
there's no need to repost patches *only* to add the tags. The upstream
maintainer will do that for acks received on the version they apply.

If a tag was not added on purpose, please state why and what changed.

2021-10-12 09:06:50

by Srinivas Kandagatla

[permalink] [raw]
Subject: Re: [PATCH v3 2/5] ASoC: qcom: dt-bindings: Add compatible names for lpass sc7280 digital codecs



On 08/10/2021 15:09, Srinivasa Rao Mandadapu wrote:
> Update compatible names in va, wsa, rx and tx macro codes for lpass sc7280
>

TBH, I was also expecting the clks that are mandatory for sc7280 in this
binding patch.

I think we need this and this will allow us to validate on the dt-entries.



--srini
> Signed-off-by: Venkata Prasad Potturu <[email protected]>
> Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
> ---
> Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml | 4 +++-
> Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml | 4 +++-
> Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml | 4 +++-
> Documentation/devicetree/bindings/sound/qcom,lpass-wsa-macro.yaml | 4 +++-
> 4 files changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml
> index 443d556..bc762b3 100644
> --- a/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml
> +++ b/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml
> @@ -11,7 +11,9 @@ maintainers:
>
> properties:
> compatible:
> - const: qcom,sm8250-lpass-rx-macro
> + enum:
> + - qcom,sc7280-lpass-rx-macro
> + - qcom,sm8250-lpass-rx-macro
>
> reg:
> maxItems: 1
> diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml
> index 6b5ca02..74f5386 100644
> --- a/Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml
> +++ b/Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml
> @@ -11,7 +11,9 @@ maintainers:
>
> properties:
> compatible:
> - const: qcom,sm8250-lpass-tx-macro
> + enum:
> + - qcom,sc7280-lpass-tx-macro
> + - qcom,sm8250-lpass-tx-macro
>
> reg:
> maxItems: 1
> diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml
> index 679b49c..99f2c36 100644
> --- a/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml
> +++ b/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml
> @@ -11,7 +11,9 @@ maintainers:
>
> properties:
> compatible:
> - const: qcom,sm8250-lpass-va-macro
> + enum:
> + - qcom,sc7280-lpass-va-macro
> + - qcom,sm8250-lpass-va-macro
>
> reg:
> maxItems: 1
> diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-wsa-macro.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-wsa-macro.yaml
> index 435b019..13cdb8a 100644
> --- a/Documentation/devicetree/bindings/sound/qcom,lpass-wsa-macro.yaml
> +++ b/Documentation/devicetree/bindings/sound/qcom,lpass-wsa-macro.yaml
> @@ -11,7 +11,9 @@ maintainers:
>
> properties:
> compatible:
> - const: qcom,sm8250-lpass-wsa-macro
> + enum:
> + - qcom,sc7280-lpass-wsa-macro
> + - qcom,sm8250-lpass-wsa-macro
>
> reg:
> maxItems: 1
>