[PATCH v2 00/11] ASoC: dt-bindings: Rework Qualcomm APR/GPR Sound nodes for SM8450
Changes since v1 ================ 1. Patch 2: Keep compatibles in qcom,apr.yaml. 2. Patch 3: New patch.
Description =========== Adding sound support for Qualcomm SM8450 SoC (and later for SC8280XP) brought some changes to APR/GPR services bindings. These bindings are part of qcom,apr.yaml:
apr-or-gpr-device-node <- qcom,apr.yaml apr-gpr-service@[0-9] <- qcom,apr.yaml service-specific-components <- /schemas/sound/qcom,q6*.yaml
The schema for services (apr-gpr-service@[0-9]) was not complete and is still quite not specific. It allows several incorrect combinations, like adding a clock-controller to a APM device. Restricting it would complicate the schema even more. Bringing new support for sound on Qualcomm SM8450 and SC8280XP SoC would grow it as well.
Refactor the bindings before extending them for Qualcomm SM8450 SoC.
DTS was sent here: https://lore.kernel.org/linux-arm-msm/20221115110053.110319-1-krzysztof.kozl...
Best regards, Krzysztof
---
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com
Krzysztof Kozlowski (11): ASoC: dt-bindings: qcom,apr: Add GLINK channel name for SM8450 ASoC: dt-bindings: qcom,apr: Split services to shared schema ASoC: dt-bindings: qcom,apr: Correct and extend example ASoC: dt-bindings: qcom,q6afe: Split to separate schema ASoC: dt-bindings: qcom,q6apm: Split to separate schema ASoC: dt-bindings: qcom,q6adm: Split to separate schema ASoC: dt-bindings: qcom,q6asm: Split to separate schema ASoC: dt-bindings: qcom,q6prm: Split to separate schema ASoC: dt-bindings: qcom,q6core: Split to separate schema ASoC: dt-bindings: qcom,q6apm-lpass-dais: Split to separate schema ASoC: dt-bindings: qcom,q6apm: Add SM8450 bedais node
.../bindings/soc/qcom/qcom,apr-services.yaml | 54 ++++++ .../bindings/soc/qcom/qcom,apr.yaml | 170 ++++++------------ .../bindings/sound/qcom,q6adm-routing.yaml | 22 +-- .../devicetree/bindings/sound/qcom,q6adm.yaml | 51 ++++++ .../devicetree/bindings/sound/qcom,q6afe.yaml | 68 +++++++ .../bindings/sound/qcom,q6apm-dai.yaml | 19 +- .../bindings/sound/qcom,q6apm-lpass-dais.yaml | 32 ++++ .../devicetree/bindings/sound/qcom,q6apm.yaml | 67 +++++++ .../bindings/sound/qcom,q6asm-dais.yaml | 48 ++--- .../devicetree/bindings/sound/qcom,q6asm.yaml | 68 +++++++ .../bindings/sound/qcom,q6core.yaml | 39 ++++ .../sound/qcom,q6dsp-lpass-clocks.yaml | 40 +---- .../sound/qcom,q6dsp-lpass-ports.yaml | 57 +----- .../devicetree/bindings/sound/qcom,q6prm.yaml | 50 ++++++ MAINTAINERS | 2 +- 15 files changed, 515 insertions(+), 272 deletions(-) create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,apr-services.yaml create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6adm.yaml create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6afe.yaml create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6apm-lpass-dais.yaml create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6apm.yaml create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6asm.yaml create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6core.yaml create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6prm.yaml
On SM8450 and SC8280XP with Qualcomm GPR, the GLINK channel name (qcom,glink-channels) for ADSP is "adsp_apps".
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
---
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com --- .../devicetree/bindings/soc/qcom/qcom,apr.yaml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml index f47491aab3b1..0a7a34cb2497 100644 --- a/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml @@ -58,8 +58,7 @@ properties: qcom,glink-channels: $ref: /schemas/types.yaml#/definitions/string-array description: Channel name used for the communication - items: - - const: apr_audio_svc + maxItems: 1
qcom,intents: $ref: /schemas/types.yaml#/definitions/uint32-array @@ -203,7 +202,15 @@ allOf: - qcom,gpr then: properties: + qcom,glink-channels: + items: + - const: adsp_apps power-domains: false + else: + properties: + qcom,glink-channels: + items: + - const: apr_audio_svc
- if: required:
On Tue, 15 Nov 2022 13:02:25 +0100, Krzysztof Kozlowski wrote:
On SM8450 and SC8280XP with Qualcomm GPR, the GLINK channel name (qcom,glink-channels) for ADSP is "adsp_apps".
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com
.../devicetree/bindings/soc/qcom/qcom,apr.yaml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
Reviewed-by: Rob Herring robh@kernel.org
The APR/GPR nodes are organized like:
apr-or-gpr-device-node <- qcom,apr.yaml apr-gpr-service@[0-9] <- qcom,apr.yaml service-specific-components <- /schemas/sound/qcom,q6*.yaml
The schema for services (apr-gpr-service@[0-9]) already grows considerably and is still quite not specific. It allows several incorrect combinations, like adding a clock-controller to a APM device. Restricting it would complicate the schema even more. Bringing new support for sound on Qualcomm SM8450 and SC8280XP SoC would grow it as well.
Simplify the qcom,apr.yaml by splitting the services to a shared file which will be: 1. Referenced by qcom,apr.yaml with additionalProperties:true, 2. Referenced by specific bindings for services with additionalProperties:false (not yet in this commit).
While moving the code, add also required 'reg' and 'qcom,protection-domain' to further constrain the bindings.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
---
Changes since v1: 1. Keep compatibles in qcom,apr.yaml
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com --- .../bindings/soc/qcom/qcom,apr-services.yaml | 54 ++++++++++ .../bindings/soc/qcom/qcom,apr.yaml | 98 +------------------ MAINTAINERS | 2 +- 3 files changed, 58 insertions(+), 96 deletions(-) create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,apr-services.yaml
diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,apr-services.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,apr-services.yaml new file mode 100644 index 000000000000..290555426c39 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,apr-services.yaml @@ -0,0 +1,54 @@ +# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/qcom/qcom,apr-services.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm APR/GPR services shared parts + +maintainers: + - Srinivas Kandagatla srinivas.kandagatla@linaro.org + +description: + Common parts of a static service in Qualcomm APR/GPR (Asynchronous/Generic + Packet Router). + +properties: + reg: + minimum: 1 + maximum: 13 + description: | + APR Service ID + 3 = DSP Core Service + 4 = Audio Front End Service. + 5 = Voice Stream Manager Service. + 6 = Voice processing manager. + 7 = Audio Stream Manager Service. + 8 = Audio Device Manager Service. + 9 = Multimode voice manager. + 10 = Core voice stream. + 11 = Core voice processor. + 12 = Ultrasound stream manager. + 13 = Listen stream manager. + GPR Service ID + 1 = Audio Process Manager Service + 2 = Proxy Resource Manager Service. + 3 = AMDB Service. + 4 = Voice processing manager. + + qcom,protection-domain: + $ref: /schemas/types.yaml#/definitions/string-array + description: | + Protection domain service name and path for APR service + possible values are:: + "avs/audio", "msm/adsp/audio_pd". + "kernel/elf_loader", "msm/modem/wlan_pd". + "tms/servreg", "msm/adsp/audio_pd". + "tms/servreg", "msm/modem/wlan_pd". + "tms/servreg", "msm/slpi/sensor_pd". + +required: + - reg + - qcom,protection-domain + +additionalProperties: true diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml index 0a7a34cb2497..1fab1d9a2dad 100644 --- a/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml @@ -80,12 +80,13 @@ properties: '#size-cells': const: 0
-#APR/GPR Services patternProperties: "^service@[1-9a-d]$": type: object + $ref: /schemas/soc/qcom/qcom,apr-services.yaml + additionalProperties: true description: - APR/GPR node's client devices use subnodes for desired static port services. + APR/GPR static port services.
properties: compatible: @@ -97,99 +98,6 @@ patternProperties: - qcom,q6apm - qcom,q6prm
- reg: - minimum: 1 - maximum: 13 - description: - APR Service ID - 3 = DSP Core Service - 4 = Audio Front End Service. - 5 = Voice Stream Manager Service. - 6 = Voice processing manager. - 7 = Audio Stream Manager Service. - 8 = Audio Device Manager Service. - 9 = Multimode voice manager. - 10 = Core voice stream. - 11 = Core voice processor. - 12 = Ultrasound stream manager. - 13 = Listen stream manager. - GPR Service ID - 1 = Audio Process Manager Service - 2 = Proxy Resource Manager Service. - 3 = AMDB Service. - 4 = Voice processing manager. - - clock-controller: - $ref: /schemas/sound/qcom,q6dsp-lpass-clocks.yaml# - description: Qualcomm DSP LPASS clock controller - unevaluatedProperties: false - - dais: - type: object - oneOf: - - $ref: /schemas/sound/qcom,q6apm-dai.yaml# - - $ref: /schemas/sound/qcom,q6dsp-lpass-ports.yaml# - - $ref: /schemas/sound/qcom,q6asm-dais.yaml# - unevaluatedProperties: false - description: Qualcomm DSP audio ports - - routing: - type: object - $ref: /schemas/sound/qcom,q6adm-routing.yaml# - unevaluatedProperties: false - description: Qualcomm DSP LPASS audio routing - - qcom,protection-domain: - $ref: /schemas/types.yaml#/definitions/string-array - description: protection domain service name and path for apr service - possible values are - "avs/audio", "msm/adsp/audio_pd". - "kernel/elf_loader", "msm/modem/wlan_pd". - "tms/servreg", "msm/adsp/audio_pd". - "tms/servreg", "msm/modem/wlan_pd". - "tms/servreg", "msm/slpi/sensor_pd". - - allOf: - - if: - properties: - compatible: - enum: - - qcom,q6afe - then: - properties: - dais: - properties: - compatible: - const: qcom,q6afe-dais - - - if: - properties: - compatible: - enum: - - qcom,q6apm - then: - properties: - dais: - properties: - compatible: - enum: - - qcom,q6apm-dais - - qcom,q6apm-lpass-dais - - - if: - properties: - compatible: - enum: - - qcom,q6asm - then: - properties: - dais: - properties: - compatible: - const: qcom,q6asm-dais - - additionalProperties: false - required: - compatible - qcom,domain diff --git a/MAINTAINERS b/MAINTAINERS index 3df7b9a3f5ba..804e4a700477 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -16893,7 +16893,7 @@ M: Srinivas Kandagatla srinivas.kandagatla@linaro.org M: Banajit Goswami bgoswami@quicinc.com L: alsa-devel@alsa-project.org (moderated for non-subscribers) S: Supported -F: Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml +F: Documentation/devicetree/bindings/soc/qcom/qcom,apr* F: Documentation/devicetree/bindings/sound/qcom,* F: drivers/soc/qcom/apr.c F: include/dt-bindings/sound/qcom,wcd9335.h
On Tue, 15 Nov 2022 13:02:26 +0100, Krzysztof Kozlowski wrote:
The APR/GPR nodes are organized like:
apr-or-gpr-device-node <- qcom,apr.yaml apr-gpr-service@[0-9] <- qcom,apr.yaml service-specific-components <- /schemas/sound/qcom,q6*.yaml
The schema for services (apr-gpr-service@[0-9]) already grows considerably and is still quite not specific. It allows several incorrect combinations, like adding a clock-controller to a APM device. Restricting it would complicate the schema even more. Bringing new support for sound on Qualcomm SM8450 and SC8280XP SoC would grow it as well.
Simplify the qcom,apr.yaml by splitting the services to a shared file which will be:
- Referenced by qcom,apr.yaml with additionalProperties:true,
- Referenced by specific bindings for services with additionalProperties:false (not yet in this commit).
While moving the code, add also required 'reg' and 'qcom,protection-domain' to further constrain the bindings.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
Changes since v1:
- Keep compatibles in qcom,apr.yaml
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com
.../bindings/soc/qcom/qcom,apr-services.yaml | 54 ++++++++++ .../bindings/soc/qcom/qcom,apr.yaml | 98 +------------------ MAINTAINERS | 2 +- 3 files changed, 58 insertions(+), 96 deletions(-) create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,apr-services.yaml
Reviewed-by: Rob Herring robh@kernel.org
Correct the APR/GPR example: 1. Use consistent 4-space indentation, 2. Add required properties to services nodes, so the binding check passes once schema for these services is improved, 3. Add few other properties as APR/GPR is part of a GLINK edge: qcom,glink-channels and qcom,intents. 4. Drop unnecessary services, to make the example compact.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
---
Changes since v1: 1. New patch.
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com --- .../bindings/soc/qcom/qcom,apr.yaml | 61 ++++++++++++------- 1 file changed, 39 insertions(+), 22 deletions(-)
diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml index 1fab1d9a2dad..4209c6314996 100644 --- a/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml @@ -142,31 +142,35 @@ examples: apr { compatible = "qcom,apr-v2"; qcom,domain = <APR_DOMAIN_ADSP>; + qcom,glink-channels = "apr_audio_svc"; + qcom,intents = <512 20>; #address-cells = <1>; #size-cells = <0>;
q6core: service@3 { - compatible = "qcom,q6core"; - reg = <APR_SVC_ADSP_CORE>; - qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; + compatible = "qcom,q6core"; + reg = <APR_SVC_ADSP_CORE>; + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; };
- q6afe: service@4 { - compatible = "qcom,q6afe"; - reg = <APR_SVC_AFE>; - qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; - }; - - q6asm: service@7 { - compatible = "qcom,q6asm"; - reg = <APR_SVC_ASM>; - qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; - }; - - q6adm: service@8 { - compatible = "qcom,q6adm"; - reg = <APR_SVC_ADM>; - qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; + service@4 { + compatible = "qcom,q6afe"; + reg = <APR_SVC_AFE>; + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; + + clock-controller { + compatible = "qcom,q6afe-clocks"; + #clock-cells = <2>; + }; + + dais { + compatible = "qcom,q6afe-dais"; + #address-cells = <1>; + #size-cells = <0>; + #sound-dai-cells = <1>; + /* ... */ + }; + /* ... */ }; };
@@ -175,12 +179,25 @@ examples: gpr { compatible = "qcom,gpr"; qcom,domain = <GPR_DOMAIN_ID_ADSP>; + qcom,glink-channels = "adsp_apps"; + qcom,intents = <512 20>; #address-cells = <1>; #size-cells = <0>;
service@1 { - compatible = "qcom,q6apm"; - reg = <GPR_APM_MODULE_IID>; - qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; + compatible = "qcom,q6apm"; + reg = <GPR_APM_MODULE_IID>; + #sound-dai-cells = <0>; + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; + + dais { + compatible = "qcom,q6apm-dais"; + iommus = <&apps_smmu 0x1801 0x0>; + }; + + bedais { + compatible = "qcom,q6apm-lpass-dais"; + #sound-dai-cells = <1>; + }; }; };
On Tue, 15 Nov 2022 13:02:27 +0100, Krzysztof Kozlowski wrote:
Correct the APR/GPR example:
- Use consistent 4-space indentation,
- Add required properties to services nodes, so the binding check passes once schema for these services is improved,
- Add few other properties as APR/GPR is part of a GLINK edge: qcom,glink-channels and qcom,intents.
- Drop unnecessary services, to make the example compact.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
Changes since v1:
- New patch.
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com
.../bindings/soc/qcom/qcom,apr.yaml | 61 ++++++++++++------- 1 file changed, 39 insertions(+), 22 deletions(-)
Reviewed-by: Rob Herring robh@kernel.org
The APR/GPR bindings with services got complicated so move out the Q6AFE service to its own binding. Previously the compatible was documented in qcom,apr.yaml. Move most of the examples from its children to this new file.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
---
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com --- .../devicetree/bindings/sound/qcom,q6afe.yaml | 68 +++++++++++++++++++ .../sound/qcom,q6dsp-lpass-clocks.yaml | 40 +---------- .../sound/qcom,q6dsp-lpass-ports.yaml | 56 +++------------ 3 files changed, 80 insertions(+), 84 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6afe.yaml
diff --git a/Documentation/devicetree/bindings/sound/qcom,q6afe.yaml b/Documentation/devicetree/bindings/sound/qcom,q6afe.yaml new file mode 100644 index 000000000000..297aa362aa54 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/qcom,q6afe.yaml @@ -0,0 +1,68 @@ +# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/qcom,q6afe.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Audio FrontEnd (Q6AFE) + +maintainers: + - Krzysztof Kozlowski krzysztof.kozlowski@linaro.org + - Srinivas Kandagatla srinivas.kandagatla@linaro.org + +allOf: + - $ref: /schemas/soc/qcom/qcom,apr-services.yaml# + +properties: + compatible: + enum: + - qcom,q6afe + + clock-controller: + $ref: /schemas/sound/qcom,q6dsp-lpass-clocks.yaml# + unevaluatedProperties: false + description: Qualcomm DSP LPASS clock controller + + dais: + type: object + $ref: /schemas/sound/qcom,q6dsp-lpass-ports.yaml# + unevaluatedProperties: false + description: Qualcomm DSP audio ports + +required: + - compatible + - dais + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/soc/qcom,apr.h> + #include <dt-bindings/sound/qcom,q6afe.h> + apr { + #address-cells = <1>; + #size-cells = <0>; + + service@4 { + compatible = "qcom,q6afe"; + reg = <APR_SVC_AFE>; + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; + + clock-controller { + compatible = "qcom,q6afe-clocks"; + #clock-cells = <2>; + }; + + dais { + compatible = "qcom,q6afe-dais"; + #address-cells = <1>; + #size-cells = <0>; + #sound-dai-cells = <1>; + + dai@22 { + reg = <QUATERNARY_MI2S_RX>; + qcom,sd-lines = <0 1 2 3>; + }; + }; + }; + }; diff --git a/Documentation/devicetree/bindings/sound/qcom,q6dsp-lpass-clocks.yaml b/Documentation/devicetree/bindings/sound/qcom,q6dsp-lpass-clocks.yaml index fd567d20417d..aa6c0ecba5cf 100644 --- a/Documentation/devicetree/bindings/sound/qcom,q6dsp-lpass-clocks.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,q6dsp-lpass-clocks.yaml @@ -35,41 +35,7 @@ additionalProperties: false
examples: - | - #include <dt-bindings/soc/qcom,apr.h> - #include <dt-bindings/sound/qcom,q6afe.h> - apr { - compatible = "qcom,apr-v2"; - qcom,domain = <APR_DOMAIN_ADSP>; - #address-cells = <1>; - #size-cells = <0>; - - service@4 { - compatible = "qcom,q6afe"; - reg = <APR_SVC_AFE>; - qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; - - clock-controller { - compatible = "qcom,q6afe-clocks"; - #clock-cells = <2>; - }; - }; - }; - - - | - #include <dt-bindings/soc/qcom,gpr.h> - gpr { - compatible = "qcom,gpr"; - qcom,domain = <GPR_DOMAIN_ID_ADSP>; - #address-cells = <1>; - #size-cells = <0>; - - service@2 { - reg = <GPR_PRM_MODULE_IID>; - compatible = "qcom,q6prm"; - - clock-controller { - compatible = "qcom,q6prm-lpass-clocks"; - #clock-cells = <2>; - }; - }; + clock-controller { + compatible = "qcom,q6afe-clocks"; + #clock-cells = <2>; }; diff --git a/Documentation/devicetree/bindings/sound/qcom,q6dsp-lpass-ports.yaml b/Documentation/devicetree/bindings/sound/qcom,q6dsp-lpass-ports.yaml index e53fc0960a14..b202692f1756 100644 --- a/Documentation/devicetree/bindings/sound/qcom,q6dsp-lpass-ports.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,q6dsp-lpass-ports.yaml @@ -150,54 +150,16 @@ additionalProperties: false
examples: - | - #include <dt-bindings/soc/qcom,apr.h> - #include <dt-bindings/sound/qcom,q6afe.h> - apr { - compatible = "qcom,apr-v2"; - #address-cells = <1>; - #size-cells = <0>; - qcom,domain = <APR_DOMAIN_ADSP>; - - service@4 { - compatible = "qcom,q6afe"; - reg = <APR_SVC_AFE>; - qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; - - dais { - compatible = "qcom,q6afe-dais"; - #address-cells = <1>; - #size-cells = <0>; - #sound-dai-cells = <1>; - - dai@22 { - reg = <QUATERNARY_MI2S_RX>; - qcom,sd-lines = <0 1 2 3>; - }; - }; - }; - }; - - | - #include <dt-bindings/soc/qcom,gpr.h> - gpr { - compatible = "qcom,gpr"; + #include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h> + + dais { + compatible = "qcom,q6afe-dais"; #address-cells = <1>; #size-cells = <0>; - qcom,domain = <GPR_DOMAIN_ID_ADSP>; - - service@1 { - compatible = "qcom,q6apm"; - reg = <GPR_APM_MODULE_IID>; - - dais { - compatible = "qcom,q6apm-lpass-dais"; - #address-cells = <1>; - #size-cells = <0>; - #sound-dai-cells = <1>; - - dai@22 { - reg = <QUATERNARY_MI2S_RX>; - qcom,sd-lines = <0 1 2 3>; - }; - }; + #sound-dai-cells = <1>; + + dai@22 { + reg = <QUATERNARY_MI2S_RX>; + qcom,sd-lines = <0 1 2 3>; }; };
On Tue, 15 Nov 2022 13:02:28 +0100, Krzysztof Kozlowski wrote:
The APR/GPR bindings with services got complicated so move out the Q6AFE service to its own binding. Previously the compatible was documented in qcom,apr.yaml. Move most of the examples from its children to this new file.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com
.../devicetree/bindings/sound/qcom,q6afe.yaml | 68 +++++++++++++++++++ .../sound/qcom,q6dsp-lpass-clocks.yaml | 40 +---------- .../sound/qcom,q6dsp-lpass-ports.yaml | 56 +++------------ 3 files changed, 80 insertions(+), 84 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6afe.yaml
Reviewed-by: Rob Herring robh@kernel.org
The APR/GPR bindings with services got complicated so move out the Q6APM service to its own binding. Previously the compatible was documented in qcom,apr.yaml. Move most of the examples from its children to this new file.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
---
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com --- .../bindings/sound/qcom,q6apm-dai.yaml | 19 ++----- .../devicetree/bindings/sound/qcom,q6apm.yaml | 51 +++++++++++++++++++ 2 files changed, 54 insertions(+), 16 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6apm.yaml
diff --git a/Documentation/devicetree/bindings/sound/qcom,q6apm-dai.yaml b/Documentation/devicetree/bindings/sound/qcom,q6apm-dai.yaml index 24f7bf2bfd95..73a4afad5a74 100644 --- a/Documentation/devicetree/bindings/sound/qcom,q6apm-dai.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,q6apm-dai.yaml @@ -27,20 +27,7 @@ additionalProperties: false
examples: - | - #include <dt-bindings/soc/qcom,gpr.h> - gpr { - compatible = "qcom,gpr"; - #address-cells = <1>; - #size-cells = <0>; - qcom,domain = <GPR_DOMAIN_ID_ADSP>; - - service@1 { - compatible = "qcom,q6apm"; - reg = <1>; - - dais { - compatible = "qcom,q6apm-dais"; - iommus = <&apps_smmu 0x1801 0x0>; - }; - }; + dais { + compatible = "qcom,q6apm-dais"; + iommus = <&apps_smmu 0x1801 0x0>; }; diff --git a/Documentation/devicetree/bindings/sound/qcom,q6apm.yaml b/Documentation/devicetree/bindings/sound/qcom,q6apm.yaml new file mode 100644 index 000000000000..7acb832aa557 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/qcom,q6apm.yaml @@ -0,0 +1,51 @@ +# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/qcom,q6apm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Audio Process Manager (Q6APM) + +maintainers: + - Krzysztof Kozlowski krzysztof.kozlowski@linaro.org + - Srinivas Kandagatla srinivas.kandagatla@linaro.org + +allOf: + - $ref: /schemas/soc/qcom/qcom,apr-services.yaml# + +properties: + compatible: + enum: + - qcom,q6apm + + dais: + type: object + $ref: /schemas/sound/qcom,q6apm-dai.yaml# + unevaluatedProperties: false + description: Qualcomm DSP audio ports + +required: + - compatible + - dais + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/soc/qcom,gpr.h> + + gpr { + #address-cells = <1>; + #size-cells = <0>; + + service@1 { + reg = <GPR_APM_MODULE_IID>; + compatible = "qcom,q6apm"; + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; + + dais { + compatible = "qcom,q6apm-dais"; + iommus = <&apps_smmu 0x1801 0x0>; + }; + }; + };
On Tue, 15 Nov 2022 13:02:29 +0100, Krzysztof Kozlowski wrote:
The APR/GPR bindings with services got complicated so move out the Q6APM service to its own binding. Previously the compatible was documented in qcom,apr.yaml. Move most of the examples from its children to this new file.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com
.../bindings/sound/qcom,q6apm-dai.yaml | 19 ++----- .../devicetree/bindings/sound/qcom,q6apm.yaml | 51 +++++++++++++++++++ 2 files changed, 54 insertions(+), 16 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6apm.yaml
Reviewed-by: Rob Herring robh@kernel.org
The APR/GPR bindings with services got complicated so move out the Q6ADM service to its own binding. Previously the compatible was documented in qcom,apr.yaml. Move most of the examples from its children to this new file.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
---
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com --- .../bindings/sound/qcom,q6adm-routing.yaml | 22 ++------ .../devicetree/bindings/sound/qcom,q6adm.yaml | 51 +++++++++++++++++++ 2 files changed, 54 insertions(+), 19 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6adm.yaml
diff --git a/Documentation/devicetree/bindings/sound/qcom,q6adm-routing.yaml b/Documentation/devicetree/bindings/sound/qcom,q6adm-routing.yaml index d0f7a79e240a..b7ed2d3f21f9 100644 --- a/Documentation/devicetree/bindings/sound/qcom,q6adm-routing.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,q6adm-routing.yaml @@ -30,23 +30,7 @@ additionalProperties: false
examples: - | - #include <dt-bindings/soc/qcom,apr.h> - #include <dt-bindings/sound/qcom,q6asm.h> - - apr { - compatible = "qcom,apr-v2"; - qcom,domain = <APR_DOMAIN_ADSP>; - #address-cells = <1>; - #size-cells = <0>; - - service@8 { - compatible = "qcom,q6adm"; - reg = <APR_SVC_ADM>; - qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; - - routing { - compatible = "qcom,q6adm-routing"; - #sound-dai-cells = <0>; - }; - }; + routing { + compatible = "qcom,q6adm-routing"; + #sound-dai-cells = <0>; }; diff --git a/Documentation/devicetree/bindings/sound/qcom,q6adm.yaml b/Documentation/devicetree/bindings/sound/qcom,q6adm.yaml new file mode 100644 index 000000000000..fe14a97ea616 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/qcom,q6adm.yaml @@ -0,0 +1,51 @@ +# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/qcom,q6adm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Audio Device Manager (Q6ADM) + +maintainers: + - Krzysztof Kozlowski krzysztof.kozlowski@linaro.org + - Srinivas Kandagatla srinivas.kandagatla@linaro.org + +allOf: + - $ref: /schemas/soc/qcom/qcom,apr-services.yaml# + +properties: + compatible: + enum: + - qcom,q6adm + + routing: + type: object + $ref: /schemas/sound/qcom,q6adm-routing.yaml# + unevaluatedProperties: false + description: Qualcomm DSP LPASS audio routing + +required: + - compatible + - routing + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/soc/qcom,apr.h> + + apr { + #address-cells = <1>; + #size-cells = <0>; + + service@8 { + compatible = "qcom,q6adm"; + reg = <APR_SVC_ADM>; + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; + + routing { + compatible = "qcom,q6adm-routing"; + #sound-dai-cells = <0>; + }; + }; + };
On Tue, 15 Nov 2022 13:02:30 +0100, Krzysztof Kozlowski wrote:
The APR/GPR bindings with services got complicated so move out the Q6ADM service to its own binding. Previously the compatible was documented in qcom,apr.yaml. Move most of the examples from its children to this new file.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com
.../bindings/sound/qcom,q6adm-routing.yaml | 22 ++------ .../devicetree/bindings/sound/qcom,q6adm.yaml | 51 +++++++++++++++++++ 2 files changed, 54 insertions(+), 19 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6adm.yaml
Reviewed-by: Rob Herring robh@kernel.org
The APR/GPR bindings with services got complicated so move out the Q6ASM service to its own binding. Previously the compatible was documented in qcom,apr.yaml. Move most of the examples from its children to this new file.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
---
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com --- .../bindings/sound/qcom,q6asm-dais.yaml | 48 +++++-------- .../devicetree/bindings/sound/qcom,q6asm.yaml | 68 +++++++++++++++++++ 2 files changed, 84 insertions(+), 32 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6asm.yaml
diff --git a/Documentation/devicetree/bindings/sound/qcom,q6asm-dais.yaml b/Documentation/devicetree/bindings/sound/qcom,q6asm-dais.yaml index 8deb8ffb143b..0110b38f6de9 100644 --- a/Documentation/devicetree/bindings/sound/qcom,q6asm-dais.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,q6asm-dais.yaml @@ -73,40 +73,24 @@ additionalProperties: false
examples: - | - #include <dt-bindings/soc/qcom,apr.h> - #include <dt-bindings/sound/qcom,q6asm.h> - - apr { - compatible = "qcom,apr-v2"; - qcom,domain = <APR_DOMAIN_ADSP>; + dais { + compatible = "qcom,q6asm-dais"; + iommus = <&apps_smmu 0x1821 0x0>; #address-cells = <1>; #size-cells = <0>; + #sound-dai-cells = <1>; + + dai@0 { + reg = <0>; + }; + + dai@1 { + reg = <1>; + };
- service@7 { - compatible = "qcom,q6asm"; - reg = <APR_SVC_ASM>; - qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; - - dais { - compatible = "qcom,q6asm-dais"; - iommus = <&apps_smmu 0x1821 0x0>; - #address-cells = <1>; - #size-cells = <0>; - #sound-dai-cells = <1>; - - dai@0 { - reg = <0>; - }; - - dai@1 { - reg = <1>; - }; - - dai@2 { - reg = <2>; - is-compress-dai; - direction = <1>; - }; - }; + dai@2 { + reg = <2>; + is-compress-dai; + direction = <1>; }; }; diff --git a/Documentation/devicetree/bindings/sound/qcom,q6asm.yaml b/Documentation/devicetree/bindings/sound/qcom,q6asm.yaml new file mode 100644 index 000000000000..cb49f9667cca --- /dev/null +++ b/Documentation/devicetree/bindings/sound/qcom,q6asm.yaml @@ -0,0 +1,68 @@ +# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/qcom,q6asm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Audio Stream Manager (Q6ASM) + +maintainers: + - Krzysztof Kozlowski krzysztof.kozlowski@linaro.org + - Srinivas Kandagatla srinivas.kandagatla@linaro.org + +allOf: + - $ref: /schemas/soc/qcom/qcom,apr-services.yaml# + +properties: + compatible: + enum: + - qcom,q6asm + + dais: + type: object + $ref: /schemas/sound/qcom,q6asm-dais.yaml# + unevaluatedProperties: false + description: Qualcomm DSP audio ports + +required: + - compatible + - dais + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/soc/qcom,apr.h> + + apr { + #address-cells = <1>; + #size-cells = <0>; + + service@7 { + compatible = "qcom,q6asm"; + reg = <APR_SVC_ASM>; + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; + + dais { + compatible = "qcom,q6asm-dais"; + iommus = <&apps_smmu 0x1821 0x0>; + #address-cells = <1>; + #size-cells = <0>; + #sound-dai-cells = <1>; + + dai@0 { + reg = <0>; + }; + + dai@1 { + reg = <1>; + }; + + dai@2 { + reg = <2>; + is-compress-dai; + direction = <1>; + }; + }; + }; + };
On Tue, 15 Nov 2022 13:02:31 +0100, Krzysztof Kozlowski wrote:
The APR/GPR bindings with services got complicated so move out the Q6ASM service to its own binding. Previously the compatible was documented in qcom,apr.yaml. Move most of the examples from its children to this new file.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com
.../bindings/sound/qcom,q6asm-dais.yaml | 48 +++++-------- .../devicetree/bindings/sound/qcom,q6asm.yaml | 68 +++++++++++++++++++ 2 files changed, 84 insertions(+), 32 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6asm.yaml
Reviewed-by: Rob Herring robh@kernel.org
The APR/GPR bindings with services got complicated so move out the Q6PRM service to its own binding. Previously the compatible was documented in qcom,apr.yaml.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
---
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com --- .../devicetree/bindings/sound/qcom,q6prm.yaml | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6prm.yaml
diff --git a/Documentation/devicetree/bindings/sound/qcom,q6prm.yaml b/Documentation/devicetree/bindings/sound/qcom,q6prm.yaml new file mode 100644 index 000000000000..f6dbb1267bfe --- /dev/null +++ b/Documentation/devicetree/bindings/sound/qcom,q6prm.yaml @@ -0,0 +1,50 @@ +# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/qcom,q6prm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Proxy Resource Manager (Q6PRM) + +maintainers: + - Krzysztof Kozlowski krzysztof.kozlowski@linaro.org + - Srinivas Kandagatla srinivas.kandagatla@linaro.org + +allOf: + - $ref: /schemas/soc/qcom/qcom,apr-services.yaml# + +properties: + compatible: + enum: + - qcom,q6prm + + clock-controller: + $ref: /schemas/sound/qcom,q6dsp-lpass-clocks.yaml# + unevaluatedProperties: false + description: Qualcomm DSP LPASS clock controller + +required: + - compatible + - clock-controller + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/soc/qcom,gpr.h> + + gpr { + #address-cells = <1>; + #size-cells = <0>; + + service@2 { + reg = <GPR_PRM_MODULE_IID>; + compatible = "qcom,q6prm"; + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; + + clock-controller { + compatible = "qcom,q6prm-lpass-clocks"; + #clock-cells = <2>; + }; + }; + };
On Tue, 15 Nov 2022 13:02:32 +0100, Krzysztof Kozlowski wrote:
The APR/GPR bindings with services got complicated so move out the Q6PRM service to its own binding. Previously the compatible was documented in qcom,apr.yaml.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com
.../devicetree/bindings/sound/qcom,q6prm.yaml | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6prm.yaml
Reviewed-by: Rob Herring robh@kernel.org
The APR/GPR bindings with services got complicated so move out the Q6Core service to its own binding. Previously the compatible was documented in qcom,apr.yaml.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
---
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com --- .../bindings/sound/qcom,q6core.yaml | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6core.yaml
diff --git a/Documentation/devicetree/bindings/sound/qcom,q6core.yaml b/Documentation/devicetree/bindings/sound/qcom,q6core.yaml new file mode 100644 index 000000000000..e240712de9ca --- /dev/null +++ b/Documentation/devicetree/bindings/sound/qcom,q6core.yaml @@ -0,0 +1,39 @@ +# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/qcom,q6core.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Audio Core (Q6Core) + +maintainers: + - Krzysztof Kozlowski krzysztof.kozlowski@linaro.org + - Srinivas Kandagatla srinivas.kandagatla@linaro.org + +allOf: + - $ref: /schemas/soc/qcom/qcom,apr-services.yaml# + +properties: + compatible: + enum: + - qcom,q6core + +required: + - compatible + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/soc/qcom,apr.h> + + apr { + #address-cells = <1>; + #size-cells = <0>; + + service@3 { + compatible = "qcom,q6core"; + reg = <APR_SVC_ADSP_CORE>; + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; + }; + };
On Tue, 15 Nov 2022 13:02:33 +0100, Krzysztof Kozlowski wrote:
The APR/GPR bindings with services got complicated so move out the Q6Core service to its own binding. Previously the compatible was documented in qcom,apr.yaml.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com
.../bindings/sound/qcom,q6core.yaml | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6core.yaml
Reviewed-by: Rob Herring robh@kernel.org
The Qualcomm DSP LPASS Audio DAIs are a bit different than Qualcomm DSP Audio FrontEnd (Q6AFE) DAIs - they do not use children nodes for each DAI. None of other properties from qcom,q6dsp-lpass-ports.yaml apply here as well, so move the qcom,q6apm-lpass-dais compatible to its own binding.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
---
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com --- .../bindings/sound/qcom,q6apm-lpass-dais.yaml | 32 +++++++++++++++++++ .../sound/qcom,q6dsp-lpass-ports.yaml | 1 - 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6apm-lpass-dais.yaml
diff --git a/Documentation/devicetree/bindings/sound/qcom,q6apm-lpass-dais.yaml b/Documentation/devicetree/bindings/sound/qcom,q6apm-lpass-dais.yaml new file mode 100644 index 000000000000..4b3ce779206b --- /dev/null +++ b/Documentation/devicetree/bindings/sound/qcom,q6apm-lpass-dais.yaml @@ -0,0 +1,32 @@ +# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/qcom,q6apm-lpass-dais.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm DSP LPASS (Low Power Audio SubSystem) Audio Ports + +maintainers: + - Krzysztof Kozlowski krzysztof.kozlowski@linaro.org + - Srinivas Kandagatla srinivas.kandagatla@linaro.org + +properties: + compatible: + enum: + - qcom,q6apm-lpass-dais + + '#sound-dai-cells': + const: 1 + +required: + - compatible + - '#sound-dai-cells' + +additionalProperties: false + +examples: + - | + dais { + compatible = "qcom,q6apm-lpass-dais"; + #sound-dai-cells = <1>; + }; diff --git a/Documentation/devicetree/bindings/sound/qcom,q6dsp-lpass-ports.yaml b/Documentation/devicetree/bindings/sound/qcom,q6dsp-lpass-ports.yaml index b202692f1756..d8ebf2e528d2 100644 --- a/Documentation/devicetree/bindings/sound/qcom,q6dsp-lpass-ports.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,q6dsp-lpass-ports.yaml @@ -16,7 +16,6 @@ properties: compatible: enum: - qcom,q6afe-dais - - qcom,q6apm-lpass-dais
'#sound-dai-cells': const: 1
On Tue, 15 Nov 2022 13:02:34 +0100, Krzysztof Kozlowski wrote:
The Qualcomm DSP LPASS Audio DAIs are a bit different than Qualcomm DSP Audio FrontEnd (Q6AFE) DAIs - they do not use children nodes for each DAI. None of other properties from qcom,q6dsp-lpass-ports.yaml apply here as well, so move the qcom,q6apm-lpass-dais compatible to its own binding.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com
.../bindings/sound/qcom,q6apm-lpass-dais.yaml | 32 +++++++++++++++++++ .../sound/qcom,q6dsp-lpass-ports.yaml | 1 - 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6apm-lpass-dais.yaml
Reviewed-by: Rob Herring robh@kernel.org
On SM8450 and SC8280XP, the Q6APM is a bit different: 1. It is used as a platform DAI link, so it needs #sound-dai-cells. 2. It has two DAI children, so add new "bedais" node.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
---
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com --- .../devicetree/bindings/sound/qcom,q6apm.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
diff --git a/Documentation/devicetree/bindings/sound/qcom,q6apm.yaml b/Documentation/devicetree/bindings/sound/qcom,q6apm.yaml index 7acb832aa557..cd434e8268ce 100644 --- a/Documentation/devicetree/bindings/sound/qcom,q6apm.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,q6apm.yaml @@ -18,14 +18,24 @@ properties: enum: - qcom,q6apm
+ bedais: + type: object + $ref: /schemas/sound/qcom,q6apm-lpass-dais.yaml# + unevaluatedProperties: false + description: Qualcomm DSP audio ports + dais: type: object $ref: /schemas/sound/qcom,q6apm-dai.yaml# unevaluatedProperties: false description: Qualcomm DSP audio ports
+ '#sound-dai-cells': + const: 0 + required: - compatible + - bedais - dais
unevaluatedProperties: false @@ -41,11 +51,17 @@ examples: service@1 { reg = <GPR_APM_MODULE_IID>; compatible = "qcom,q6apm"; + #sound-dai-cells = <0>; qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
dais { compatible = "qcom,q6apm-dais"; iommus = <&apps_smmu 0x1801 0x0>; }; + + bedais { + compatible = "qcom,q6apm-lpass-dais"; + #sound-dai-cells = <1>; + }; }; };
On Tue, 15 Nov 2022 13:02:35 +0100, Krzysztof Kozlowski wrote:
On SM8450 and SC8280XP, the Q6APM is a bit different:
- It is used as a platform DAI link, so it needs #sound-dai-cells.
- It has two DAI children, so add new "bedais" node.
Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
Cc: quic_srivasam@quicinc.com Cc: quic_plai@quicinc.com
.../devicetree/bindings/sound/qcom,q6apm.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
Reviewed-by: Rob Herring robh@kernel.org
On Tue, 15 Nov 2022 13:02:24 +0100, Krzysztof Kozlowski wrote:
Changes since v1
- Patch 2: Keep compatibles in qcom,apr.yaml.
- Patch 3: New patch.
Description
Adding sound support for Qualcomm SM8450 SoC (and later for SC8280XP) brought some changes to APR/GPR services bindings. These bindings are part of qcom,apr.yaml:
[...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[01/11] ASoC: dt-bindings: qcom,apr: Add GLINK channel name for SM8450 commit: 0dd3618e06f86bbdacad3a40b25bf79b8917000c [02/11] ASoC: dt-bindings: qcom,apr: Split services to shared schema commit: 41288c30583646e2b4158c75ccdbddc62597e1fa [03/11] ASoC: dt-bindings: qcom,apr: Correct and extend example commit: cd9ba3d065bb94f3c20e36ed400269a285bfa46d [04/11] ASoC: dt-bindings: qcom,q6afe: Split to separate schema commit: 3e9c0c86267377f1404bc55051f476a0456dcced [05/11] ASoC: dt-bindings: qcom,q6apm: Split to separate schema commit: 6180b3252010f7cccdef896faf305456df4c45cf [06/11] ASoC: dt-bindings: qcom,q6adm: Split to separate schema commit: f26a776ea5ea22b5a92b0619af54d202e4027524 [07/11] ASoC: dt-bindings: qcom,q6asm: Split to separate schema commit: 83c8fa5e85e556e6aa3e95e7070ef738964ebd17 [08/11] ASoC: dt-bindings: qcom,q6prm: Split to separate schema commit: 8009abe0f14052bbfadcdaba7887226b40dfdb51 [09/11] ASoC: dt-bindings: qcom,q6core: Split to separate schema commit: 7eea2bed3602a2b2e71146e0110d42f6edf917f5 [10/11] ASoC: dt-bindings: qcom,q6apm-lpass-dais: Split to separate schema commit: 8c7ac825481602e356d96db9424b4d4e23a6a1d3 [11/11] ASoC: dt-bindings: qcom,q6apm: Add SM8450 bedais node commit: b386acc043f44a730d5117b71b75e818cede21cc
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
participants (3)
-
Krzysztof Kozlowski
-
Mark Brown
-
Rob Herring