brintos

brintos / linux-shallow public Read only

0
0
Text · 6.7 KiB · 3a559bd Raw
291 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/sound/qcom,lpass-cpu.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Qualcomm Technologies Inc. LPASS CPU dai driver8 9maintainers:10  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>11  - Rohit kumar <quic_rohkumar@quicinc.com>12 13description: |14  Qualcomm Technologies Inc. SOC Low-Power Audio SubSystem (LPASS) that consist15  of MI2S interface for audio data transfer on external codecs. LPASS cpu driver16  is a module to configure Low-Power Audio Interface(LPAIF) core registers17  across different IP versions.18 19properties:20  compatible:21    enum:22      - qcom,lpass-cpu23      - qcom,apq8016-lpass-cpu24      - qcom,sc7180-lpass-cpu25      - qcom,sc7280-lpass-cpu26 27  reg:28    minItems: 129    maxItems: 630    description: LPAIF core registers31 32  reg-names:33    minItems: 134    maxItems: 635 36  clocks:37    minItems: 338    maxItems: 1039 40  clock-names:41    minItems: 142    maxItems: 1043 44  interrupts:45    minItems: 146    maxItems: 447    description: LPAIF DMA buffer interrupt48 49  interrupt-names:50    minItems: 151    maxItems: 452 53  qcom,adsp:54    $ref: /schemas/types.yaml#/definitions/phandle55    description: Phandle for the audio DSP node56 57  iommus:58    minItems: 259    maxItems: 360    description: Phandle to apps_smmu node with sid mask61 62  power-domains:63    maxItems: 164 65  power-domain-names:66    maxItems: 167 68  required-opps:69    maxItems: 170 71  '#sound-dai-cells':72    const: 173 74  '#address-cells':75    const: 176 77  '#size-cells':78    const: 079 80patternProperties:81  "^dai-link@[0-9a-f]+$":82    type: object83    description: |84      LPASS CPU dai node for each I2S device or Soundwire device. Bindings of each node85      depends on the specific driver providing the functionality and86      properties.87    properties:88      reg:89        maxItems: 190        description: Must be one of the DAI ID91 92      qcom,playback-sd-lines:93        $ref: /schemas/types.yaml#/definitions/uint32-array94        description: list of MI2S data lines for playback95 96      qcom,capture-sd-lines:97        $ref: /schemas/types.yaml#/definitions/uint32-array98        description: list of MI2S data lines for capture99 100    required:101      - reg102 103    additionalProperties: false104 105required:106  - compatible107  - reg108  - reg-names109  - clocks110  - clock-names111  - interrupts112  - interrupt-names113  - '#sound-dai-cells'114 115unevaluatedProperties: false116 117allOf:118  - $ref: dai-common.yaml#119  - if:120      properties:121        compatible:122          contains:123            const: qcom,lpass-cpu124 125    then:126      properties:127        clocks:128          maxItems: 3129        clock-names:130          items:131            - const: ahbix-clk132            - const: mi2s-osr-clk133            - const: mi2s-bit-clk134 135  - if:136      properties:137        compatible:138          contains:139            const: qcom,apq8016-lpass-cpu140 141    then:142      properties:143        clocks:144          minItems: 7145          maxItems: 7146        clock-names:147          items:148            - const: ahbix-clk149            - const: mi2s-bit-clk0150            - const: mi2s-bit-clk1151            - const: mi2s-bit-clk2152            - const: mi2s-bit-clk3153            - const: pcnoc-mport-clk154            - const: pcnoc-sway-clk155 156  - if:157      properties:158        compatible:159          contains:160            const: qcom,sc7180-lpass-cpu161 162    then:163      properties:164        clocks:165          minItems: 6166          maxItems: 6167        clock-names:168          items:169            - const: pcnoc-sway-clk170            - const: audio-core171            - const: mclk0172            - const: pcnoc-mport-clk173            - const: mi2s-bit-clk0174            - const: mi2s-bit-clk1175        reg:176          minItems: 2177          maxItems: 2178        reg-names:179          items:180            - const: lpass-hdmiif181            - const: lpass-lpaif182        interrupts:183          minItems: 2184          maxItems: 2185        interrupt-names:186          items:187            - const: lpass-irq-lpaif188            - const: lpass-irq-hdmi189      required:190        - iommus191        - power-domains192 193  - if:194      properties:195        compatible:196          contains:197            const: qcom,sc7280-lpass-cpu198 199    then:200      properties:201        clocks:202          minItems: 10203          maxItems: 10204        clock-names:205          items:206            - const: aon_cc_audio_hm_h207            - const: audio_cc_ext_mclk0208            - const: core_cc_sysnoc_mport_core209            - const: core_cc_ext_if0_ibit210            - const: core_cc_ext_if1_ibit211            - const: audio_cc_codec_mem212            - const: audio_cc_codec_mem0213            - const: audio_cc_codec_mem1214            - const: audio_cc_codec_mem2215            - const: aon_cc_va_mem0216        reg:217          minItems: 6218          maxItems: 6219        reg-names:220          items:221            - const: lpass-hdmiif222            - const: lpass-lpaif223            - const: lpass-rxtx-cdc-dma-lpm224            - const: lpass-rxtx-lpaif225            - const: lpass-va-lpaif226            - const: lpass-va-cdc-dma-lpm227        interrupts:228          minItems: 4229          maxItems: 4230        interrupt-names:231          items:232            - const: lpass-irq-lpaif233            - const: lpass-irq-hdmi234            - const: lpass-irq-vaif235            - const: lpass-irq-rxtxif236        power-domain-names:237          items:238            - const: lcx239 240      required:241        - iommus242        - power-domains243 244examples:245  - |246    #include <dt-bindings/sound/sc7180-lpass.h>247 248    soc {249        #address-cells = <2>;250        #size-cells = <2>;251        lpass@62d80000 {252            compatible = "qcom,sc7180-lpass-cpu";253 254            reg = <0 0x62d87000 0 0x68000>,255                  <0 0x62f00000 0 0x29000>;256            reg-names = "lpass-hdmiif",257                        "lpass-lpaif";258            iommus = <&apps_smmu 0x1020 0>,259                     <&apps_smmu 0x1032 0>;260            power-domains = <&lpass_hm 0>;261 262            clocks = <&gcc 131>,263                 <&lpasscorecc 6>,264                 <&lpasscorecc 7>,265                 <&lpasscorecc 10>,266                 <&lpasscorecc 8>,267                 <&lpasscorecc 9>;268 269            clock-names = "pcnoc-sway-clk", "audio-core",270                          "mclk0", "pcnoc-mport-clk",271                          "mi2s-bit-clk0", "mi2s-bit-clk1";272 273            interrupts = <0 160 1>,274                         <0 268 1>;275            interrupt-names = "lpass-irq-lpaif",276                              "lpass-irq-hdmi";277            #sound-dai-cells = <1>;278 279            #address-cells = <1>;280            #size-cells = <0>;281            /* Optional to set different MI2S SD lines */282            dai-link@0 {283                reg = <MI2S_PRIMARY>;284                qcom,playback-sd-lines = <1>;285                qcom,capture-sd-lines = <0>;286            };287        };288    };289 290...291