Skip to content

Commit ef761a3

Browse files
authored
Disable PCIe ASPM on QCS6490 Industrial kit (#418)
Disable PCIe ASPM on QCS6490 Industrial kit
2 parents ba9b3e7 + 540b644 commit ef761a3

File tree

3 files changed

+39
-0
lines changed

3 files changed

+39
-0
lines changed

arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine.dtso

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,9 @@
102102
pinctrl-0 = <&pcie0_tc9563_resx_n>;
103103
pinctrl-names = "default";
104104

105+
aspm-no-l0s;
106+
aspm-no-l1;
107+
105108
pcie@1,0 {
106109
reg = <0x20800 0x0 0x0 0x0 0x0>;
107110
#address-cells = <3>;
@@ -110,6 +113,9 @@
110113
device_type = "pci";
111114
ranges;
112115
bus-range = <0x3 0xff>;
116+
117+
aspm-no-l0s;
118+
aspm-no-l1;
113119
};
114120

115121
pcie@2,0 {
@@ -120,6 +126,9 @@
120126
device_type = "pci";
121127
ranges;
122128
bus-range = <0x4 0xff>;
129+
130+
aspm-no-l0s;
131+
aspm-no-l1;
123132
};
124133

125134
pcie@3,0 {
@@ -197,6 +206,9 @@
197206
pinctrl-0 = <&pcie1_tc9563_resx_n>;
198207
pinctrl-names = "default";
199208

209+
aspm-no-l0s;
210+
aspm-no-l1;
211+
200212
pcie@1,0 {
201213
reg = <0x40800 0x0 0x0 0x0 0x0>;
202214
#address-cells = <3>;
@@ -205,6 +217,9 @@
205217
device_type = "pci";
206218
ranges;
207219
bus-range = <0x3 0xff>;
220+
221+
aspm-no-l0s;
222+
aspm-no-l1;
208223
};
209224

210225
pcie@2,0 {
@@ -215,6 +230,9 @@
215230
device_type = "pci";
216231
ranges;
217232
bus-range = <0x4 0xff>;
233+
234+
aspm-no-l0s;
235+
aspm-no-l1;
218236
};
219237

220238
pcie@3,0 {

arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1021,6 +1021,9 @@
10211021
pinctrl-0 = <&tc9563_resx_n>;
10221022
pinctrl-names = "default";
10231023

1024+
aspm-no-l0s;
1025+
aspm-no-l1;
1026+
10241027
pcie1_switch0_dsp1: pcie@1,0 {
10251028
reg = <0x20800 0x0 0x0 0x0 0x0>;
10261029
#address-cells = <3>;
@@ -1029,6 +1032,9 @@
10291032
device_type = "pci";
10301033
ranges;
10311034
bus-range = <0x3 0xff>;
1035+
1036+
aspm-no-l0s;
1037+
aspm-no-l1;
10321038
};
10331039

10341040
pcie@2,0 {
@@ -1040,6 +1046,9 @@
10401046
ranges;
10411047
bus-range = <0x4 0xff>;
10421048

1049+
aspm-no-l0s;
1050+
aspm-no-l1;
1051+
10431052
/* Renesas μPD720201 PCIe USB3.0 Host Controller */
10441053
usb-controller@0,0 {
10451054
compatible = "pci1912,0014";

drivers/pci/pcie/aspm.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -853,6 +853,18 @@ static void pcie_aspm_cap_init(struct pcie_link_state *link, int blacklist)
853853
parent_lnkctl & ~PCI_EXP_LNKCTL_ASPMC);
854854
}
855855

856+
if (of_property_read_bool(child->dev.of_node, "aspm-no-l0s") ||
857+
of_property_read_bool(parent->dev.of_node, "aspm-no-l0s")) {
858+
parent->aspm_l0s_support = 0;
859+
child->aspm_l0s_support = 0;
860+
}
861+
862+
if (of_property_read_bool(child->dev.of_node, "aspm-no-l1") ||
863+
of_property_read_bool(parent->dev.of_node, "aspm-no-l1")) {
864+
parent->aspm_l1_support = 0;
865+
child->aspm_l1_support = 0;
866+
}
867+
856868
/*
857869
* Setup L0s state
858870
*

0 commit comments

Comments
 (0)