162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/pci/versatile.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: ARM Versatile Platform Baseboard PCI interface
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Rob Herring <robh@kernel.org>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |+
1362306a36Sopenharmony_ci  PCI host controller found on the ARM Versatile PB board's FPGA.
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciallOf:
1662306a36Sopenharmony_ci  - $ref: /schemas/pci/pci-bus.yaml#
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciproperties:
1962306a36Sopenharmony_ci  compatible:
2062306a36Sopenharmony_ci    const: arm,versatile-pci
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci  reg:
2362306a36Sopenharmony_ci    items:
2462306a36Sopenharmony_ci      - description: Versatile-specific registers
2562306a36Sopenharmony_ci      - description: Self Config space
2662306a36Sopenharmony_ci      - description: Config space
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci  ranges:
2962306a36Sopenharmony_ci    maxItems: 3
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci  "#interrupt-cells": true
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci  interrupt-map:
3462306a36Sopenharmony_ci    maxItems: 16
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci  interrupt-map-mask:
3762306a36Sopenharmony_ci    items:
3862306a36Sopenharmony_ci      - const: 0x1800
3962306a36Sopenharmony_ci      - const: 0
4062306a36Sopenharmony_ci      - const: 0
4162306a36Sopenharmony_ci      - const: 7
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_cirequired:
4462306a36Sopenharmony_ci  - compatible
4562306a36Sopenharmony_ci  - reg
4662306a36Sopenharmony_ci  - ranges
4762306a36Sopenharmony_ci  - "#interrupt-cells"
4862306a36Sopenharmony_ci  - interrupt-map
4962306a36Sopenharmony_ci  - interrupt-map-mask
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ciunevaluatedProperties: false
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ciexamples:
5462306a36Sopenharmony_ci  - |
5562306a36Sopenharmony_ci    pci@10001000 {
5662306a36Sopenharmony_ci      compatible = "arm,versatile-pci";
5762306a36Sopenharmony_ci      device_type = "pci";
5862306a36Sopenharmony_ci      reg = <0x10001000 0x1000>,
5962306a36Sopenharmony_ci            <0x41000000 0x10000>,
6062306a36Sopenharmony_ci            <0x42000000 0x100000>;
6162306a36Sopenharmony_ci      bus-range = <0 0xff>;
6262306a36Sopenharmony_ci      #address-cells = <3>;
6362306a36Sopenharmony_ci      #size-cells = <2>;
6462306a36Sopenharmony_ci      #interrupt-cells = <1>;
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci      ranges =
6762306a36Sopenharmony_ci          <0x01000000 0 0x00000000 0x43000000 0 0x00010000>,  /* downstream I/O */
6862306a36Sopenharmony_ci          <0x02000000 0 0x50000000 0x50000000 0 0x10000000>,  /* non-prefetchable memory */
6962306a36Sopenharmony_ci          <0x42000000 0 0x60000000 0x60000000 0 0x10000000>;  /* prefetchable memory */
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci      interrupt-map-mask = <0x1800 0 0 7>;
7262306a36Sopenharmony_ci      interrupt-map = <0x1800 0 0 1 &sic 28>,
7362306a36Sopenharmony_ci          <0x1800 0 0 2 &sic 29>,
7462306a36Sopenharmony_ci          <0x1800 0 0 3 &sic 30>,
7562306a36Sopenharmony_ci          <0x1800 0 0 4 &sic 27>,
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci          <0x1000 0 0 1 &sic 27>,
7862306a36Sopenharmony_ci          <0x1000 0 0 2 &sic 28>,
7962306a36Sopenharmony_ci          <0x1000 0 0 3 &sic 29>,
8062306a36Sopenharmony_ci          <0x1000 0 0 4 &sic 30>,
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci          <0x0800 0 0 1 &sic 30>,
8362306a36Sopenharmony_ci          <0x0800 0 0 2 &sic 27>,
8462306a36Sopenharmony_ci          <0x0800 0 0 3 &sic 28>,
8562306a36Sopenharmony_ci          <0x0800 0 0 4 &sic 29>,
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci          <0x0000 0 0 1 &sic 29>,
8862306a36Sopenharmony_ci          <0x0000 0 0 2 &sic 30>,
8962306a36Sopenharmony_ci          <0x0000 0 0 3 &sic 27>,
9062306a36Sopenharmony_ci          <0x0000 0 0 4 &sic 28>;
9162306a36Sopenharmony_ci    };
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci...
95