Done the required cleanups to update lpass-cpu binding with newer yaml formats. Signed-off-by: Ajit Pandey <ajitp@xxxxxxxxxxxxxx> --- .../devicetree/bindings/sound/qcom,lpass-cpu.txt | 158 --------------------- .../devicetree/bindings/sound/qcom,lpass-cpu.yaml | 103 ++++++++++++++ 2 files changed, 103 insertions(+), 158 deletions(-) delete mode 100644 Documentation/devicetree/bindings/sound/qcom,lpass-cpu.txt create mode 100644 Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.txt b/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.txt deleted file mode 100644 index a49b878..00000000 --- a/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.txt +++ /dev/null @@ -1,158 +0,0 @@ -* Qualcomm Technologies LPASS CPU DAI binding - -Low-Power Audio SubSystem (LPASS) consist of MI2S interfaces for audio data -transfer on external codec. LPASS cpu driver is a common code to configure -MI2S related CPU dai's across different version of LPASS architecture. - -- compatible: - Usage: required - Value type: <stringlist> - Definition: compatible string corresponds to lpass variants driver - must be "qcom, lpass-cpu-sc7180" for sc7180 lpass - must be "qcom,apq8016-lpass-cpu" for apq8016 lpass -- reg: - Usage: required - Value type: <prop-encoded-array> - Definition: must specify the base address and size of the LPAIF CORE - region of lpass variant. -- reg-names: - Usage: required - Value type: <stringlist> - Definition: must be "lpass-lpaif" - -- iommus: - Usage: required for "qcom, lpass-cpu-sc7180" compatible string - Value type: <prop-encoded-array> - Definition: sid mask for lpaif memory region to apps_smmu - must be <&apps_smmu 0x1020 0> - -- power-domains: - Usage: required for "qcom, lpass-cpu-sc7180" compatible string - Value type: <phandle> - Definition: reference to power-domains - must be <&lpass_hm LPASS_CORE_HM_GDSCR> - -- clocks: - Usage: required - Value type: <phandle> - Definition: reference to the clocks that match clock-names - -- clock-names: - Usage: required - Value type: <stringlist> - Definition: The clocks needed depend on the compatible string: - qcom,lpass-cpu-apq8016: - must be "ahbix-clk", "mi2s-osr-clk", "mi2s-bit-clk0", - mi2s-bit-clk1", "mi2s-bit-clk2", "mi2s-bit-clk3", - "pcnoc-mport-clk", "pcnoc-sway-clk" - qcom, lpass-cpu-sc7180: - must be "noc", "audio-core", "mclk0", "sysnoc_mport", - "pri_ibit", "sec_ibit" - -- #sound-dai-cells - Usage: required - Value type: <u32> - Definition: Must be 1 - -- interrupts: - Usage: required - Value type: <prop-encoded-array> - Definition: reference to the interrupts that match interrupt-names - -- interrupt-names: - Usage: required - Value type: <stringlist> - Definition: must be "lpass-irq-lpaif" - -- qcom,adsp: - Usage: optional - Value type: <phandle> - Definition: Phandle for the audio DSP node - -= MI2S DAIs (Digial Audio Interface) -"dais" child node of the lpass node. It represents mi2s dais, each mi2s dai is -subnode of "dais" representing board specific dai setup & required dai clocks. -"dais" node should have following properties. - -- id: - Usage: required for mi2s interface - Value type: <u32> - Definition: Must be dai id defined in lpass bindings like MI2S_PRIMARY - -- qcom,bitclk-name: - Usage: required for mi2s interface - Value type: <stringlist> - Definition: bitclk name corresponds to MI2S of lpass version - -- qcom,mclk-name: - Usage: optional for mi2s interface - Value type: <stringlist> - Definition: external mclk name corresponds to MI2S of lpass version - -- qcom,osrclk-name: - Usage: optional for mi2s interface - Value type: <stringlist> - Definition: osrclk name corresponds to MI2S of lpass version - -- qcom,spkmode-mask: - Usage: optional for mi2s interface - Value type: <u32> - Definition: board specific property to change default spkmode mask - of MI2S dai based on dataline connection on board. - -- qcom,micmode-mask: - Usage: optional for mi2s interface - Value type: <u32> - Definition: board specific property to change default micmode mask - of MI2S dai based on dataline connection on board. - -- qcom,loopback-mask: - Usage: optional for mi2s interface - Value type: <u32> - Definition: board specific property to change default loopback mask - of MI2S dai as per requirement. - -- qcom,wssrc-mask: - Usage: optional for mi2s interface - Value type: <u32> - Definition: board specific property to change default wssrc mask - of MI2S dai based as per requirement. - -Example: - -lpass_cpu: lpass { - compatible = "qcom, lpass-cpu-sc7180"; - - reg = <0 0x62F00000 0 0x29000>; - reg-names = "lpass-lpaif"; - - iommus = <&apps_smmu 0x1020 0>; - - power-domains = <&lpass_hm LPASS_CORE_HM_GDSCR>; - - clocks = <&gcc GCC_LPASS_CFG_NOC_SWAY_CLK>, - <&lpasscorecc LPASS_AUDIO_CORE_CORE_CLK>, - <&lpasscorecc LPASS_AUDIO_CORE_EXT_MCLK0_CLK>, - <&lpasscorecc LPASS_AUDIO_CORE_SYSNOC_MPORT_CORE_CLK>, - <&lpasscorecc LPASS_AUDIO_CORE_LPAIF_PRI_IBIT_CLK>, - <&lpasscorecc LPASS_AUDIO_CORE_LPAIF_SEC_IBIT_CLK>; - - clock-names = "noc", "audio-core", "mclk0", "sysnoc_mport", - "pri_ibit", "sec_ibit"; - - #sound-dai-cells = <1>; - - interrupts = <0 160 IRQ_TYPE_LEVEL_HIGH>; - interrupt-names = "lpass-irq-lpaif"; - - prim-mi2s@0 { - id = <MI2S_PRIMARY>; - qcom,bitclk-name = "pri_ibit"; - qcom,mclk-name = "mclk0"; - }; - - sec-mi2s@1 { - id = <MI2S_SECONDARY>; - qcom,bitclk-name = "sec_ibit"; - }; -}; diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml new file mode 100644 index 00000000..a87a406 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml @@ -0,0 +1,103 @@ +# SPDX-License-Identifier: GPL-2.0-only +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/qcom,lpass-cpu.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm LPASS CPU dai driver bindings + +maintainers: + - Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> + - Ajit Pandey <ajitp@xxxxxxxxxxxxxx> + +description: | + Qualcomm SOC Low-Power Audio SubSystem (LPASS) that consist of MI2S interface + for audio data transfer on external codecs. LPASS cpu driver is a module to + configure Low-Power Audio Interface(LPAIF) core registers across different + IP versions. + +properties: + compatible: + enum: + - qcom,lpass-cpu + - qcom,apq8016-lpass-cpu + + reg: + items: + - description: LPAIF core registers + + reg-names: + items: + - const: lpass-lpaif + + clocks: + items: + - description: AHBIX core clock for IPQ806X + - description: oscillator clock for MI2S external interfaces + - description: Bit clock for single MI2S dai in IPQ806X + - description: Bit clock for MI2S_PRIMARY dai interface + - description: Bit clock for MI2S_SECONDARY dai interface + - description: Bit clock for MI2S_TERTIARY dai interface + - description: Bit clock for MI2S_QUATERNARY dai interface + - description: NOC MPORT clock of LPASS core + - description: NOC SWAY clock of LPASS core + + clock-names: + items: + - const: ahbix-clk + - const: mi2s-osr-clk + - const: mi2s-bit-clk + - const: mi2s-bit-clk0 + - const: mi2s-bit-clk1 + - const: mi2s-bit-clk2 + - const: mi2s-bit-clk3 + - const: pcnoc-mport-clk + - const: pcnoc-sway-clk + + interrupts: + items: + - description: LPAIF DMA buffer interrupt + + interrupt-names: + items: + - const: lpass-irq-lpaif + + qcom,adsp: + maxItems: 1 + description: Phandle for the audio DSP node + + '#sound-dai-cells': + const: 1 + +required: + - compatible + - reg + - reg-names + - clocks + - clock-names + - interrupts + - interrupt-names + - sound-dai-cells + +optional: + - qcom,adsp + +examples: + lpass@28100000 { + compatible = "qcom,lpass-cpu"; + clocks = <&lcc AHBIX_CLK>, + <&lcc MI2S_OSR_CLK>, + <&lcc MI2S_BIT_CLK>; + + clock-names = "ahbix-clk", + "mi2s-osr-clk", + "mi2s-bit-clk"; + + interrupts = <0 85 1>; + interrupt-names = "lpass-irq-lpaif"; + + reg = <0x28100000 0x10000>; + reg-names = "lpass-lpaif"; + #sound-dai-cells = <1>; + qcom,adsp = <&adsp>; + -- 1.9.1