PCI Device Tree BindingsΒΆ

The following is an example PCI host bridge and device from a POWER9 machine.

pciex@600c3c0300000 {
  ibm,capi-flags = <0x1>;
  ibm,phb-stack-index = <0x0>;
  compatible = "ibm,power9-pciex", "ibm,ioda3-phb";
  ibm,opal-single-pe;
  ibm,opal-num-pes = <0x200>;
  ibm,supported-tce-sizes = <0xc 0x10 0x15 0x1e>;
  device_type = "pciex";
  ibm,opal-peltv-table = <0x0 0x543c0000 0x20000>;
  ibm,associativity = <0x4 0x0 0x0 0x1 0x0>;
  ibm,phb-diag-data-size = <0x2180>;
  ranges = <0x2000000 0x0 0x80000000 0x600c1 0x80000000 0x0 0x7fff0000>;
  ibm,lane-eq = <0x54545454 0x54545454 0x54545454 0x54545454 0x54545454
                 0x54545454 0x54545454 0x54545454 0x77777777 0x77777777
                 0x77777777 0x77777777>;
  status = "okay";
  #interrupt-cells = <0x1>;
  bus-range = <0x0 0xff>;
  interrupt-parent = <0x126>;
  #address-cells = <0x3>;
  ibm,opal-phbid = <0x0 0x3>;
  ibm,opal-pest-table = <0x0 0x543e2000 0x2000>;
  ibm,chip-id = <0x0>;
  #size-cells = <0x2>;
  ibm,opal-m64-segment-splits = <0x200 0x1 0xc 0x0 0x1 0x2 0xc 0x0>;
  ibm,opal-m64-window = <0x60200 0x0 0x60200 0x0 0x40 0x0>;
  phandle = <0x617>;
  ibm,phb-stack = <0xd8>;
  ibm,phb-index = <0x3>;
  ibm,phb-pec-index = <0x2>; /* skiboot-v6.2 or later */
  reg = <0x600c3 0xc0300000 0x0 0x1000 0x600c3 0x60000000 0x0 0x10000000>;
  ibm,mmio-windows = <0x60200 0x0 0x40 0x0 0x600c1 0x80000000 0x0 0x80000000>;
  clock-frequency = <0x200 0x0>;
  ibm,xscom-bases = <0x4011400 0x4011440 0xf010800 0xf010840 0xf010900>;
  ibm,opal-reserved-pe = <0x1ff>;
  ibm,capp-timebase-sync = [00];
  ibm,opal-available-m64-ranges = <0x1 0x1f>;
  ibm,opal-rtt-table = <0x0 0x54380000 0x20000>;
  ibm,opal-msi-ranges = <0xfc000 0xff8>;

  pci@0 {
    device_type = "pciex";
    revision-id = <0x0>;
    ibm,pci-config-space-type = <0x1>;
    interrupt-map-mask = <0x0 0x0 0x0 0x7>;
    class-code = <0x60400>;
    ranges = <0x2000000 0x0 0x0 0x2000000 0x0 0x0 0xf0000000 0x0>;
    vendor-id = <0x1014>;
    #interrupt-cells = <0x1>;
    #address-cells = <0x3>;
    interrupt-map = <0x0 0x0 0x0 0x1 0x126 0xfcff8 0x1 0x0 0x0 0x0 0x2 0x126
                     0xfcff9 0x1 0x0 0x0 0x0 0x3 0x126 0xfcffa 0x1 0x0 0x0 0x0
                     0x4 0x126 0xfcffb 0x1>;
    #size-cells = <0x2>;
    device-id = <0x4c1>;
    phandle = <0x622>;
    reg = <0x0 0x0 0x0 0x0 0x0>;
  };
};