[PATCH v6 2/5] ASoC: dt-bindings: Add dt binding for lpass hdmi

Rob Herring robh at kernel.org
Wed Sep 23 22:41:54 CEST 2020


On Fri, Sep 18, 2020 at 11:34:41AM +0530, Srinivasa Rao Mandadapu wrote:
> From: V Sujith Kumar Reddy <vsujithk at codeaurora.org>
> 
> Adds bindings for lpass hdmi interface
> which can support audio path over dp.
> 
> Signed-off-by: Srinivasa Rao <srivasam at codeaurora.org>
> Signed-off-by: V Sujith Kumar Reddy <vsujithk at codeaurora.org>
> ---
>  .../devicetree/bindings/sound/qcom,lpass-cpu.yaml  | 74 +++++++++++++++-------
>  1 file changed, 52 insertions(+), 22 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml
> index 09c9bd2..f95ef70 100644
> --- a/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml
> +++ b/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml
> @@ -24,9 +24,10 @@ properties:
>        - qcom,sc7180-lpass-cpu
>  
>    reg:
> -    maxItems: 1
> +    maxItems: 2
>      description: LPAIF core registers
> -
> +  reg-names:
> +     maxItems: 2
>    clocks:
>      minItems: 3
>      maxItems: 6
> @@ -36,15 +37,16 @@ properties:
>      maxItems: 6
>  
>    interrupts:
> -    maxItems: 1
> +    maxItems: 2
>      description: LPAIF DMA buffer interrupt
> -
> +  interrupt-names:
> +    maxItems: 2
>    qcom,adsp:
>      $ref: /schemas/types.yaml#/definitions/phandle
>      description: Phandle for the audio DSP node
>  
>    iommus:
> -    maxItems: 1
> +    maxItems: 2
>      description: Phandle to apps_smmu node with sid mask
>  
>    power-domains:
> @@ -60,10 +62,12 @@ properties:
>      const: 0
>  
>  patternProperties:
> -  "(^mi2s-[0-9a-f]$|mi2s)":
> +  "^dai-link@[0-9a-f]$":
>      type: object
> -    description: Required properties for each DAI
> -
> +    description: |
> +      LPASS CPU dai node for each I2S device. Bindings of each node
> +      depends on the specific driver providing the functionality and
> +      properties.
>      properties:
>        reg:
>          maxItems: 1
> @@ -85,9 +89,11 @@ patternProperties:
>  required:
>    - compatible
>    - reg
> +  - reg-names
>    - clocks
>    - clock-names
>    - interrupts
> +  - interrupt-names
>    - '#sound-dai-cells'
>  
>  additionalProperties: false
> @@ -134,13 +140,32 @@ allOf:
>      then:
>        properties:
>          clock-names:
> -          items:
> -            - const: pcnoc-sway-clk
> -            - const: audio-core
> -            - const: mclk0
> -            - const: pcnoc-mport-clk
> -            - const: mi2s-bit-clk0
> -            - const: mi2s-bit-clk1
> +          oneOf:
> +           - items:   #for I2S
> +              - const: pcnoc-sway-clk
> +              - const: audio-core
> +              - const: mclk0
> +              - const: pcnoc-mport-clk
> +              - const: mi2s-bit-clk0
> +              - const: mi2s-bit-clk1
> +           - items:   #for HDMI
> +              - const: pcnoc-sway-clk
> +              - const: audio-core
> +              - const: pcnoc-mport-clk
> +        reg-names:
> +          anyOf:
> +            - items:   #for I2S and HDMI
> +              - const: lpass-hdmiif
> +              - const: lpass-lpaif

It would be a bit cleaner if you switch the order. Then you are just 
adding on to the end.

Otherwise,

Reviewed-by: Rob Herring <robh at kernel.org>

> +            - items:   #for I2S
> +              - const: lpass-lpaif
> +        interrupt-names:
> +          anyOf:
> +            - items:   #for I2S and HDMI
> +              - const: lpass-irq-lpaif
> +              - const: lpass-irq-hdmi
> +            - items:   #for I2S
> +              - const: lpass-irq-lpaif
>        required:
>          - iommus
>          - power-domains
> @@ -152,12 +177,15 @@ examples:
>      soc {
>          #address-cells = <2>;
>          #size-cells = <2>;
> -        lpass at 62f00000 {
> +        lpass at 62d80000 {
>              compatible = "qcom,sc7180-lpass-cpu";
>  
> -            reg = <0 0x62f00000  0 0x29000>;
> -
> -            iommus = <&apps_smmu 0x1020 0>;
> +            reg = <0 0x62d87000 0 0x68000>,
> +                  <0 0x62f00000 0 0x29000>;
> +            reg-names = "lpass-hdmiif",
> +                        "lpass-lpaif";
> +            iommus = <&apps_smmu 0x1020 0>,
> +                     <&apps_smmu 0x1032 0>;
>              power-domains = <&lpass_hm 0>;
>  
>              clocks = <&gcc 131>,
> @@ -171,14 +199,16 @@ examples:
>                            "mclk0", "pcnoc-mport-clk",
>                            "mi2s-bit-clk0", "mi2s-bit-clk1";
>  
> -            interrupts = <0 160 1>;
> -
> +            interrupts = <0 160 1>,
> +                         <0 268 1>;
> +            interrupt-names = "lpass-irq-lpaif",
> +                              "lpass-irq-hdmi";
>              #sound-dai-cells = <1>;
>  
>              #address-cells = <1>;
>              #size-cells = <0>;
>              /* Optional to set different MI2S SD lines */
> -            mi2s-primary at 0 {
> +            dai-link at 0 {
>                  reg = <MI2S_PRIMARY>;
>                  qcom,playback-sd-lines = <1>;
>                  qcom,capture-sd-lines = <0>;
> -- 
> Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
> is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.
> 


More information about the Alsa-devel mailing list