1* Synopsis Designware PCIe interface 2 3Required properties: 4- compatible: should contain "snps,dw-pcie" to identify the 5 core, plus an identifier for the specific instance, such 6 as "samsung,exynos5440-pcie". 7- reg: base addresses and lengths of the pcie controller, 8 the phy controller, additional register for the phy controller. 9- interrupts: interrupt values for level interrupt, 10 pulse interrupt, special interrupt. 11- clocks: from common clock binding: handle to pci clock. 12- clock-names: from common clock binding: should be "pcie" and "pcie_bus". 13- #address-cells: set to <3> 14- #size-cells: set to <2> 15- device_type: set to "pci" 16- ranges: ranges for the PCI memory and I/O regions 17- #interrupt-cells: set to <1> 18- interrupt-map-mask and interrupt-map: standard PCI properties 19 to define the mapping of the PCIe interface to interrupt 20 numbers. 21- reset-gpio: gpio pin number of power good signal 22 23Example: 24 25SoC specific DT Entry: 26 27 pcie@290000 { 28 compatible = "samsung,exynos5440-pcie", "snps,dw-pcie"; 29 reg = <0x290000 0x1000 30 0x270000 0x1000 31 0x271000 0x40>; 32 interrupts = <0 20 0>, <0 21 0>, <0 22 0>; 33 clocks = <&clock 28>, <&clock 27>; 34 clock-names = "pcie", "pcie_bus"; 35 #address-cells = <3>; 36 #size-cells = <2>; 37 device_type = "pci"; 38 ranges = <0x00000800 0 0x40000000 0x40000000 0 0x00001000 /* configuration space */ 39 0x81000000 0 0 0x40001000 0 0x00010000 /* downstream I/O */ 40 0x82000000 0 0x40011000 0x40011000 0 0x1ffef000>; /* non-prefetchable memory */ 41 #interrupt-cells = <1>; 42 interrupt-map-mask = <0 0 0 0>; 43 interrupt-map = <0x0 0 &gic 53>; 44 }; 45 46 pcie@2a0000 { 47 compatible = "samsung,exynos5440-pcie", "snps,dw-pcie"; 48 reg = <0x2a0000 0x1000 49 0x272000 0x1000 50 0x271040 0x40>; 51 interrupts = <0 23 0>, <0 24 0>, <0 25 0>; 52 clocks = <&clock 29>, <&clock 27>; 53 clock-names = "pcie", "pcie_bus"; 54 #address-cells = <3>; 55 #size-cells = <2>; 56 device_type = "pci"; 57 ranges = <0x00000800 0 0x60000000 0x60000000 0 0x00001000 /* configuration space */ 58 0x81000000 0 0 0x60001000 0 0x00010000 /* downstream I/O */ 59 0x82000000 0 0x60011000 0x60011000 0 0x1ffef000>; /* non-prefetchable memory */ 60 #interrupt-cells = <1>; 61 interrupt-map-mask = <0 0 0 0>; 62 interrupt-map = <0x0 0 &gic 56>; 63 }; 64 65Board specific DT Entry: 66 67 pcie@290000 { 68 reset-gpio = <&pin_ctrl 5 0>; 69 }; 70 71 pcie@2a0000 { 72 reset-gpio = <&pin_ctrl 22 0>; 73 }; 74