Message ID | 20240318172102.45549-3-prabhakar.mahadev-lad.rj@bp.renesas.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | Add SCIF support for Renesas RZ/V2H(P) SoC | expand |
On 18/03/2024 18:21, Prabhakar wrote: > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > Add support to validate the 'interrupts' and 'interrupt-names' properties > for every supported SoC. This ensures proper handling and configuration of > interrupt-related properties across supported platforms. > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > --- > v2->v3 > - Listed interrupts and interrupt-names for every SoC in if check > --- > .../bindings/serial/renesas,scif.yaml | 95 ++++++++++++------- > 1 file changed, 63 insertions(+), 32 deletions(-) > > diff --git a/Documentation/devicetree/bindings/serial/renesas,scif.yaml b/Documentation/devicetree/bindings/serial/renesas,scif.yaml > index af72c3420453..53f18e9810fd 100644 > --- a/Documentation/devicetree/bindings/serial/renesas,scif.yaml > +++ b/Documentation/devicetree/bindings/serial/renesas,scif.yaml > @@ -82,38 +82,6 @@ properties: > reg: > maxItems: 1 > > - interrupts: I don't understand what is happening with this patchset. Interrupts must stay here. Where did you receive any different feedback? Best regards, Krzysztof
On 19/03/2024 07:19, Krzysztof Kozlowski wrote: > On 18/03/2024 18:21, Prabhakar wrote: >> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> >> >> Add support to validate the 'interrupts' and 'interrupt-names' properties >> for every supported SoC. This ensures proper handling and configuration of >> interrupt-related properties across supported platforms. >> >> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> >> --- >> v2->v3 >> - Listed interrupts and interrupt-names for every SoC in if check >> --- >> .../bindings/serial/renesas,scif.yaml | 95 ++++++++++++------- >> 1 file changed, 63 insertions(+), 32 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/serial/renesas,scif.yaml b/Documentation/devicetree/bindings/serial/renesas,scif.yaml >> index af72c3420453..53f18e9810fd 100644 >> --- a/Documentation/devicetree/bindings/serial/renesas,scif.yaml >> +++ b/Documentation/devicetree/bindings/serial/renesas,scif.yaml >> @@ -82,38 +82,6 @@ properties: >> reg: >> maxItems: 1 >> >> - interrupts: > > I don't understand what is happening with this patchset. Interrupts must > stay here. Where did you receive any different feedback? Look how it is done: https://elixir.bootlin.com/linux/v6.8/source/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml#L44 Best regards, Krzysztof
Hi Krzysztof, On Tue, Mar 19, 2024 at 6:22 AM Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > On 19/03/2024 07:19, Krzysztof Kozlowski wrote: > > On 18/03/2024 18:21, Prabhakar wrote: > >> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > >> > >> Add support to validate the 'interrupts' and 'interrupt-names' properties > >> for every supported SoC. This ensures proper handling and configuration of > >> interrupt-related properties across supported platforms. > >> > >> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > >> --- > >> v2->v3 > >> - Listed interrupts and interrupt-names for every SoC in if check > >> --- > >> .../bindings/serial/renesas,scif.yaml | 95 ++++++++++++------- > >> 1 file changed, 63 insertions(+), 32 deletions(-) > >> > >> diff --git a/Documentation/devicetree/bindings/serial/renesas,scif.yaml b/Documentation/devicetree/bindings/serial/renesas,scif.yaml > >> index af72c3420453..53f18e9810fd 100644 > >> --- a/Documentation/devicetree/bindings/serial/renesas,scif.yaml > >> +++ b/Documentation/devicetree/bindings/serial/renesas,scif.yaml > >> @@ -82,38 +82,6 @@ properties: > >> reg: > >> maxItems: 1 > >> > >> - interrupts: > > > > I don't understand what is happening with this patchset. Interrupts must > > stay here. Where did you receive any different feedback? > > Look how it is done: > https://elixir.bootlin.com/linux/v6.8/source/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml#L44 > Thanks for the pointer, as the above binding doesn't have any description items as compared to our case, to clarify I have updated the binding is below. Is this the correct approach? option #1 --------------- interrupts: minItems: 1 maxItems: 6 interrupt-names: minItems: 4 maxItems: 6 - if: properties: compatible: contains: enum: - renesas,rcar-gen1-scif - renesas,rcar-gen2-scif - renesas,rcar-gen3-scif - renesas,rcar-gen4-scif then: properties: interrupts: items: - description: Single combined interrupt interrupt-names: false - if: properties: compatible: contains: const: renesas,scif-r7s72100 then: properties: interrupts: items: - description: Error interrupt - description: Receive buffer full interrupt - description: Transmit buffer empty interrupt - description: Break interrupt interrupt-names: items: - const: eri - const: rxi - const: txi - const: bri - if: properties: compatible: contains: enum: - renesas,scif-r7s9210 - renesas,scif-r9a07g044 then: properties: interrupts: items: - description: Error interrupt - description: Receive buffer full interrupt - description: Transmit buffer empty interrupt - description: Break interrupt - description: Data Ready interrupt - description: Transmit End interrupt interrupt-names: items: - const: eri - const: rxi - const: txi - const: bri - const: dri - const: tei Cheers, Prabhakar
On 19/03/2024 13:43, Lad, Prabhakar wrote: >>>> diff --git a/Documentation/devicetree/bindings/serial/renesas,scif.yaml b/Documentation/devicetree/bindings/serial/renesas,scif.yaml >>>> index af72c3420453..53f18e9810fd 100644 >>>> --- a/Documentation/devicetree/bindings/serial/renesas,scif.yaml >>>> +++ b/Documentation/devicetree/bindings/serial/renesas,scif.yaml >>>> @@ -82,38 +82,6 @@ properties: >>>> reg: >>>> maxItems: 1 >>>> >>>> - interrupts: >>> >>> I don't understand what is happening with this patchset. Interrupts must >>> stay here. Where did you receive any different feedback? >> >> Look how it is done: >> https://elixir.bootlin.com/linux/v6.8/source/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml#L44 >> > Thanks for the pointer, as the above binding doesn't have any Yeah, that's just an example to point you the concept: top level property comes with widest constraints (or widest matching items description) and each variant narrows the choice. > description items as compared to our case, to clarify I have updated > the binding is below. Is this the correct approach? > > option #1 > --------------- Yes, it looks correct. Best regards, Krzysztof
Hi Krzysztof, On Tue, Mar 19, 2024 at 2:04 PM Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > On 19/03/2024 13:43, Lad, Prabhakar wrote: > >>>> diff --git a/Documentation/devicetree/bindings/serial/renesas,scif.yaml b/Documentation/devicetree/bindings/serial/renesas,scif.yaml > >>>> index af72c3420453..53f18e9810fd 100644 > >>>> --- a/Documentation/devicetree/bindings/serial/renesas,scif.yaml > >>>> +++ b/Documentation/devicetree/bindings/serial/renesas,scif.yaml > >>>> @@ -82,38 +82,6 @@ properties: > >>>> reg: > >>>> maxItems: 1 > >>>> > >>>> - interrupts: > >>> > >>> I don't understand what is happening with this patchset. Interrupts must > >>> stay here. Where did you receive any different feedback? > >> > >> Look how it is done: > >> https://elixir.bootlin.com/linux/v6.8/source/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml#L44 > >> > > Thanks for the pointer, as the above binding doesn't have any > > Yeah, that's just an example to point you the concept: top level > property comes with widest constraints (or widest matching items > description) and each variant narrows the choice. > > > description items as compared to our case, to clarify I have updated > > the binding is below. Is this the correct approach? > > > > option #1 > > --------------- > > > Yes, it looks correct. Why duplicate all the descriptions? The only differences are the number of valid interrupts? What was wrong with "[PATCH v2 2/2] dt-bindings: serial: renesas,scif: Validate 'interrupts' and 'interrupt-names'"[1]? https://lore.kernel.org/r/20240307114217.34784-3-prabhakar.mahadev-lad.rj@bp.renesas.com/ Gr{oetje,eeting}s, Geert
On 19/03/2024 14:25, Geert Uytterhoeven wrote: > Hi Krzysztof, > > On Tue, Mar 19, 2024 at 2:04 PM Krzysztof Kozlowski > <krzysztof.kozlowski@linaro.org> wrote: >> On 19/03/2024 13:43, Lad, Prabhakar wrote: >>>>>> diff --git a/Documentation/devicetree/bindings/serial/renesas,scif.yaml b/Documentation/devicetree/bindings/serial/renesas,scif.yaml >>>>>> index af72c3420453..53f18e9810fd 100644 >>>>>> --- a/Documentation/devicetree/bindings/serial/renesas,scif.yaml >>>>>> +++ b/Documentation/devicetree/bindings/serial/renesas,scif.yaml >>>>>> @@ -82,38 +82,6 @@ properties: >>>>>> reg: >>>>>> maxItems: 1 >>>>>> >>>>>> - interrupts: >>>>> >>>>> I don't understand what is happening with this patchset. Interrupts must >>>>> stay here. Where did you receive any different feedback? >>>> >>>> Look how it is done: >>>> https://elixir.bootlin.com/linux/v6.8/source/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml#L44 >>>> >>> Thanks for the pointer, as the above binding doesn't have any >> >> Yeah, that's just an example to point you the concept: top level >> property comes with widest constraints (or widest matching items >> description) and each variant narrows the choice. >> >>> description items as compared to our case, to clarify I have updated >>> the binding is below. Is this the correct approach? >>> >>> option #1 >>> --------------- >> >> >> Yes, it looks correct. > > Why duplicate all the descriptions? The only differences are the number > of valid interrupts? > What was wrong with "[PATCH v2 2/2] dt-bindings: serial: renesas,scif: > Validate 'interrupts' and 'interrupt-names'"[1]? > > https://lore.kernel.org/r/20240307114217.34784-3-prabhakar.mahadev-lad.rj@bp.renesas.com/ I have impression that only two variants out of three have same descriptions... but now I see mistake I made in above. I read that first interrupt is "Error interrupt" but it is "error or combined". Sorry for that, I think most of my comment there is not correct. It could be made oneOf? oneOf: - items: - description: A combined interrupt - items: - .... minItems: 4 ? Best regards, Krzysztof
Hi Krzysztof, On Wed, Mar 20, 2024 at 9:06 AM Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > On 19/03/2024 14:25, Geert Uytterhoeven wrote: > > On Tue, Mar 19, 2024 at 2:04 PM Krzysztof Kozlowski > > <krzysztof.kozlowski@linaro.org> wrote: > >> On 19/03/2024 13:43, Lad, Prabhakar wrote: > >>>>>> diff --git a/Documentation/devicetree/bindings/serial/renesas,scif.yaml b/Documentation/devicetree/bindings/serial/renesas,scif.yaml > >>>>>> index af72c3420453..53f18e9810fd 100644 > >>>>>> --- a/Documentation/devicetree/bindings/serial/renesas,scif.yaml > >>>>>> +++ b/Documentation/devicetree/bindings/serial/renesas,scif.yaml > >>>>>> @@ -82,38 +82,6 @@ properties: > >>>>>> reg: > >>>>>> maxItems: 1 > >>>>>> > >>>>>> - interrupts: > >>>>> > >>>>> I don't understand what is happening with this patchset. Interrupts must > >>>>> stay here. Where did you receive any different feedback? > >>>> > >>>> Look how it is done: > >>>> https://elixir.bootlin.com/linux/v6.8/source/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml#L44 > >>>> > >>> Thanks for the pointer, as the above binding doesn't have any > >> > >> Yeah, that's just an example to point you the concept: top level > >> property comes with widest constraints (or widest matching items > >> description) and each variant narrows the choice. > >> > >>> description items as compared to our case, to clarify I have updated > >>> the binding is below. Is this the correct approach? > >>> > >>> option #1 > >>> --------------- > >> > >> > >> Yes, it looks correct. > > > > Why duplicate all the descriptions? The only differences are the number > > of valid interrupts? > > What was wrong with "[PATCH v2 2/2] dt-bindings: serial: renesas,scif: > > Validate 'interrupts' and 'interrupt-names'"[1]? > > > > https://lore.kernel.org/r/20240307114217.34784-3-prabhakar.mahadev-lad.rj@bp.renesas.com/ > > I have impression that only two variants out of three have same > descriptions... but now I see mistake I made in above. I read that first > interrupt is "Error interrupt" but it is "error or combined". Sorry for > that, I think most of my comment there is not correct. > > It could be made oneOf? > > oneOf: > - items: > - description: A combined interrupt > - items: > - .... > minItems: 4 > ? Yes, that would be even better. Gr{oetje,eeting}s, Geert
diff --git a/Documentation/devicetree/bindings/serial/renesas,scif.yaml b/Documentation/devicetree/bindings/serial/renesas,scif.yaml index af72c3420453..53f18e9810fd 100644 --- a/Documentation/devicetree/bindings/serial/renesas,scif.yaml +++ b/Documentation/devicetree/bindings/serial/renesas,scif.yaml @@ -82,38 +82,6 @@ properties: reg: maxItems: 1 - interrupts: - oneOf: - - items: - - description: A combined interrupt - - items: - - description: Error interrupt - - description: Receive buffer full interrupt - - description: Transmit buffer empty interrupt - - description: Break interrupt - - items: - - description: Error interrupt - - description: Receive buffer full interrupt - - description: Transmit buffer empty interrupt - - description: Break interrupt - - description: Data Ready interrupt - - description: Transmit End interrupt - - interrupt-names: - oneOf: - - items: - - const: eri - - const: rxi - - const: txi - - const: bri - - items: - - const: eri - - const: rxi - - const: txi - - const: bri - - const: dri - - const: tei - clocks: minItems: 1 maxItems: 4 @@ -173,6 +141,69 @@ allOf: required: - resets + - if: + properties: + compatible: + contains: + enum: + - renesas,rcar-gen1-scif + - renesas,rcar-gen2-scif + - renesas,rcar-gen3-scif + - renesas,rcar-gen4-scif + then: + properties: + interrupts: + items: + - description: Single combined interrupt + + - if: + properties: + compatible: + contains: + const: renesas,scif-r7s72100 + then: + properties: + interrupts: + items: + - description: Error interrupt + - description: Receive buffer full interrupt + - description: Transmit buffer empty interrupt + - description: Break interrupt + + interrupt-names: + items: + - const: eri + - const: rxi + - const: txi + - const: bri + + - if: + properties: + compatible: + contains: + enum: + - renesas,scif-r7s9210 + - renesas,scif-r9a07g044 + then: + properties: + interrupts: + items: + - description: Error interrupt + - description: Receive buffer full interrupt + - description: Transmit buffer empty interrupt + - description: Break interrupt + - description: Data Ready interrupt + - description: Transmit End interrupt + + interrupt-names: + items: + - const: eri + - const: rxi + - const: txi + - const: bri + - const: dri + - const: tei + unevaluatedProperties: false examples: