Re: [PATCH 1/5] dt-bindings: dma: ti: k3-bcdma: Add bindings for BCDMA CSI RX

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/12/2022 05:35, Vignesh Raghavendra wrote:
> AM62A SoC has a dedicated BCDMA that serves Camera Serial Interface
> (CSI) IP. Add new compatible for the same. Unlike system
> BCDMA, this instance only has RX DMA channels and lack TX or block copy
> channel. Thus make those properties optional. Additionally CSI RX has
> independent power domain, add the binding for the same.
> 
> Signed-off-by: Vignesh Raghavendra <vigneshr@xxxxxx>
> ---
>  .../devicetree/bindings/dma/ti/k3-bcdma.yaml  | 87 ++++++++++++++-----
>  1 file changed, 63 insertions(+), 24 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml b/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml
> index 08627d91e607..d7b5adbb9b2e 100644
> --- a/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml
> +++ b/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml
> @@ -32,9 +32,66 @@ allOf:
>    - $ref: /schemas/dma/dma-controller.yaml#
>    - $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml#
>  

When adding if:then:, please move entire allOf after "required:" part.

> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: ti,am62a-dmss-bcdma-csirx
> +    then:
> +      properties:
> +        ti,sci-rm-range-bchan: false
> +        ti,sci-rm-range-tchan: false
> +
> +        reg:
> +          maxItems: 3
> +
> +        reg-names:
> +          items:
> +            - const: gcfg
> +            - const: rchanrt
> +            - const: ringrt

With my changes further this can be only "maxItems: 3"

> +
> +      required:
> +        - compatible
> +        - "#dma-cells"
> +        - reg
> +        - reg-names
> +        - msi-parent
> +        - ti,sci
> +        - ti,sci-dev-id
> +        - ti,sci-rm-range-rchan
> +        - power-domains
> +
> +    else:
> +      properties:
> +        reg:
> +          maxItems: 5
> +
> +        reg-names:
> +          items:
> +            - const: gcfg
> +            - const: bchanrt
> +            - const: rchanrt
> +            - const: tchanrt
> +            - const: ringrt

With my changes further this can be only "minItems: 5"

> +
> +      required:
> +        - compatible
> +        - "#dma-cells"
> +        - reg
> +        - reg-names
> +        - msi-parent
> +        - ti,sci
> +        - ti,sci-dev-id
> +        - ti,sci-rm-range-bchan
> +        - ti,sci-rm-range-tchan
> +        - ti,sci-rm-range-rchan
> +
>  properties:
>    compatible:
> -    const: ti,am64-dmss-bcdma
> +    enum:
> +      - ti,am64-dmss-bcdma
> +      - ti,am62a-dmss-bcdma-csirx

Keep some order, e.g. alphabetical. This reduces later conflicts on
simultaneous edits.

>  
>    "#dma-cells":
>      const: 3
> @@ -65,19 +122,13 @@ properties:
>  
>        cell 3: ASEL value for the channel
>  
> -  reg:
> -    maxItems: 5

Keep it here with widest constrains - minItems: 3, maxItems: 5

> -
> -  reg-names:
> -    items:
> -      - const: gcfg
> -      - const: bchanrt
> -      - const: rchanrt
> -      - const: tchanrt
> -      - const: ringrt

Keep the list here with minItems: 3

> -
>    msi-parent: true
>  
> +  power-domains:
> +    description:
> +      Power domain if available
> +    maxItems: 1
> +
>    ti,asel:
>      $ref: /schemas/types.yaml#/definitions/uint32
>      description: ASEL value for non slave channels
> @@ -115,18 +166,6 @@ properties:
>      items:
>        maximum: 0x3f
>  
> -required:
> -  - compatible
> -  - "#dma-cells"
> -  - reg
> -  - reg-names
> -  - msi-parent
> -  - ti,sci
> -  - ti,sci-dev-id
> -  - ti,sci-rm-range-bchan
> -  - ti,sci-rm-range-tchan
> -  - ti,sci-rm-range-rchan

Keep required here. Customize it if needed in if:then:else.

> -
>  unevaluatedProperties: false
>  
>  examples:

Best regards,
Krzysztof




[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux