Skip to content

Commit 5748246

Browse files
P33Mpelwell
authored andcommitted
DTS: overlays: add pciex1-compat-pi5
Interop testing with the M.2 HAT has revealed that there are many quirky endpoint devices out there, so users should have a way of rapidly iterating to find which quirk is causing reliability issues. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
1 parent e99d176 commit 5748246

File tree

4 files changed

+57
-0
lines changed

4 files changed

+57
-0
lines changed

arch/arm/boot/dts/overlays/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
189189
pcf857x.dtbo \
190190
pcie-32bit-dma.dtbo \
191191
pcie-32bit-dma-pi5.dtbo \
192+
pciex1-compat-pi5.dtbo \
192193
pibell.dtbo \
193194
pifacedigital.dtbo \
194195
pifi-40.dtbo \

arch/arm/boot/dts/overlays/README

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3540,6 +3540,18 @@ Info: Force PCIe config to support 32bit DMA addresses at the expense of
35403540
Load: dtoverlay=pcie-32bit-dma-pi5
35413541
Params: <None>
35423542

3543+
3544+
Name: pciex1-compat-pi5
3545+
Info: Compatibility features for pciex1 on Pi 5.
3546+
Load: dtoverlay=pciex1-compat-pi5,<param>=<val>
3547+
Params: l1ss Enable ASPM L1 sub-state support
3548+
no-l0s Disable ASPM L0s
3549+
no-mip Revert to the MSI target in the RC, instead of
3550+
the MSI-MIP peripheral. Use if a) more than 8
3551+
interrupt vectors are required or b) the EP
3552+
requires DMA and MSI addresses to be 32bit.
3553+
3554+
35433555
[ The pcf2127-rtc overlay has been deleted. See i2c-rtc. ]
35443556

35453557

arch/arm/boot/dts/overlays/overlay_map.dts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,10 @@
196196
bcm2712;
197197
};
198198

199+
pcie-compat-pi5 {
200+
bcm2712;
201+
};
202+
199203
pi3-act-led {
200204
renamed = "act-led";
201205
};
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/*
2+
* Various feature switches for the 1-lane PCIe controller on Pi 5
3+
*/
4+
5+
/dts-v1/;
6+
/plugin/;
7+
8+
/ {
9+
compatible = "brcm,bcm2712";
10+
11+
/* Enable L1 sub-state support */
12+
fragment@0 {
13+
target = <&pciex1>;
14+
__dormant__ {
15+
brcm,enable-l1ss;
16+
};
17+
};
18+
19+
/* Disable ASPM L0s */
20+
fragment@1 {
21+
target = <&pciex1>;
22+
__dormant__ {
23+
aspm-no-l0s;
24+
};
25+
};
26+
27+
/* Use RC MSI target instead of MIP MSIx target */
28+
fragment@2 {
29+
target = <&pciex1>;
30+
__dormant__ {
31+
msi-parent = <&pciex1>;
32+
};
33+
};
34+
35+
__overrides__ {
36+
l1ss = <0>, "+0";
37+
no-l0s = <0>, "+1";
38+
no-mip = <0>, "+2";
39+
};
40+
};

0 commit comments

Comments
 (0)