Unverified Commit 12e51866 authored by Mark Brown's avatar Mark Brown
Browse files

ASoC/qcom/arm64: Qualcomm ADSP DTS and binding fixes

Merge series from Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>:

Hi,

Dependencies/merging
====================
1. The DTS patches are independent.
2. The binding patches should come together, because of context changes. Could
   be one of: Qualcomm SoC, ASoC or DT tree.

Changes since v3
================
1. Patch 9-10: re-order, so first apr.yaml is corrected and then we convert to
   DT schema. This makes patchset fully bisectable in expense of changing the same
   lines twice.
2. Patch 11: New patch.

Changes since v2
================
1. Patch 9: rename and extend commit msg.
2. Add Rb tags.

Changes since v1
================
1. Patch 9: New patch.
2. Patch 10: Correct also sound/qcom,q6apm-dai.yaml (Rob).
2. Patch 13: New patch.
3. Add Rb/Tb tags.

Best regards,
Krzysztof

Krzysztof Kozlowski (15):
  arm64: dts: qcom: sdm630: align APR services node names with dtschema
  arm64: dts: qcom: sdm845: align APR services node names with dtschema
  arm64: dts: qcom: sm8250: align APR services node names with dtschema
  arm64: dts: qcom: msm8996: fix APR services nodes
  arm64: dts: qcom: sdm845: align dai node names with dtschema
  arm64: dts: qcom: msm8996: align dai node names with dtschema
  arm64: dts: qcom: qrb5165-rb5: align dai node names with dtschema
  arm64: dts: qcom: sm8250: use generic name for LPASS clock controller
  dt-bindings: soc: qcom: apr: correct service children
  ASoC: dt-bindings: qcom,q6asm: convert to dtschema
  ASoC: dt-bindings: qcom,q6adm: convert to dtschema
  ASoC: dt-bindings: qcom,q6dsp-lpass-ports: cleanup example
  ASoC: dt-bindings: qcom,q6dsp-lpass-clocks: cleanup example
  ASoC: dt-bindings: qcom,q6apm-dai: adjust indentation in example
  dt-bindings: soc: qcom: apr: add missing properties

 .../bindings/soc/qcom/qcom,apr.yaml           | 112 ++++++++++++++++--
 .../bindings/sound/qcom,q6adm-routing.yaml    |  52 ++++++++
 .../devicetree/bindings/sound/qcom,q6adm.txt  |  39 ------
 .../bindings/sound/qcom,q6apm-dai.yaml        |  21 ++--
 .../bindings/sound/qcom,q6asm-dais.yaml       | 112 ++++++++++++++++++
 .../devicetree/bindings/sound/qcom,q6asm.txt  |  70 -----------
 .../sound/qcom,q6dsp-lpass-clocks.yaml        |  36 +++---
 .../sound/qcom,q6dsp-lpass-ports.yaml         |  64 +++++-----
 arch/arm64/boot/dts/qcom/msm8996.dtsi         |  10 +-
 arch/arm64/boot/dts/qcom/qrb5165-rb5.dts      |   4 +-
 arch/arm64/boot/dts/qcom/sdm630.dtsi          |   8 +-
 arch/arm64/boot/dts/qcom/sdm845-db845c.dts    |   2 +-
 .../boot/dts/qcom/sdm845-xiaomi-beryllium.dts |   2 +-
 .../boot/dts/qcom/sdm845-xiaomi-polaris.dts   |   4 +-
 arch/arm64/boot/dts/qcom/sdm845.dtsi          |   8 +-
 arch/arm64/boot/dts/qcom/sm8250.dtsi          |  10 +-
 16 files changed, 346 insertions(+), 208 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6adm-routing.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/qcom,q6adm.txt
 create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6asm-dais.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/qcom,q6asm.txt

--
2.34.1
parents a6b0be65 b2d7616e
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -48,7 +48,6 @@ required:
  - compatible
  - reg
  - reg-names
  - intel,vm-map
  - clocks
  - resets
  - "#thermal-sensor-cells"
+3 −0
Original line number Diff line number Diff line
@@ -60,6 +60,9 @@ properties:
  power-domains:
    maxItems: 1

  resets:
    maxItems: 1

required:
  - compatible
  - reg
+1 −2
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ patternProperties:
    description: List of regulators and its properties
    type: object
    $ref: regulator.yaml#
    unevaluatedProperties: false

    properties:
      qcom,ocp-max-retries:
@@ -100,8 +101,6 @@ patternProperties:
          SAW controlled gang leader. Will be configured as SAW regulator.
        type: boolean

      unevaluatedProperties: false

required:
  - compatible

+49 −30
Original line number Diff line number Diff line
@@ -17,9 +17,6 @@ description:
  acts as directory-based coherency manager.
  All the properties in ePAPR/DeviceTree specification applies for this platform.

allOf:
  - $ref: /schemas/cache-controller.yaml#

select:
  properties:
    compatible:
@@ -33,11 +30,16 @@ select:

properties:
  compatible:
    items:
    oneOf:
      - items:
          - enum:
              - sifive,fu540-c000-ccache
              - sifive,fu740-c000-ccache
          - const: cache
      - items:
          - const: microchip,mpfs-ccache
          - const: sifive,fu540-c000-ccache
          - const: cache

  cache-block-size:
    const: 64
@@ -72,30 +74,47 @@ properties:
      The reference to the reserved-memory for the L2 Loosely Integrated Memory region.
      The reserved memory node should be defined as per the bindings in reserved-memory.txt.

if:
allOf:
  - $ref: /schemas/cache-controller.yaml#

  - if:
      properties:
        compatible:
          contains:
        const: sifive,fu540-c000-ccache
            enum:
              - sifive,fu740-c000-ccache
              - microchip,mpfs-ccache

    then:
      properties:
        interrupts:
          description: |
        Must contain entries for DirError, DataError and DataFail signals.
      maxItems: 3
    cache-sets:
      const: 1024
            Must contain entries for DirError, DataError, DataFail, DirFail signals.
          minItems: 4

    else:
      properties:
        interrupts:
          description: |
        Must contain entries for DirError, DataError, DataFail, DirFail signals.
      minItems: 4
            Must contain entries for DirError, DataError and DataFail signals.
          maxItems: 3

  - if:
      properties:
        compatible:
          contains:
            const: sifive,fu740-c000-ccache

    then:
      properties:
        cache-sets:
          const: 2048

    else:
      properties:
        cache-sets:
          const: 1024

additionalProperties: false

required:
+103 −9
Original line number Diff line number Diff line
@@ -20,6 +20,9 @@ properties:
      - qcom,apr-v2
      - qcom,gpr

  power-domains:
    maxItems: 1

  qcom,apr-domain:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [1, 2, 3, 4, 5, 6, 7]
@@ -52,6 +55,26 @@ properties:
        2 = Audio DSP Domain
        3 = Application Processor Domain

  qcom,glink-channels:
    $ref: /schemas/types.yaml#/definitions/string-array
    description: Channel name used for the communication
    items:
      - const: apr_audio_svc

  qcom,intents:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    description:
      List of (size, amount) pairs describing what intents should be
      preallocated for this virtual channel. This can be used to tweak the
      default intents available for the channel to meet expectations of the
      remote.

  qcom,smd-channels:
    $ref: /schemas/types.yaml#/definitions/string-array
    description: Channel name used for the communication
    items:
      - const: apr_audio_svc

  '#address-cells':
    const: 1

@@ -97,6 +120,26 @@ 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:
        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
@@ -107,17 +150,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

@@ -125,6 +195,30 @@ required:
  - compatible
  - qcom,domain

allOf:
  - if:
      properties:
        compatible:
          enum:
            - qcom,gpr
    then:
      properties:
        power-domains: false

  - if:
      required:
        - qcom,glink-channels
    then:
      properties:
        qcom,smd-channels: false

  - if:
      required:
        - qcom,smd-channels
    then:
      properties:
        qcom,glink-channels: false

additionalProperties: false

examples:
Loading