[PATCH 01/11] Documentation: device-tree: sound: Update lpass-cpu driver binding

Ajit Pandey ajitp at codeaurora.org
Sat Apr 25 16:05:16 CEST 2020


On 4/16/2020 1:23 PM, Srinivas Kandagatla wrote:
>
>
> On 11/04/2020 09:02, Ajit Pandey wrote:
>> Done the required cleanups to update lpass-cpu binding with newer
>> yaml formats.
>>
>> Signed-off-by: Ajit Pandey <ajitp at codeaurora.org>
>
>
>> ---
>>   .../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
> This patch will not apply on mainline, looks like this was done on top 
> of your local repo, please fix this!
>
> Best thing would be rebase patches top of 
> https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git/log/?h=for-next
Sure I'll rebase on top of mentioned tip during v2 patch chain submission
>
> Secondly, Split this patch into two,
> 1> converting in to yaml
> 2> adding new changes
> so that it will be easy to see what exactly changed.
>
> thanks,
> srini
>
I've not added any newer properties here just changed it to yaml format only

Thanks & Regards

Ajit

>> -            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 at 0 {
>> -        id = <MI2S_PRIMARY>;
>> -        qcom,bitclk-name = "pri_ibit";
>> -        qcom,mclk-name = "mclk0";
>> -    };
>> -
>> -    sec-mi2s at 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 at linaro.org>
>> +  - Ajit Pandey <ajitp at codeaurora.org>
>> +
>> +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 at 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>;
>> +
>>


More information about the Alsa-devel mailing list