Phil Edworthy | 7869fc6 | 2014-05-12 11:57:50 +0100 | [diff] [blame] | 1 | * Renesas RCar PCIe interface |
| 2 | |
| 3 | Required properties: |
Simon Horman | a37b3ea | 2015-12-03 07:51:39 +0900 | [diff] [blame] | 4 | compatible: "renesas,pcie-r8a7779" for the R8A7779 SoC; |
| 5 | "renesas,pcie-r8a7790" for the R8A7790 SoC; |
| 6 | "renesas,pcie-r8a7791" for the R8A7791 SoC; |
Simon Horman | 0cf1337 | 2016-02-05 14:10:13 -0600 | [diff] [blame] | 7 | "renesas,pcie-r8a7793" for the R8A7793 SoC; |
Simon Horman | a37b3ea | 2015-12-03 07:51:39 +0900 | [diff] [blame] | 8 | "renesas,pcie-r8a7795" for the R8A7795 SoC; |
| 9 | "renesas,pcie-rcar-gen2" for a generic R-Car Gen2 compatible device. |
| 10 | |
| 11 | When compatible with the generic version, nodes must list the |
| 12 | SoC-specific version corresponding to the platform first |
| 13 | followed by the generic version. |
| 14 | |
Phil Edworthy | 7869fc6 | 2014-05-12 11:57:50 +0100 | [diff] [blame] | 15 | - reg: base address and length of the pcie controller registers. |
| 16 | - #address-cells: set to <3> |
| 17 | - #size-cells: set to <2> |
| 18 | - bus-range: PCI bus numbers covered |
| 19 | - device_type: set to "pci" |
| 20 | - ranges: ranges for the PCI memory and I/O regions. |
| 21 | - dma-ranges: ranges for the inbound memory regions. |
| 22 | - interrupts: two interrupt sources for MSI interrupts, followed by interrupt |
| 23 | source for hardware related interrupts (e.g. link speed change). |
| 24 | - #interrupt-cells: set to <1> |
| 25 | - interrupt-map-mask and interrupt-map: standard PCI properties |
| 26 | to define the mapping of the PCIe interface to interrupt |
| 27 | numbers. |
| 28 | - clocks: from common clock binding: clock specifiers for the PCIe controller |
| 29 | and PCIe bus clocks. |
| 30 | - clock-names: from common clock binding: should be "pcie" and "pcie_bus". |
| 31 | |
| 32 | Example: |
| 33 | |
| 34 | SoC specific DT Entry: |
| 35 | |
| 36 | pcie: pcie@fe000000 { |
Simon Horman | a37b3ea | 2015-12-03 07:51:39 +0900 | [diff] [blame] | 37 | compatible = "renesas,pcie-r8a7791", "renesas,pcie-rcar-gen2"; |
Phil Edworthy | 7869fc6 | 2014-05-12 11:57:50 +0100 | [diff] [blame] | 38 | reg = <0 0xfe000000 0 0x80000>; |
| 39 | #address-cells = <3>; |
| 40 | #size-cells = <2>; |
| 41 | bus-range = <0x00 0xff>; |
| 42 | device_type = "pci"; |
| 43 | ranges = <0x01000000 0 0x00000000 0 0xfe100000 0 0x00100000 |
| 44 | 0x02000000 0 0xfe200000 0 0xfe200000 0 0x00200000 |
| 45 | 0x02000000 0 0x30000000 0 0x30000000 0 0x08000000 |
| 46 | 0x42000000 0 0x38000000 0 0x38000000 0 0x08000000>; |
| 47 | dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x40000000 |
| 48 | 0x42000000 2 0x00000000 2 0x00000000 0 0x40000000>; |
| 49 | interrupts = <0 116 4>, <0 117 4>, <0 118 4>; |
| 50 | #interrupt-cells = <1>; |
| 51 | interrupt-map-mask = <0 0 0 0>; |
| 52 | interrupt-map = <0 0 0 0 &gic 0 116 4>; |
| 53 | clocks = <&mstp3_clks R8A7791_CLK_PCIE>, <&pcie_bus_clk>; |
| 54 | clock-names = "pcie", "pcie_bus"; |
| 55 | status = "disabled"; |
| 56 | }; |