diff options
author | Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> | 2018-08-27 14:53:40 -0400 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2018-09-13 03:47:44 -0400 |
commit | ffa967e24c5817b48a3d5ecea2c12b9cdd807f0c (patch) | |
tree | 23a4d0a6eee60ead6b20da3598e776b1c9d2d5ec | |
parent | 453240f6657a6f87dd59e39c1f0d2655d40f112c (diff) |
arm64: dts: renesas: r8a77980: add PCIe support
Describe the PCIe PHY, PCIEC, and PCIe bus clock in the R8A77980 device
tree.
Based on the original (and large) patch by Vladimir Barinov.
Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
-rw-r--r-- | arch/arm64/boot/dts/renesas/r8a77980.dtsi | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/renesas/r8a77980.dtsi b/arch/arm64/boot/dts/renesas/r8a77980.dtsi index c099053cf5fe..d58e9f2c9883 100644 --- a/arch/arm64/boot/dts/renesas/r8a77980.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a77980.dtsi | |||
@@ -98,6 +98,13 @@ | |||
98 | clock-frequency = <0>; | 98 | clock-frequency = <0>; |
99 | }; | 99 | }; |
100 | 100 | ||
101 | /* External PCIe clock - can be overridden by the board */ | ||
102 | pcie_bus_clk: pcie_bus { | ||
103 | compatible = "fixed-clock"; | ||
104 | #clock-cells = <0>; | ||
105 | clock-frequency = <0>; | ||
106 | }; | ||
107 | |||
101 | pmu_a53 { | 108 | pmu_a53 { |
102 | compatible = "arm,cortex-a53-pmu"; | 109 | compatible = "arm,cortex-a53-pmu"; |
103 | interrupts-extended = <&gic GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>, | 110 | interrupts-extended = <&gic GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>, |
@@ -437,6 +444,16 @@ | |||
437 | status = "disabled"; | 444 | status = "disabled"; |
438 | }; | 445 | }; |
439 | 446 | ||
447 | pcie_phy: pcie-phy@e65d0000 { | ||
448 | compatible = "renesas,r8a77980-pcie-phy"; | ||
449 | reg = <0 0xe65d0000 0 0x8000>; | ||
450 | #phy-cells = <0>; | ||
451 | clocks = <&cpg CPG_MOD 319>; | ||
452 | power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; | ||
453 | resets = <&cpg 319>; | ||
454 | status = "disabled"; | ||
455 | }; | ||
456 | |||
440 | canfd: can@e66c0000 { | 457 | canfd: can@e66c0000 { |
441 | compatible = "renesas,r8a77980-canfd", | 458 | compatible = "renesas,r8a77980-canfd", |
442 | "renesas,rcar-gen3-canfd"; | 459 | "renesas,rcar-gen3-canfd"; |
@@ -1047,6 +1064,38 @@ | |||
1047 | resets = <&cpg 408>; | 1064 | resets = <&cpg 408>; |
1048 | }; | 1065 | }; |
1049 | 1066 | ||
1067 | pciec: pcie@fe000000 { | ||
1068 | compatible = "renesas,pcie-r8a77980", | ||
1069 | "renesas,pcie-rcar-gen3"; | ||
1070 | reg = <0 0xfe000000 0 0x80000>; | ||
1071 | #address-cells = <3>; | ||
1072 | #size-cells = <2>; | ||
1073 | bus-range = <0x00 0xff>; | ||
1074 | device_type = "pci"; | ||
1075 | ranges = < | ||
1076 | 0x01000000 0 0x00000000 0 0xfe100000 0 0x0100000 | ||
1077 | 0x02000000 0 0xfe200000 0 0xfe200000 0 0x0200000 | ||
1078 | 0x02000000 0 0x30000000 0 0x30000000 0 0x8000000 | ||
1079 | 0x42000000 0 0x38000000 0 0x38000000 0 0x8000000 | ||
1080 | >; | ||
1081 | dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 | ||
1082 | 0 0x80000000>; | ||
1083 | interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>, | ||
1084 | <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>, | ||
1085 | <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>; | ||
1086 | #interrupt-cells = <1>; | ||
1087 | interrupt-map-mask = <0 0 0 0>; | ||
1088 | interrupt-map = <0 0 0 0 &gic GIC_SPI 148 | ||
1089 | IRQ_TYPE_LEVEL_HIGH>; | ||
1090 | clocks = <&cpg CPG_MOD 319>, <&pcie_bus_clk>; | ||
1091 | clock-names = "pcie", "pcie_bus"; | ||
1092 | power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; | ||
1093 | resets = <&cpg 319>; | ||
1094 | phys = <&pcie_phy>; | ||
1095 | phy-names = "pcie"; | ||
1096 | status = "disabled"; | ||
1097 | }; | ||
1098 | |||
1050 | vspd0: vsp@fea20000 { | 1099 | vspd0: vsp@fea20000 { |
1051 | compatible = "renesas,vsp2"; | 1100 | compatible = "renesas,vsp2"; |
1052 | reg = <0 0xfea20000 0 0x5000>; | 1101 | reg = <0 0xfea20000 0 0x5000>; |