[PATCH v4 01/20] soc: dt-bindings: qcom: apr: convert to yaml
Srinivas Kandagatla
srinivas.kandagatla at linaro.org
Wed Sep 1 16:28:18 CEST 2021
Thanks Rob for the review,
On 13/08/2021 23:23, Rob Herring wrote:
> On Mon, Aug 09, 2021 at 12:23:20PM +0100, Srinivas Kandagatla wrote:
>> Convert APR bindings to yaml format so that we could add new bindings support.
>>
>> All the dsp services bindings are now part of apr bindings instead
>> of adding them to audio bindings.
>>
>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
>> ---
>> .../devicetree/bindings/soc/qcom/qcom,apr.txt | 134 ------------------
>> .../bindings/soc/qcom/qcom,apr.yaml | 127 +++++++++++++++++
>> 2 files changed, 127 insertions(+), 134 deletions(-)
>> delete mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,apr.txt
>> create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,apr.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,apr.txt
>> deleted file mode 100644
>> index 2e2f6dc351c0..000000000000
>> --- a/Documentation/devicetree/bindings/soc/qcom/qcom,apr.txt
>> +++ /dev/null
>> @@ -1,134 +0,0 @@
...
>> diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml
>> new file mode 100644
>> index 000000000000..12650f7084f4
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml
>> @@ -0,0 +1,127 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: "http://devicetree.org/schemas/soc/qcom/qcom,apr.yaml#"
>> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
>> +
>> +title: Qualcomm APR (Asynchronous Packet Router) binding
>> +
>> +maintainers:
>> + - Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
>> +
>> +description: |
>> + This binding describes the Qualcomm APR, APR is a IPC protocol for
>> + communication between Application processor and QDSP. APR is mainly
>> + used for audio/voice services on the QDSP.
>> +
>> +properties:
>> + compatible:
>> + enum:
>> + - qcom,apr
>
> This wasn't a valid compatible before.
True, Will remove that in next version.
>
>> + - qcom,apr-v2
>> +
>> + qcom,apr-domain:
>> + $ref: /schemas/types.yaml#/definitions/uint32
>> + enum: [1, 2, 3, 4, 5, 6, 7]
>> + description:
>> + Selects the processor domain for apr
>> + 1 = APR simulator
>> + 2 = PC Domain
>> + 3 = Modem Domain
>> + 4 = ADSP Domain
>> + 5 = Application processor Domain
>> + 6 = Modem2 Domain
>> + 7 = Application Processor2 Domain
>> +
>> + '#address-cells':
>> + const: 1
>> +
>> + '#size-cells':
>> + const: 0
>> +
>> +#APR Services
>> +patternProperties:
>> + "^apr-service@[0-9a-e]$":
>
> Based on reg, this should be: [3-9a-d]
Sure, will fix that.
>
>> + type: object
>> + description:
>> + APR node's client devices use subnodes for desired static port services.
>> +
>> + properties:
>> + compatible:
>> + enum:
>> + - qcom,q6core
>> + - qcom,q6asm
>> + - qcom,q6afe
>> + - qcom,q6adm
>> +
>> + reg:
>> + enum: [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 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.
>> +
>> + qcom,protection-domain:
>> + $ref: /schemas/types.yaml#/definitions/string-array
>> + description: protection domain service name and path for apr service
>> + has dependency on.
>> + items:
>> + - const: avs/audio
>> + - const: msm/adsp/audio_pd
>
> You've dropped a bunch of possible values.
>
PDR services used for APR driver are only these two audio services.
so the others are really list of other services that APR driver will not
using.
I can retain them as it was before, but we can tidy this list up in a
cleanup patch later.
--srini
>> +
>> + '#address-cells':
>> + const: 1
>> +
>> + '#size-cells':
>> + const: 0
>> +
>> + additionalProperties: false
>> +
>> +required:
>> + - compatible
>> + - qcom,apr-domain
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/soc/qcom,apr.h>
>> + apr {
>> + compatible = "qcom,apr-v2";
>> + qcom,apr-domain = <APR_DOMAIN_ADSP>;
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + q6core: apr-service at 3 {
>> + compatible = "qcom,q6core";
>> + reg = <APR_SVC_ADSP_CORE>;
>> + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
>> + };
>> +
>> + q6afe: apr-service at 4 {
>> + compatible = "qcom,q6afe";
>> + reg = <APR_SVC_AFE>;
>> + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
>> + };
>> +
>> + q6asm: apr-service at 7 {
>> + compatible = "qcom,q6asm";
>> + reg = <APR_SVC_ASM>;
>> + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
>> + };
>> +
>> + q6adm: apr-service at 8 {
>> + compatible = "qcom,q6adm";
>> + reg = <APR_SVC_ADM>;
>> + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
>> + };
>> + };
>> --
>> 2.21.0
>>
>>
More information about the Alsa-devel
mailing list