Skip to content

Commit 781cffe

Browse files
LorenzoBianconiAngeloGioacchino Del Regno
authored andcommitted
arm64: dts: airoha: en7581: Add PCIe nodes to EN7581 SoC evaluation board
Introduce PCIe controller nodes to EN7581 SoC and EN7581 evaluation board. Signed-off-by: Lorenzo Bianconi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: AngeloGioacchino Del Regno <[email protected]>
1 parent ed0c3aa commit 781cffe

File tree

2 files changed

+131
-0
lines changed

2 files changed

+131
-0
lines changed

arch/arm64/boot/dts/airoha/en7581-evb.dts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,32 @@
6767

6868
&en7581_pinctrl {
6969
gpio-ranges = <&en7581_pinctrl 0 13 47>;
70+
71+
pcie0_rst_pins: pcie0-rst-pins {
72+
conf {
73+
pins = "pcie_reset0";
74+
drive-open-drain = <1>;
75+
};
76+
};
77+
78+
pcie1_rst_pins: pcie1-rst-pins {
79+
conf {
80+
pins = "pcie_reset1";
81+
drive-open-drain = <1>;
82+
};
83+
};
84+
};
85+
86+
&pcie0 {
87+
pinctrl-names = "default";
88+
pinctrl-0 = <&pcie0_rst_pins>;
89+
status = "okay";
90+
};
91+
92+
&pcie1 {
93+
pinctrl-names = "default";
94+
pinctrl-0 = <&pcie1_rst_pins>;
95+
status = "okay";
7096
};
7197

7298
&i2c0 {

arch/arm64/boot/dts/airoha/en7581.dtsi

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,111 @@
180180
#reset-cells = <1>;
181181
};
182182

183+
pbus_csr: syscon@1fbe3400 {
184+
compatible = "airoha,en7581-pbus-csr", "syscon";
185+
reg = <0x0 0x1fbe3400 0x0 0xff>;
186+
};
187+
188+
pciephy: phy@1fa5a000 {
189+
compatible = "airoha,en7581-pcie-phy";
190+
reg = <0x0 0x1fa5a000 0x0 0xfff>,
191+
<0x0 0x1fa5b000 0x0 0xfff>,
192+
<0x0 0x1fa5c000 0x0 0xfff>,
193+
<0x0 0x1fc10044 0x0 0x4>,
194+
<0x0 0x1fc30044 0x0 0x4>,
195+
<0x0 0x1fc15030 0x0 0x104>;
196+
reg-names = "csr-2l", "pma0", "pma1",
197+
"p0-xr-dtime", "p1-xr-dtime",
198+
"rx-aeq";
199+
#phy-cells = <0>;
200+
};
201+
202+
pcie0: pcie@1fc00000 {
203+
compatible = "airoha,en7581-pcie";
204+
device_type = "pci";
205+
linux,pci-domain = <0>;
206+
#address-cells = <3>;
207+
#size-cells = <2>;
208+
209+
reg = <0x0 0x1fc00000 0x0 0x1670>;
210+
reg-names = "pcie-mac";
211+
212+
clocks = <&scuclk EN7523_CLK_PCIE>;
213+
clock-names = "sys-ck";
214+
215+
phys = <&pciephy>;
216+
phy-names = "pcie-phy";
217+
218+
ranges = <0x02000000 0 0x20000000 0x0 0x20000000 0 0x4000000>;
219+
220+
resets = <&scuclk EN7581_PCIE0_RST>,
221+
<&scuclk EN7581_PCIE1_RST>,
222+
<&scuclk EN7581_PCIE2_RST>;
223+
reset-names = "phy-lane0", "phy-lane1", "phy-lane2";
224+
225+
mediatek,pbus-csr = <&pbus_csr 0x0 0x4>;
226+
227+
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
228+
bus-range = <0x00 0xff>;
229+
#interrupt-cells = <1>;
230+
interrupt-map-mask = <0 0 0 7>;
231+
interrupt-map = <0 0 0 1 &pcie_intc0 0>,
232+
<0 0 0 2 &pcie_intc0 1>,
233+
<0 0 0 3 &pcie_intc0 2>,
234+
<0 0 0 4 &pcie_intc0 3>;
235+
236+
status = "disabled";
237+
238+
pcie_intc0: interrupt-controller {
239+
interrupt-controller;
240+
#address-cells = <0>;
241+
#interrupt-cells = <1>;
242+
};
243+
};
244+
245+
pcie1: pcie@1fc20000 {
246+
compatible = "airoha,en7581-pcie";
247+
device_type = "pci";
248+
linux,pci-domain = <1>;
249+
#address-cells = <3>;
250+
#size-cells = <2>;
251+
252+
reg = <0x0 0x1fc20000 0x0 0x1670>;
253+
reg-names = "pcie-mac";
254+
255+
clocks = <&scuclk EN7523_CLK_PCIE>;
256+
clock-names = "sys-ck";
257+
258+
phys = <&pciephy>;
259+
phy-names = "pcie-phy";
260+
261+
ranges = <0x02000000 0 0x24000000 0x0 0x24000000 0 0x4000000>;
262+
263+
resets = <&scuclk EN7581_PCIE0_RST>,
264+
<&scuclk EN7581_PCIE1_RST>,
265+
<&scuclk EN7581_PCIE2_RST>;
266+
reset-names = "phy-lane0", "phy-lane1", "phy-lane2";
267+
268+
mediatek,pbus-csr = <&pbus_csr 0x8 0xc>;
269+
270+
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
271+
bus-range = <0x00 0xff>;
272+
#interrupt-cells = <1>;
273+
interrupt-map-mask = <0 0 0 7>;
274+
interrupt-map = <0 0 0 1 &pcie_intc1 0>,
275+
<0 0 0 2 &pcie_intc1 1>,
276+
<0 0 0 3 &pcie_intc1 2>,
277+
<0 0 0 4 &pcie_intc1 3>;
278+
279+
status = "disabled";
280+
281+
pcie_intc1: interrupt-controller {
282+
interrupt-controller;
283+
#address-cells = <0>;
284+
#interrupt-cells = <1>;
285+
};
286+
};
287+
183288
uart1: serial@1fbf0000 {
184289
compatible = "ns16550";
185290
reg = <0x0 0x1fbf0000 0x0 0x30>;

0 commit comments

Comments
 (0)