Message ID | 20221212105416.3628442-2-vigneshr@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | dmaengine: Add support for AM62A SoC DMAs | expand |
On 12/12/2022 11:54, 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@ti.com> > --- > > v2: > reorder compatibles alphabetically > Fix reg defintion to min 3 and max 5 > Keep top level constraints as is and further restrict > variants within "if-else" blocks > > .../devicetree/bindings/dma/ti/k3-bcdma.yaml | 67 ++++++++++++++----- > 1 file changed, 49 insertions(+), 18 deletions(-) > > diff --git a/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml b/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml > index 08627d91e607..86e8bebce3f2 100644 > --- a/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml > +++ b/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml > @@ -28,13 +28,15 @@ description: | > PDMAs can be configured via BCDMA split channel's peer registers to match with > the configuration of the legacy peripheral. > > -allOf: > - - $ref: /schemas/dma/dma-controller.yaml# > - - $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml# > - > properties: > compatible: > - const: ti,am64-dmss-bcdma > + enum: > + - ti,am62a-dmss-bcdma-csirx > + - ti,am64-dmss-bcdma > + > + reg: > + minItems: 3 > + maxItems: 5 > > "#dma-cells": > const: 3 > @@ -65,19 +67,13 @@ properties: > > cell 3: ASEL value for the channel > > - reg: > - maxItems: 5 > - > - reg-names: > - items: reg-names with min/max items should also stay. > - - const: gcfg > - - const: bchanrt > - - const: rchanrt > - - const: tchanrt > - - const: ringrt > - > 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 > @@ -123,10 +119,45 @@ required: > - msi-parent > - ti,sci > - ti,sci-dev-id > - - ti,sci-rm-range-bchan > - - ti,sci-rm-range-tchan > - ti,sci-rm-range-rchan > > +allOf: > + - $ref: /schemas/dma/dma-controller.yaml# > + - $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml# > + > + - if: > + properties: > + compatible: > + contains: > + const: ti,am62a-dmss-bcdma-csirx > + then: > + properties: > + ti,sci-rm-range-bchan: false > + ti,sci-rm-range-tchan: false > + missing constraints for reg > + reg-names: > + items: > + - const: gcfg > + - const: rchanrt > + - const: ringrt > + > + required: > + - power-domains > + > + else: > + properties: missing constraints for reg > + reg-names: > + items: > + - const: gcfg > + - const: bchanrt > + - const: rchanrt > + - const: tchanrt > + - const: ringrt > + > + required: > + - ti,sci-rm-range-bchan > + - ti,sci-rm-range-tchan > + > unevaluatedProperties: false > > examples: Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml b/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml index 08627d91e607..86e8bebce3f2 100644 --- a/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml +++ b/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml @@ -28,13 +28,15 @@ description: | PDMAs can be configured via BCDMA split channel's peer registers to match with the configuration of the legacy peripheral. -allOf: - - $ref: /schemas/dma/dma-controller.yaml# - - $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml# - properties: compatible: - const: ti,am64-dmss-bcdma + enum: + - ti,am62a-dmss-bcdma-csirx + - ti,am64-dmss-bcdma + + reg: + minItems: 3 + maxItems: 5 "#dma-cells": const: 3 @@ -65,19 +67,13 @@ properties: cell 3: ASEL value for the channel - reg: - maxItems: 5 - - reg-names: - items: - - const: gcfg - - const: bchanrt - - const: rchanrt - - const: tchanrt - - const: ringrt - 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 @@ -123,10 +119,45 @@ required: - msi-parent - ti,sci - ti,sci-dev-id - - ti,sci-rm-range-bchan - - ti,sci-rm-range-tchan - ti,sci-rm-range-rchan +allOf: + - $ref: /schemas/dma/dma-controller.yaml# + - $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml# + + - 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-names: + items: + - const: gcfg + - const: rchanrt + - const: ringrt + + required: + - power-domains + + else: + properties: + reg-names: + items: + - const: gcfg + - const: bchanrt + - const: rchanrt + - const: tchanrt + - const: ringrt + + required: + - ti,sci-rm-range-bchan + - ti,sci-rm-range-tchan + unevaluatedProperties: false examples:
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@ti.com> --- v2: reorder compatibles alphabetically Fix reg defintion to min 3 and max 5 Keep top level constraints as is and further restrict variants within "if-else" blocks .../devicetree/bindings/dma/ti/k3-bcdma.yaml | 67 ++++++++++++++----- 1 file changed, 49 insertions(+), 18 deletions(-)