[PATCH 09/18] dt-bindings: dma: ti: Add document for K3 BCDMA

Rob Herring robh at kernel.org
Wed Oct 7 11:46:35 EDT 2020


On Wed, Oct 07, 2020 at 12:09:06PM +0300, Peter Ujfalusi wrote:
> 
> 
> On 06/10/2020 22.29, Rob Herring wrote:
> > On Wed, Sep 30, 2020 at 12:14:03PM +0300, Peter Ujfalusi wrote:
> >> New binding document for
> >> Texas Instruments K3 Block Copy DMA (BCDMA).
> >>
> >> BCDMA is introduced as part of AM64.
> >>
> 
> ...
> 
> > 
> >> +  ti,sci:
> >> +    description: phandle to TI-SCI compatible System controller node
> >> +    allOf:
> >> +      - $ref: /schemas/types.yaml#/definitions/phandle
> >> +
> >> +  ti,sci-dev-id:
> >> +    description: TI-SCI device id of BCDMA
> >> +    allOf:
> >> +      - $ref: /schemas/types.yaml#/definitions/uint32
> > 
> > We have a common definition for these.
> 
> Yes, in arm/keystone/ti,k3-sci-common.yaml, but I could not get to use
> that as reference.
> 
> I can not list it under the topmost allOf and drop the ti,sci and
> ti,sci-dev-id like this:
> 
> allOf:
>   - $ref: /schemas/dma/dma-controller.yaml#
>   - $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml#
> 
> It results:
>   CHKDT   Documentation/devicetree/bindings/processed-schema-examples.json
>   DTEX    Documentation/devicetree/bindings/dma/ti/k3-bcdma.example.dts
>   SCHEMA  Documentation/devicetree/bindings/processed-schema-examples.json
>   DTC     Documentation/devicetree/bindings/dma/ti/k3-bcdma.example.dt.yaml
>   CHECK   Documentation/devicetree/bindings/dma/ti/k3-bcdma.example.dt.yaml
> Documentation/devicetree/bindings/dma/ti/k3-bcdma.example.dt.yaml:
> dma-controller at 485c0100: 'ti,sci', 'ti,sci-dev-id' do not match any of
> the regexes: 'pinctrl-[0-9]+'
>         From schema: Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml
> 
> If I remove the "additionalProperties: false" from the schema file, then
> it compiles fine.

Yeah, you have to do 'unevaluatedProperties: false' which doesn't 
actually do anything yet, but can 'see' into $ref's.


> >> +  ti,asel:
> >> +    description: ASEL value for non slave channels
> >> +    allOf:
> > 
> > You no longer need 'allOf' here.
> 
> OK, I changed it in all instances.
> 
> > 
> >> +      - $ref: /schemas/types.yaml#/definitions/uint32
> >> +
> >> +  ti,sci-rm-range-bchan:
> >> +    description: |
> >> +      Array of BCDMA block-copy channel resource subtypes for resource
> >> +      allocation for this host
> >> +    allOf:
> >> +      - $ref: /schemas/types.yaml#/definitions/uint32-array
> >> +    minItems: 1
> >> +    # Should be enough
> >> +    maxItems: 255
> > 
> > Are there constraints for the individual elements?
> 
> In practice the subtype ID is 6bits number.
> Should I add limits to individual elements?

Yes:

items:
  maximum: 0x3f

> 
> >> +
> >> +  ti,sci-rm-range-tchan:
> >> +    description: |
> >> +      Array of BCDMA split tx channel resource subtypes for resource allocation
> >> +      for this host
> >> +    allOf:
> >> +      - $ref: /schemas/types.yaml#/definitions/uint32-array
> >> +    minItems: 1
> >> +    # Should be enough
> >> +    maxItems: 255
> >> +
> >> +  ti,sci-rm-range-rchan:
> >> +    description: |
> >> +      Array of BCDMA split rx channel resource subtypes for resource allocation
> >> +      for this host
> >> +    allOf:
> >> +      - $ref: /schemas/types.yaml#/definitions/uint32-array
> >> +    minItems: 1
> >> +    # Should be enough
> >> +    maxItems: 255
> >> +
> >> +required:
> >> +  - compatible
> >> +  - "#address-cells"
> >> +  - "#size-cells"
> >> +  - "#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
> >> +
> >> +additionalProperties: false
> >> +
> >> +examples:
> >> +  - |+
> >> +    cbass_main {
> >> +        #address-cells = <2>;
> >> +        #size-cells = <2>;
> >> +
> >> +        main_dmss {
> >> +            compatible = "simple-mfd";
> > 
> > IMO, if it is memory-mapped, then you should be using 'simple-bus'.
> 
> We had the same discussion when I introduced the k3-udma binding and we
> have concluded on the simple-mfd as DMSS is not a bus, but contains
> different peripherals.

Ok.

Rob



More information about the linux-arm-kernel mailing list