14b381d7eSRohit kumar# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 24b381d7eSRohit kumar%YAML 1.2 34b381d7eSRohit kumar--- 44b381d7eSRohit kumar$id: http://devicetree.org/schemas/sound/qcom,lpass-cpu.yaml# 54b381d7eSRohit kumar$schema: http://devicetree.org/meta-schemas/core.yaml# 64b381d7eSRohit kumar 784e85359SKrzysztof Kozlowskititle: Qualcomm Technologies Inc. LPASS CPU dai driver 84b381d7eSRohit kumar 94b381d7eSRohit kumarmaintainers: 104b381d7eSRohit kumar - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 11*a1ff5802SRohit kumar - Rohit kumar <quic_rohkumar@quicinc.com> 124b381d7eSRohit kumar 134b381d7eSRohit kumardescription: | 144b381d7eSRohit kumar Qualcomm Technologies Inc. SOC Low-Power Audio SubSystem (LPASS) that consist 154b381d7eSRohit kumar of MI2S interface for audio data transfer on external codecs. LPASS cpu driver 164b381d7eSRohit kumar is a module to configure Low-Power Audio Interface(LPAIF) core registers 174b381d7eSRohit kumar across different IP versions. 184b381d7eSRohit kumar 194b381d7eSRohit kumarproperties: 204b381d7eSRohit kumar compatible: 214b381d7eSRohit kumar enum: 224b381d7eSRohit kumar - qcom,lpass-cpu 234b381d7eSRohit kumar - qcom,apq8016-lpass-cpu 244b381d7eSRohit kumar - qcom,sc7180-lpass-cpu 25f3fc4fbfSSrinivasa Rao Mandadapu - qcom,sc7280-lpass-cpu 264b381d7eSRohit kumar 274b381d7eSRohit kumar reg: 2894c65dffSBryan O'Donoghue minItems: 1 29f3fc4fbfSSrinivasa Rao Mandadapu maxItems: 6 304b381d7eSRohit kumar description: LPAIF core registers 316ad8838dSRob Herring 328e3fdc52SV Sujith Kumar Reddy reg-names: 3394c65dffSBryan O'Donoghue minItems: 1 34f3fc4fbfSSrinivasa Rao Mandadapu maxItems: 6 356ad8838dSRob Herring 364b381d7eSRohit kumar clocks: 374b381d7eSRohit kumar minItems: 3 38ffb2bbdfSKrzysztof Kozlowski maxItems: 10 394b381d7eSRohit kumar 404b381d7eSRohit kumar clock-names: 4198b7630aSSrinivasa Rao Mandadapu minItems: 1 4298b7630aSSrinivasa Rao Mandadapu maxItems: 10 434b381d7eSRohit kumar 444b381d7eSRohit kumar interrupts: 4594c65dffSBryan O'Donoghue minItems: 1 46f3fc4fbfSSrinivasa Rao Mandadapu maxItems: 4 474b381d7eSRohit kumar description: LPAIF DMA buffer interrupt 486ad8838dSRob Herring 498e3fdc52SV Sujith Kumar Reddy interrupt-names: 5094c65dffSBryan O'Donoghue minItems: 1 51f3fc4fbfSSrinivasa Rao Mandadapu maxItems: 4 526ad8838dSRob Herring 534b381d7eSRohit kumar qcom,adsp: 544b381d7eSRohit kumar $ref: /schemas/types.yaml#/definitions/phandle 554b381d7eSRohit kumar description: Phandle for the audio DSP node 564b381d7eSRohit kumar 574b381d7eSRohit kumar iommus: 58f3fc4fbfSSrinivasa Rao Mandadapu minItems: 2 59f3fc4fbfSSrinivasa Rao Mandadapu maxItems: 3 604b381d7eSRohit kumar description: Phandle to apps_smmu node with sid mask 614b381d7eSRohit kumar 624b381d7eSRohit kumar power-domains: 634b381d7eSRohit kumar maxItems: 1 644b381d7eSRohit kumar 6598b7630aSSrinivasa Rao Mandadapu power-domain-names: 6698b7630aSSrinivasa Rao Mandadapu maxItems: 1 6798b7630aSSrinivasa Rao Mandadapu 68a1df7854SKrzysztof Kozlowski required-opps: 69a1df7854SKrzysztof Kozlowski maxItems: 1 70a1df7854SKrzysztof Kozlowski 714b381d7eSRohit kumar '#sound-dai-cells': 724b381d7eSRohit kumar const: 1 734b381d7eSRohit kumar 744b381d7eSRohit kumar '#address-cells': 754b381d7eSRohit kumar const: 1 764b381d7eSRohit kumar 774b381d7eSRohit kumar '#size-cells': 784b381d7eSRohit kumar const: 0 794b381d7eSRohit kumar 804b381d7eSRohit kumarpatternProperties: 815f9cd0f7SKrzysztof Kozlowski "^dai-link@[0-9a-f]+$": 824b381d7eSRohit kumar type: object 838e3fdc52SV Sujith Kumar Reddy description: | 84f3fc4fbfSSrinivasa Rao Mandadapu LPASS CPU dai node for each I2S device or Soundwire device. Bindings of each node 858e3fdc52SV Sujith Kumar Reddy depends on the specific driver providing the functionality and 868e3fdc52SV Sujith Kumar Reddy properties. 874b381d7eSRohit kumar properties: 884b381d7eSRohit kumar reg: 894b381d7eSRohit kumar maxItems: 1 904b381d7eSRohit kumar description: Must be one of the DAI ID 914b381d7eSRohit kumar 924b381d7eSRohit kumar qcom,playback-sd-lines: 934b381d7eSRohit kumar $ref: /schemas/types.yaml#/definitions/uint32-array 944b381d7eSRohit kumar description: list of MI2S data lines for playback 954b381d7eSRohit kumar 964b381d7eSRohit kumar qcom,capture-sd-lines: 974b381d7eSRohit kumar $ref: /schemas/types.yaml#/definitions/uint32-array 984b381d7eSRohit kumar description: list of MI2S data lines for capture 994b381d7eSRohit kumar 1004b381d7eSRohit kumar required: 1014b381d7eSRohit kumar - reg 1024b381d7eSRohit kumar 1034b381d7eSRohit kumar additionalProperties: false 1044b381d7eSRohit kumar 1054b381d7eSRohit kumarrequired: 1064b381d7eSRohit kumar - compatible 1074b381d7eSRohit kumar - reg 1088e3fdc52SV Sujith Kumar Reddy - reg-names 1094b381d7eSRohit kumar - clocks 1104b381d7eSRohit kumar - clock-names 1114b381d7eSRohit kumar - interrupts 1128e3fdc52SV Sujith Kumar Reddy - interrupt-names 1134b381d7eSRohit kumar - '#sound-dai-cells' 1144b381d7eSRohit kumar 11558ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false 1164b381d7eSRohit kumar 1174b381d7eSRohit kumarallOf: 11858ae9a2aSKrzysztof Kozlowski - $ref: dai-common.yaml# 1194b381d7eSRohit kumar - if: 1204b381d7eSRohit kumar properties: 1214b381d7eSRohit kumar compatible: 1224b381d7eSRohit kumar contains: 1234b381d7eSRohit kumar const: qcom,lpass-cpu 1244b381d7eSRohit kumar 1254b381d7eSRohit kumar then: 1264b381d7eSRohit kumar properties: 127ffb2bbdfSKrzysztof Kozlowski clocks: 128ffb2bbdfSKrzysztof Kozlowski maxItems: 3 1294b381d7eSRohit kumar clock-names: 1304b381d7eSRohit kumar items: 1314b381d7eSRohit kumar - const: ahbix-clk 1324b381d7eSRohit kumar - const: mi2s-osr-clk 1334b381d7eSRohit kumar - const: mi2s-bit-clk 1344b381d7eSRohit kumar 1354b381d7eSRohit kumar - if: 1364b381d7eSRohit kumar properties: 1374b381d7eSRohit kumar compatible: 1384b381d7eSRohit kumar contains: 1394b381d7eSRohit kumar const: qcom,apq8016-lpass-cpu 1404b381d7eSRohit kumar 1414b381d7eSRohit kumar then: 1424b381d7eSRohit kumar properties: 143ffb2bbdfSKrzysztof Kozlowski clocks: 144ffb2bbdfSKrzysztof Kozlowski minItems: 7 145ffb2bbdfSKrzysztof Kozlowski maxItems: 7 1464b381d7eSRohit kumar clock-names: 1474b381d7eSRohit kumar items: 1484b381d7eSRohit kumar - const: ahbix-clk 1494b381d7eSRohit kumar - const: mi2s-bit-clk0 1504b381d7eSRohit kumar - const: mi2s-bit-clk1 1514b381d7eSRohit kumar - const: mi2s-bit-clk2 1524b381d7eSRohit kumar - const: mi2s-bit-clk3 1534b381d7eSRohit kumar - const: pcnoc-mport-clk 1544b381d7eSRohit kumar - const: pcnoc-sway-clk 1554b381d7eSRohit kumar 1564b381d7eSRohit kumar - if: 1574b381d7eSRohit kumar properties: 1584b381d7eSRohit kumar compatible: 1594b381d7eSRohit kumar contains: 1604b381d7eSRohit kumar const: qcom,sc7180-lpass-cpu 1614b381d7eSRohit kumar 1624b381d7eSRohit kumar then: 1634b381d7eSRohit kumar properties: 164ffb2bbdfSKrzysztof Kozlowski clocks: 165ffb2bbdfSKrzysztof Kozlowski minItems: 6 166ffb2bbdfSKrzysztof Kozlowski maxItems: 6 1674b381d7eSRohit kumar clock-names: 168ffb2bbdfSKrzysztof Kozlowski items: 1694b381d7eSRohit kumar - const: pcnoc-sway-clk 1704b381d7eSRohit kumar - const: audio-core 1714b381d7eSRohit kumar - const: mclk0 1724b381d7eSRohit kumar - const: pcnoc-mport-clk 1734b381d7eSRohit kumar - const: mi2s-bit-clk0 1744b381d7eSRohit kumar - const: mi2s-bit-clk1 175ffb2bbdfSKrzysztof Kozlowski reg: 176ffb2bbdfSKrzysztof Kozlowski minItems: 2 177ffb2bbdfSKrzysztof Kozlowski maxItems: 2 1788e3fdc52SV Sujith Kumar Reddy reg-names: 179ffb2bbdfSKrzysztof Kozlowski items: 1808e3fdc52SV Sujith Kumar Reddy - const: lpass-hdmiif 1818e3fdc52SV Sujith Kumar Reddy - const: lpass-lpaif 182ffb2bbdfSKrzysztof Kozlowski interrupts: 183ffb2bbdfSKrzysztof Kozlowski minItems: 2 184ffb2bbdfSKrzysztof Kozlowski maxItems: 2 1858e3fdc52SV Sujith Kumar Reddy interrupt-names: 186ffb2bbdfSKrzysztof Kozlowski items: 1878e3fdc52SV Sujith Kumar Reddy - const: lpass-irq-lpaif 1888e3fdc52SV Sujith Kumar Reddy - const: lpass-irq-hdmi 1894b381d7eSRohit kumar required: 1904b381d7eSRohit kumar - iommus 1914b381d7eSRohit kumar - power-domains 1924b381d7eSRohit kumar 193f3fc4fbfSSrinivasa Rao Mandadapu - if: 194f3fc4fbfSSrinivasa Rao Mandadapu properties: 195f3fc4fbfSSrinivasa Rao Mandadapu compatible: 196f3fc4fbfSSrinivasa Rao Mandadapu contains: 197f3fc4fbfSSrinivasa Rao Mandadapu const: qcom,sc7280-lpass-cpu 198f3fc4fbfSSrinivasa Rao Mandadapu 199f3fc4fbfSSrinivasa Rao Mandadapu then: 200f3fc4fbfSSrinivasa Rao Mandadapu properties: 201ffb2bbdfSKrzysztof Kozlowski clocks: 202ffb2bbdfSKrzysztof Kozlowski minItems: 10 203ffb2bbdfSKrzysztof Kozlowski maxItems: 10 204f3fc4fbfSSrinivasa Rao Mandadapu clock-names: 205ffb2bbdfSKrzysztof Kozlowski items: 206f3fc4fbfSSrinivasa Rao Mandadapu - const: aon_cc_audio_hm_h 20798b7630aSSrinivasa Rao Mandadapu - const: audio_cc_ext_mclk0 208f3fc4fbfSSrinivasa Rao Mandadapu - const: core_cc_sysnoc_mport_core 20998b7630aSSrinivasa Rao Mandadapu - const: core_cc_ext_if0_ibit 210f3fc4fbfSSrinivasa Rao Mandadapu - const: core_cc_ext_if1_ibit 21198b7630aSSrinivasa Rao Mandadapu - const: audio_cc_codec_mem 212f3fc4fbfSSrinivasa Rao Mandadapu - const: audio_cc_codec_mem0 213f3fc4fbfSSrinivasa Rao Mandadapu - const: audio_cc_codec_mem1 214f3fc4fbfSSrinivasa Rao Mandadapu - const: audio_cc_codec_mem2 21598b7630aSSrinivasa Rao Mandadapu - const: aon_cc_va_mem0 216ffb2bbdfSKrzysztof Kozlowski reg: 217ffb2bbdfSKrzysztof Kozlowski minItems: 6 218ffb2bbdfSKrzysztof Kozlowski maxItems: 6 219f3fc4fbfSSrinivasa Rao Mandadapu reg-names: 220ffb2bbdfSKrzysztof Kozlowski items: 221f3fc4fbfSSrinivasa Rao Mandadapu - const: lpass-hdmiif 222f3fc4fbfSSrinivasa Rao Mandadapu - const: lpass-lpaif 223f3fc4fbfSSrinivasa Rao Mandadapu - const: lpass-rxtx-cdc-dma-lpm 224f3fc4fbfSSrinivasa Rao Mandadapu - const: lpass-rxtx-lpaif 225f3fc4fbfSSrinivasa Rao Mandadapu - const: lpass-va-lpaif 226f3fc4fbfSSrinivasa Rao Mandadapu - const: lpass-va-cdc-dma-lpm 227ffb2bbdfSKrzysztof Kozlowski interrupts: 228ffb2bbdfSKrzysztof Kozlowski minItems: 4 229ffb2bbdfSKrzysztof Kozlowski maxItems: 4 230f3fc4fbfSSrinivasa Rao Mandadapu interrupt-names: 231ffb2bbdfSKrzysztof Kozlowski items: 232f3fc4fbfSSrinivasa Rao Mandadapu - const: lpass-irq-lpaif 233f3fc4fbfSSrinivasa Rao Mandadapu - const: lpass-irq-hdmi 234f3fc4fbfSSrinivasa Rao Mandadapu - const: lpass-irq-vaif 235f3fc4fbfSSrinivasa Rao Mandadapu - const: lpass-irq-rxtxif 23698b7630aSSrinivasa Rao Mandadapu power-domain-names: 237ffb2bbdfSKrzysztof Kozlowski items: 23898b7630aSSrinivasa Rao Mandadapu - const: lcx 239f3fc4fbfSSrinivasa Rao Mandadapu 240f3fc4fbfSSrinivasa Rao Mandadapu required: 241f3fc4fbfSSrinivasa Rao Mandadapu - iommus 242f3fc4fbfSSrinivasa Rao Mandadapu - power-domains 243f3fc4fbfSSrinivasa Rao Mandadapu 2444b381d7eSRohit kumarexamples: 2454b381d7eSRohit kumar - | 2464b381d7eSRohit kumar #include <dt-bindings/sound/sc7180-lpass.h> 2474b381d7eSRohit kumar 2484b381d7eSRohit kumar soc { 2494b381d7eSRohit kumar #address-cells = <2>; 2504b381d7eSRohit kumar #size-cells = <2>; 2518e3fdc52SV Sujith Kumar Reddy lpass@62d80000 { 2524b381d7eSRohit kumar compatible = "qcom,sc7180-lpass-cpu"; 2534b381d7eSRohit kumar 2548e3fdc52SV Sujith Kumar Reddy reg = <0 0x62d87000 0 0x68000>, 2558e3fdc52SV Sujith Kumar Reddy <0 0x62f00000 0 0x29000>; 2568e3fdc52SV Sujith Kumar Reddy reg-names = "lpass-hdmiif", 2578e3fdc52SV Sujith Kumar Reddy "lpass-lpaif"; 2588e3fdc52SV Sujith Kumar Reddy iommus = <&apps_smmu 0x1020 0>, 2598e3fdc52SV Sujith Kumar Reddy <&apps_smmu 0x1032 0>; 2604b381d7eSRohit kumar power-domains = <&lpass_hm 0>; 2614b381d7eSRohit kumar 2624b381d7eSRohit kumar clocks = <&gcc 131>, 2634b381d7eSRohit kumar <&lpasscorecc 6>, 2644b381d7eSRohit kumar <&lpasscorecc 7>, 2654b381d7eSRohit kumar <&lpasscorecc 10>, 2664b381d7eSRohit kumar <&lpasscorecc 8>, 2674b381d7eSRohit kumar <&lpasscorecc 9>; 2684b381d7eSRohit kumar 2694b381d7eSRohit kumar clock-names = "pcnoc-sway-clk", "audio-core", 2704b381d7eSRohit kumar "mclk0", "pcnoc-mport-clk", 2714b381d7eSRohit kumar "mi2s-bit-clk0", "mi2s-bit-clk1"; 2724b381d7eSRohit kumar 2738e3fdc52SV Sujith Kumar Reddy interrupts = <0 160 1>, 2748e3fdc52SV Sujith Kumar Reddy <0 268 1>; 2758e3fdc52SV Sujith Kumar Reddy interrupt-names = "lpass-irq-lpaif", 2768e3fdc52SV Sujith Kumar Reddy "lpass-irq-hdmi"; 2774b381d7eSRohit kumar #sound-dai-cells = <1>; 2784b381d7eSRohit kumar 2794b381d7eSRohit kumar #address-cells = <1>; 2804b381d7eSRohit kumar #size-cells = <0>; 2814b381d7eSRohit kumar /* Optional to set different MI2S SD lines */ 2828e3fdc52SV Sujith Kumar Reddy dai-link@0 { 2834b381d7eSRohit kumar reg = <MI2S_PRIMARY>; 2844b381d7eSRohit kumar qcom,playback-sd-lines = <1>; 2854b381d7eSRohit kumar qcom,capture-sd-lines = <0>; 2864b381d7eSRohit kumar }; 2874b381d7eSRohit kumar }; 2884b381d7eSRohit kumar }; 2894b381d7eSRohit kumar 2904b381d7eSRohit kumar... 291