The DMA controller needs two reset items to work properly on JH7110 SoC,
so there is need to constrain the items' value to 2, other platforms
have 1 reset item at most.
Signed-off-by: Walker Chen <walker.chen@starfivetech.com>
---
.../bindings/dma/snps,dw-axi-dmac.yaml | 24 +++++++++++++++----
1 file changed, 20 insertions(+), 4 deletions(-)
diff --git a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml
index ad107a4d3b33..d8b5439f215c 100644
--- a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml
+++ b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml
@@ -12,14 +12,12 @@ maintainers:
description:
Synopsys DesignWare AXI DMA Controller DT Binding
-allOf:
- - $ref: "dma-controller.yaml#"
-
properties:
compatible:
enum:
- snps,axi-dma-1.01a
- intel,kmb-axi-dma
+ - starfive,jh7110-axi-dma
reg:
minItems: 1
@@ -58,7 +56,8 @@ properties:
maximum: 8
resets:
- maxItems: 1
+ minItems: 1
+ maxItems: 2
snps,dma-masters:
description: |
@@ -109,6 +108,23 @@ required:
- snps,priority
- snps,block-size
+allOf:
+ - $ref: "dma-controller.yaml#"
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - starfive,jh7110-axi-dma
+ then:
+ properties:
+ resets:
+ minItems: 2
+ else:
+ properties:
+ resets:
+ maxItems: 1
+
additionalProperties: false
examples:
--
2.17.1
On 06/03/2023 15:04, Walker Chen wrote: > The DMA controller needs two reset items to work properly on JH7110 SoC, > so there is need to constrain the items' value to 2, other platforms > have 1 reset item at most. > > Signed-off-by: Walker Chen <walker.chen@starfivetech.com> > --- > .../bindings/dma/snps,dw-axi-dmac.yaml | 24 +++++++++++++++---- > 1 file changed, 20 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml > index ad107a4d3b33..d8b5439f215c 100644 > --- a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml > +++ b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml > @@ -12,14 +12,12 @@ maintainers: > description: > Synopsys DesignWare AXI DMA Controller DT Binding > > -allOf: > - - $ref: "dma-controller.yaml#" > - > properties: > compatible: > enum: > - snps,axi-dma-1.01a > - intel,kmb-axi-dma > + - starfive,jh7110-axi-dma > > reg: > minItems: 1 > @@ -58,7 +56,8 @@ properties: > maximum: 8 > > resets: > - maxItems: 1 > + minItems: 1 > + maxItems: 2 > > snps,dma-masters: > description: | > @@ -109,6 +108,23 @@ required: > - snps,priority > - snps,block-size > > +allOf: > + - $ref: "dma-controller.yaml#" Rebase your patches on something recent... I would argue that it should be based on maintainer's (or linux-next) tree, but that would be too good to be true. > + - if: > + properties: > + compatible: > + contains: > + enum: > + - starfive,jh7110-axi-dma > + then: > + properties: > + resets: > + minItems: 2 What are the items expected here? > + else: > + properties: > + resets: Best regards, Krzysztof
On 2023/3/7 17:03, Krzysztof Kozlowski wrote: > On 06/03/2023 15:04, Walker Chen wrote: >> The DMA controller needs two reset items to work properly on JH7110 SoC, >> so there is need to constrain the items' value to 2, other platforms >> have 1 reset item at most. >> >> Signed-off-by: Walker Chen <walker.chen@starfivetech.com> >> --- >> .../bindings/dma/snps,dw-axi-dmac.yaml | 24 +++++++++++++++---- >> 1 file changed, 20 insertions(+), 4 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml >> index ad107a4d3b33..d8b5439f215c 100644 >> --- a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml >> +++ b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml >> @@ -12,14 +12,12 @@ maintainers: >> description: >> Synopsys DesignWare AXI DMA Controller DT Binding >> >> -allOf: >> - - $ref: "dma-controller.yaml#" >> - >> properties: >> compatible: >> enum: >> - snps,axi-dma-1.01a >> - intel,kmb-axi-dma >> + - starfive,jh7110-axi-dma >> >> reg: >> minItems: 1 >> @@ -58,7 +56,8 @@ properties: >> maximum: 8 >> >> resets: >> - maxItems: 1 >> + minItems: 1 >> + maxItems: 2 >> >> snps,dma-masters: >> description: | >> @@ -109,6 +108,23 @@ required: >> - snps,priority >> - snps,block-size >> >> +allOf: >> + - $ref: "dma-controller.yaml#" > > Rebase your patches on something recent... I would argue that it should > be based on maintainer's (or linux-next) tree, but that would be too > good to be true. This was written by referring to the syntax of other dt-binding, but your suggestion is a good one, the next version of patches will be rebased on kernel 6.3. > >> + - if: >> + properties: >> + compatible: >> + contains: >> + enum: >> + - starfive,jh7110-axi-dma >> + then: >> + properties: >> + resets: >> + minItems: 2 > > What are the items expected here? Do you mean to add descriptions for items here ? Thanks! Best regards, Walker
On 07/03/2023 11:30, Walker Chen wrote: > > > On 2023/3/7 17:03, Krzysztof Kozlowski wrote: >> On 06/03/2023 15:04, Walker Chen wrote: >>> The DMA controller needs two reset items to work properly on JH7110 SoC, >>> so there is need to constrain the items' value to 2, other platforms >>> have 1 reset item at most. >>> >>> Signed-off-by: Walker Chen <walker.chen@starfivetech.com> >>> --- >>> .../bindings/dma/snps,dw-axi-dmac.yaml | 24 +++++++++++++++---- >>> 1 file changed, 20 insertions(+), 4 deletions(-) >>> >>> diff --git a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml >>> index ad107a4d3b33..d8b5439f215c 100644 >>> --- a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml >>> +++ b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml >>> @@ -12,14 +12,12 @@ maintainers: >>> description: >>> Synopsys DesignWare AXI DMA Controller DT Binding >>> >>> -allOf: >>> - - $ref: "dma-controller.yaml#" >>> - >>> properties: >>> compatible: >>> enum: >>> - snps,axi-dma-1.01a >>> - intel,kmb-axi-dma >>> + - starfive,jh7110-axi-dma >>> >>> reg: >>> minItems: 1 >>> @@ -58,7 +56,8 @@ properties: >>> maximum: 8 >>> >>> resets: >>> - maxItems: 1 >>> + minItems: 1 >>> + maxItems: 2 >>> >>> snps,dma-masters: >>> description: | >>> @@ -109,6 +108,23 @@ required: >>> - snps,priority >>> - snps,block-size >>> >>> +allOf: >>> + - $ref: "dma-controller.yaml#" >> >> Rebase your patches on something recent... I would argue that it should >> be based on maintainer's (or linux-next) tree, but that would be too >> good to be true. > > This was written by referring to the syntax of other dt-binding, but your suggestion > is a good one, the next version of patches will be rebased on kernel 6.3. Rebasing on old kernel was referring to syntax of other binding? I don't understand this. How old code which you copied is related anyhow to other binding? You are expected to send patches always based on recent one, not something old. > >> >>> + - if: >>> + properties: >>> + compatible: >>> + contains: >>> + enum: >>> + - starfive,jh7110-axi-dma >>> + then: >>> + properties: >>> + resets: >>> + minItems: 2 >> >> What are the items expected here? > > Do you mean to add descriptions for items here ? Yes, because order of the items is fixed. Best regards, Krzysztof
On 2023/3/7 23:51, Krzysztof Kozlowski wrote: > On 07/03/2023 11:30, Walker Chen wrote: >> >> >> On 2023/3/7 17:03, Krzysztof Kozlowski wrote: >>> On 06/03/2023 15:04, Walker Chen wrote: >>>> The DMA controller needs two reset items to work properly on JH7110 SoC, >>>> so there is need to constrain the items' value to 2, other platforms >>>> have 1 reset item at most. >>>> >>>> Signed-off-by: Walker Chen <walker.chen@starfivetech.com> >>>> --- >>>> .../bindings/dma/snps,dw-axi-dmac.yaml | 24 +++++++++++++++---- >>>> 1 file changed, 20 insertions(+), 4 deletions(-) >>>> >>>> diff --git a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml >>>> index ad107a4d3b33..d8b5439f215c 100644 >>>> --- a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml >>>> +++ b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml >>>> @@ -12,14 +12,12 @@ maintainers: >>>> description: >>>> Synopsys DesignWare AXI DMA Controller DT Binding >>>> >>>> -allOf: >>>> - - $ref: "dma-controller.yaml#" >>>> - >>>> properties: >>>> compatible: >>>> enum: >>>> - snps,axi-dma-1.01a >>>> - intel,kmb-axi-dma >>>> + - starfive,jh7110-axi-dma >>>> >>>> reg: >>>> minItems: 1 >>>> @@ -58,7 +56,8 @@ properties: >>>> maximum: 8 >>>> >>>> resets: >>>> - maxItems: 1 >>>> + minItems: 1 >>>> + maxItems: 2 >>>> >>>> snps,dma-masters: >>>> description: | >>>> @@ -109,6 +108,23 @@ required: >>>> - snps,priority >>>> - snps,block-size >>>> >>>> +allOf: >>>> + - $ref: "dma-controller.yaml#" >>> >>> Rebase your patches on something recent... I would argue that it should >>> be based on maintainer's (or linux-next) tree, but that would be too >>> good to be true. >> >> This was written by referring to the syntax of other dt-binding, but your suggestion >> is a good one, the next version of patches will be rebased on kernel 6.3. > > Rebasing on old kernel was referring to syntax of other binding? I don't > understand this. How old code which you copied is related anyhow to > other binding? You are expected to send patches always based on recent > one, not something old. Okay, I understand what you mean. > >> >>> >>>> + - if: >>>> + properties: >>>> + compatible: >>>> + contains: >>>> + enum: >>>> + - starfive,jh7110-axi-dma >>>> + then: >>>> + properties: >>>> + resets: >>>> + minItems: 2 >>> >>> What are the items expected here? >> >> Do you mean to add descriptions for items here ? > > Yes, because order of the items is fixed. Thanks! Best regards, Walker
© 2016 - 2026 Red Hat, Inc.