| .. _device-tree/pci: |
| |
| ======================== |
| PCI Device Tree Bindings |
| ======================== |
| |
| The following is an example PCI host bridge and device from a POWER9 machine. |
| |
| .. code-block:: dts |
| |
| 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>; |
| }; |
| }; |