Re: [PATCH 3/3] dt-bindings: PCI: Convert generic host binding to DT schema

From: Geert Uytterhoeven
Date: Thu Dec 12 2019 - 09:41:17 EST


Hi Rob,

On Sat, Nov 16, 2019 at 1:53 AM Rob Herring <robh@xxxxxxxxxx> wrote:
> Convert the generic PCI host binding to DT schema. The derivative Juno,
> PLDA XpressRICH3-AXI, and Designware ECAM bindings all just vary in
> their compatible strings. The simplest way to convert those to
> schema is just add them into the common generic PCI host schema.
>
> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
> Cc: Andrew Murray <andrew.murray@xxxxxxx>
> Cc: Zhou Wang <wangzhou1@xxxxxxxxxxxxx>
> Cc: Will Deacon <will@xxxxxxxxxx>
> Cc: David Daney <david.daney@xxxxxxxxxx>
> Signed-off-by: Rob Herring <robh@xxxxxxxxxx>

> index 515b2f9542e5..000000000000
> --- a/Documentation/devicetree/bindings/pci/designware-pcie-ecam.txt
> +++ /dev/null

> -Example:
> -
> - pcie1: pcie@7f000000 {
> - compatible = "socionext,synquacer-pcie-ecam", "snps,dw-pcie-ecam";
> - device_type = "pci";
> - reg = <0x0 0x7f000000 0x0 0xf00000>;
> - bus-range = <0x0 0xe>;
> - #address-cells = <3>;
> - #size-cells = <2>;
> - ranges = <0x1000000 0x00 0x00010000 0x00 0x7ff00000 0x0 0x00010000>,
> - <0x2000000 0x00 0x70000000 0x00 0x70000000 0x0 0x0f000000>,
> - <0x3000000 0x3f 0x00000000 0x3f 0x00000000 0x1 0x00000000>;
> -
> - #interrupt-cells = <0x1>;
> - interrupt-map-mask = <0x0 0x0 0x0 0x0>;

An all-zeroes interrupt-map-mask seems to be very common on embedded
SoCs, where all devices are mapped to a single interrupt.

However, schemas/pci/pci-bus.yaml says:

interrupt-map-mask:
items:
- description: PCI high address cell
minimum: 0
maximum: 0xf800
- description: PCI mid address cell
const: 0
- description: PCI low address cell
const: 0
- description: PCI IRQ cell
minimum: 1
maximum: 7

and thus complains about an all-zeroes mask, e.g.

arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dt.yaml:
pcie@fe000000: interrupt-map-mask:0:3: 0 is less than the minimum of 1

> - interrupt-map = <0x0 0x0 0x0 0x0 &gic 0x0 0x0 0x0 182 0x4>;
> - msi-map = <0x0 &its 0x0 0x10000>;
> - dma-coherent;
> - };

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds