Message ID | 20240318172102.45549-3-prabhakar.mahadev-lad.rj@bp.renesas.com |
---|---|
State | New |
Headers | show |
Series | Add SCIF support for Renesas RZ/V2H(P) SoC | expand |
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
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: