Re: [PATCH v6 08/10] ASoC: dt-bindings: Add SC7280 lpass cpu bindings

From: Rob Herring
Date: Sun Nov 28 2021 - 11:55:46 EST


On Fri, Nov 26, 2021 at 05:34:40PM +0530, Srinivasa Rao Mandadapu wrote:
> Add bindings for sc7280 lpass cpu driver which supports
> audio over i2s based speaker, soundwire based headset, msm dmics
> and HDMI Port.
>
> Signed-off-by: Srinivasa Rao Mandadapu <srivasam@xxxxxxxxxxxxxx>
> Co-developed-by: Venkata Prasad Potturu <potturu@xxxxxxxxxxxxxx>
> Signed-off-by: Venkata Prasad Potturu <potturu@xxxxxxxxxxxxxx>
> ---
> .../devicetree/bindings/sound/qcom,lpass-cpu.yaml | 69 +++++++++++++++++++---
> 1 file changed, 61 insertions(+), 8 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml
> index 1e23c0e..0f5a57c 100644
> --- a/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml
> +++ b/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml
> @@ -22,35 +22,36 @@ properties:
> - qcom,lpass-cpu
> - qcom,apq8016-lpass-cpu
> - qcom,sc7180-lpass-cpu
> + - qcom,sc7280-lpass-cpu
>
> reg:
> - maxItems: 2
> + maxItems: 5
> description: LPAIF core registers
>
> reg-names:
> - maxItems: 2
> + maxItems: 5
>
> clocks:
> minItems: 3
> - maxItems: 6
> + maxItems: 7
>
> clock-names:
> minItems: 3
> - maxItems: 6
> + maxItems: 7
>
> interrupts:
> - maxItems: 2
> + maxItems: 4
> description: LPAIF DMA buffer interrupt
>
> interrupt-names:
> - maxItems: 2
> + maxItems: 4
>
> qcom,adsp:
> $ref: /schemas/types.yaml#/definitions/phandle
> description: Phandle for the audio DSP node
>
> iommus:
> - maxItems: 2
> + maxItems: 3
> description: Phandle to apps_smmu node with sid mask
>
> power-domains:
> @@ -69,7 +70,7 @@ patternProperties:
> "^dai-link@[0-9a-f]$":
> type: object
> description: |
> - LPASS CPU dai node for each I2S device. Bindings of each node
> + LPASS CPU dai node for each I2S device or Soundwire device. Bindings of each node
> depends on the specific driver providing the functionality and
> properties.
> properties:
> @@ -174,6 +175,58 @@ allOf:
> - iommus
> - power-domains
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: qcom,sc7280-lpass-cpu
> +
> + then:
> + properties:
> + clock-names:
> + oneOf:
> + - items: #for I2S
> + - const: lpass_aon_cc_audio_hm_h_clk
> + - const: lpass_core_cc_sysnoc_mport_core_clk
> + - const: lpass_core_cc_ext_if1_ibit_clk
> + - items: #for Soundwire
> + - const: lpass_aon_cc_audio_hm_h_clk
> + - const: lpass_audio_cc_codec_mem0_clk
> + - const: lpass_audio_cc_codec_mem1_clk
> + - const: lpass_audio_cc_codec_mem2_clk
> + - items: #for HDMI
> + - const: lpass_aon_cc_audio_hm_h_clk

'lpass_' and '_clk' are redundant.

> +
> + reg-names:
> + anyOf:
> + - items: #for I2S
> + - const: lpass-lpaif
> + - items: #for I2S and HDMI
> + - const: lpass-hdmiif
> + - const: lpass-lpaif

Doesn't this apply to other SoCs?

> + - items: #for I2S, soundwire and HDMI
> + - const: lpass-cdc-lpm
> + - const: lpass-rxtx-lpaif
> + - const: lpass-va-lpaif
> + - const: lpass-hdmiif
> + - const: lpass-lpaif

'lpass-' is redundant too, but consistency across SoCs is better.

hdmiif and lpaif should be first. (Add new resources on the end.)

> + interrupt-names:
> + anyOf:
> + - items: #for I2S
> + - const: lpass-irq-lpaif
> + - items: #for I2S and HDMI
> + - const: lpass-irq-lpaif
> + - const: lpass-irq-hdmi
> + - items: #for I2S, soundwire and HDMI
> + - const: lpass-irq-lpaif
> + - const: lpass-irq-vaif
> + - const: lpass-irq-rxtxif
> + - const: lpass-irq-hdmi

Again, add new entries to the end.

> +
> + required:
> + - iommus
> + - power-domains
> +
> examples:
> - |
> #include <dt-bindings/sound/sc7180-lpass.h>
> --
> Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
> is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.
>
>