Unverified Commit b2496de1 authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Mark Brown
Browse files

dt-bindings: soc: qcom: apr: correct service children



The APR bindings were not describing properly children nodes for DAIs.
None of the DTSes use unit addresses for the children, so correct the
nodes and reference their schema: clock-controller, dais and routing.

Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20220910091428.50418-10-krzysztof.kozlowski@linaro.org


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 80e78fcc
Loading
Loading
Loading
Loading
+53 −11
Original line number Diff line number Diff line
@@ -97,6 +97,21 @@ patternProperties:
            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:
        # TODO: Waiting for Documentation/devicetree/bindings/sound/qcom,q6asm.txt
        type: object
        description: Qualcomm DSP audio ports

      routing:
        # TODO: Waiting for Documentation/devicetree/bindings/sound/qcom,q6adm.txt
        type: object
        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
@@ -107,17 +122,44 @@ patternProperties:
          "tms/servreg", "msm/modem/wlan_pd".
          "tms/servreg", "msm/slpi/sensor_pd".

      '#address-cells':
        const: 1
    allOf:
      - if:
          properties:
            compatible:
              enum:
                - qcom,q6afe
        then:
          properties:
            dais:
              properties:
                compatible:
                  const: qcom,q6afe-dais

      '#size-cells':
        const: 0
      - if:
          properties:
            compatible:
              enum:
                - qcom,q6apm
        then:
          properties:
            dais:
              properties:
                compatible:
                  enum:
                    - qcom,q6apm-dais
                    - qcom,q6apm-lpass-dais

    patternProperties:
      "^.*@[0-9a-f]+$":
        type: object
        description:
          Service based devices like clock controllers or digital audio interfaces.
      - if:
          properties:
            compatible:
              enum:
                - qcom,q6asm
        then:
          properties:
            dais:
              properties:
                compatible:
                  const: qcom,q6asm-dais

    additionalProperties: false

+1 −9
Original line number Diff line number Diff line
@@ -16,16 +16,12 @@ properties:
  compatible:
    const: qcom,q6apm-dais

  reg:
    maxItems: 1

  iommus:
    maxItems: 1

required:
  - compatible
  - iommus
  - reg

additionalProperties: false

@@ -41,13 +37,9 @@ examples:
          compatible = "qcom,q6apm";
          reg = <1>;

          #address-cells = <1>;
          #size-cells = <0>;

          apm-dai@1 {
          dais {
            compatible = "qcom,q6apm-dais";
            iommus = <&apps_smmu 0x1801 0x0>;
            reg = <1>;
          };
        };
    };
+4 −12
Original line number Diff line number Diff line
@@ -18,9 +18,6 @@ properties:
      - qcom,q6afe-clocks
      - qcom,q6prm-lpass-clocks

  reg:
    maxItems: 1

  '#clock-cells':
    const: 2
    description:
@@ -32,7 +29,6 @@ properties:

required:
  - compatible
  - reg
  - "#clock-cells"

additionalProperties: false
@@ -46,11 +42,9 @@ examples:
        #size-cells = <0>;
        apr-service@4 {
            reg = <APR_SVC_AFE>;
            #address-cells = <1>;
            #size-cells = <0>;
            clock-controller@2 {

            clock-controller {
              compatible = "qcom,q6afe-clocks";
              reg = <2>;
              #clock-cells = <2>;
            };
        };
@@ -66,11 +60,9 @@ examples:
        service@2 {
            reg = <GPR_PRM_MODULE_IID>;
            compatible = "qcom,q6prm";
            #address-cells = <1>;
            #size-cells = <0>;
            clock-controller@2 {

            clock-controller {
              compatible = "qcom,q6prm-lpass-clocks";
              reg = <2>;
              #clock-cells = <2>;
            };
        };
+4 −12
Original line number Diff line number Diff line
@@ -18,9 +18,6 @@ properties:
      - qcom,q6afe-dais
      - qcom,q6apm-lpass-dais

  reg:
    maxItems: 1

  '#sound-dai-cells':
    const: 1

@@ -145,7 +142,6 @@ patternProperties:

required:
  - compatible
  - reg
  - "#sound-dai-cells"
  - "#address-cells"
  - "#size-cells"
@@ -161,11 +157,9 @@ examples:
        #size-cells = <0>;
        apr-service@4 {
            reg = <APR_SVC_AFE>;
            #address-cells = <1>;
            #size-cells = <0>;
            q6afedai@1 {

            dais {
              compatible = "qcom,q6afe-dais";
              reg = <1>;
              #address-cells = <1>;
              #size-cells = <0>;
              #sound-dai-cells = <1>;
@@ -187,11 +181,9 @@ examples:
        service@1 {
            compatible = "qcom,q6apm";
            reg = <GPR_APM_MODULE_IID>;
            #address-cells = <1>;
            #size-cells = <0>;
            q6apmdai@1 {

            dais {
              compatible = "qcom,q6apm-lpass-dais";
              reg = <1>;
              #address-cells = <1>;
              #size-cells = <0>;
              #sound-dai-cells = <1>;