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@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