Re: [PATCH v4 2/4] dt-bindings: interrupt-controller: sifive,plic: add legacy riscv compatible

From: Heiko Stübner
Date: Wed Aug 24 2022 - 13:44:31 EST


Am Dienstag, 23. August 2022, 20:33:18 CEST schrieb Conor Dooley:
> From: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
>
> While "real" hardware might not use the compatible string "riscv,plic0"
> it is present in the driver & QEMU uses it for automatically generated
> virt machine dtbs. To avoid dt-validate problems with QEMU produced
> dtbs, such as the following, add it to the binding.
>
> riscv-virt.dtb: plic@c000000: compatible: 'oneOf' conditional failed, one must be fixed:
> 'sifive,plic-1.0.0' is not one of ['sifive,fu540-c000-plic', 'starfive,jh7100-plic', 'canaan,k210-plic']
> 'sifive,plic-1.0.0' is not one of ['allwinner,sun20i-d1-plic']
> 'sifive,plic-1.0.0' was expected
> 'thead,c900-plic' was expected
> riscv-virt.dtb: plic@c000000: '#address-cells' is a required property
>
> Reported-by: Rob Herring <robh@xxxxxxxxxx>
> Link: https://lore.kernel.org/linux-riscv/20220803170552.GA2250266-robh@xxxxxxxxxx/
> Reviewed-by: Rob Herring <robh@xxxxxxxxxx>
> Signed-off-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
> ---
> .../bindings/interrupt-controller/sifive,plic-1.0.0.yaml | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml b/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
> index 92e0f8c3eff2..99e01f4d0a69 100644
> --- a/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
> +++ b/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
> @@ -66,6 +66,11 @@ properties:
> - enum:
> - allwinner,sun20i-d1-plic
> - const: thead,c900-plic
> + - items:
> + - const: sifive,plic-1.0.0
> + - const: riscv,plic0
> + deprecated: true

hmm, when setting this to deprecated, does this mean qemu was changed
to not use that compatible anymore?

I.e. reading deprecated I'd assume that this is kept around for old qemu builds?


Heiko

> + description: For the QEMU virt machine only
>
> reg:
> maxItems: 1
>