Skip to content

Commit 8f8218e

Browse files
authored
Merge pull request #219 from krishnachaitanya-linux/indus
Add support for PCIe switches in indus mezz board
2 parents 3a906a2 + 14a1705 commit 8f8218e

2 files changed

Lines changed: 262 additions & 1 deletion

File tree

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

Lines changed: 261 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,33 @@
55

66
/dts-v1/;
77
/plugin/;
8+
#include <dt-bindings/gpio/gpio.h>
89
#include <dt-bindings/clock/qcom,gcc-sc7280.h>
910
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
1011

12+
&{/} {
13+
14+
vreg_0p9: regulator-vreg-0p9 {
15+
compatible = "regulator-fixed";
16+
regulator-name = "VREG_0P9";
17+
regulator-min-microvolt = <900000>;
18+
regulator-max-microvolt = <900000>;
19+
20+
regulator-always-on;
21+
regulator-boot-on;
22+
};
23+
24+
vreg_1p8: regulator-vreg-1p8 {
25+
compatible = "regulator-fixed";
26+
regulator-name = "VREG_1P8";
27+
regulator-min-microvolt = <1800000>;
28+
regulator-max-microvolt = <1800000>;
29+
30+
regulator-always-on;
31+
regulator-boot-on;
32+
};
33+
};
34+
1135
&spi11 {
1236
#address-cells = <1>;
1337
#size-cells = <0>;
@@ -19,3 +43,240 @@
1943
spi-max-frequency = <20000000>;
2044
};
2145
};
46+
47+
&pcie0 {
48+
perst-gpios = <&tlmm 87 GPIO_ACTIVE_LOW>;
49+
50+
pinctrl-0 = <&pcie0_reset_n>, <&pcie0_wake_n>, <&pcie0_clkreq_n>;
51+
pinctrl-names = "default";
52+
53+
iommu-map = <0x0 &apps_smmu 0x1c00 0x1>,
54+
<0x100 &apps_smmu 0x1c01 0x1>,
55+
<0x208 &apps_smmu 0x1c04 0x1>,
56+
<0x210 &apps_smmu 0x1c05 0x1>,
57+
<0x218 &apps_smmu 0x1c06 0x1>,
58+
<0x300 &apps_smmu 0x1c07 0x1>,
59+
<0x400 &apps_smmu 0x1c08 0x1>,
60+
<0x500 &apps_smmu 0x1c09 0x1>,
61+
<0x501 &apps_smmu 0x1c10 0x1>;
62+
63+
status = "okay";
64+
};
65+
66+
&pcie0_phy {
67+
vdda-phy-supply = <&vreg_l10c_0p88>;
68+
vdda-pll-supply = <&vreg_l6b_1p2>;
69+
70+
status = "okay";
71+
};
72+
73+
&pcie0_port {
74+
#address-cells = <3>;
75+
#size-cells = <2>;
76+
77+
pcie@0,0 {
78+
compatible = "pci1179,0623";
79+
reg = <0x10000 0x0 0x0 0x0 0x0>;
80+
#address-cells = <3>;
81+
#size-cells = <2>;
82+
83+
device_type = "pci";
84+
ranges;
85+
bus-range = <0x2 0xff>;
86+
87+
vddc-supply = <&vreg_0p9>;
88+
vdd18-supply = <&vreg_1p8>;
89+
vdd09-supply = <&vreg_0p9>;
90+
vddio1-supply = <&vreg_1p8>;
91+
vddio2-supply = <&vreg_1p8>;
92+
vddio18-supply = <&vreg_1p8>;
93+
94+
i2c-parent = <&i2c1 0x33>;
95+
96+
resx-gpios = <&tlmm 78 GPIO_ACTIVE_LOW>;
97+
98+
pinctrl-0 = <&pcie0_tc9563_resx_n>;
99+
pinctrl-names = "default";
100+
101+
pcie@1,0 {
102+
reg = <0x20800 0x0 0x0 0x0 0x0>;
103+
#address-cells = <3>;
104+
#size-cells = <2>;
105+
106+
device_type = "pci";
107+
ranges;
108+
bus-range = <0x3 0xff>;
109+
};
110+
111+
pcie@2,0 {
112+
reg = <0x21000 0x0 0x0 0x0 0x0>;
113+
#address-cells = <3>;
114+
#size-cells = <2>;
115+
116+
device_type = "pci";
117+
ranges;
118+
bus-range = <0x4 0xff>;
119+
};
120+
121+
pcie@3,0 {
122+
reg = <0x21800 0x0 0x0 0x0 0x0>;
123+
#address-cells = <3>;
124+
#size-cells = <2>;
125+
device_type = "pci";
126+
ranges;
127+
bus-range = <0x5 0xff>;
128+
129+
pci@0,0 {
130+
reg = <0x50000 0x0 0x0 0x0 0x0>;
131+
#address-cells = <3>;
132+
#size-cells = <2>;
133+
device_type = "pci";
134+
ranges;
135+
};
136+
137+
pci@0,1 {
138+
reg = <0x50100 0x0 0x0 0x0 0x0>;
139+
#address-cells = <3>;
140+
#size-cells = <2>;
141+
device_type = "pci";
142+
ranges;
143+
};
144+
};
145+
146+
};
147+
};
148+
149+
&pcie1 {
150+
iommu-map = <0x0 &apps_smmu 0x1c80 0x1>,
151+
<0x100 &apps_smmu 0x1c81 0x1>,
152+
<0x208 &apps_smmu 0x1c84 0x1>,
153+
<0x210 &apps_smmu 0x1c85 0x1>,
154+
<0x218 &apps_smmu 0x1c86 0x1>,
155+
<0x300 &apps_smmu 0x1c87 0x1>,
156+
<0x408 &apps_smmu 0x1c90 0x1>,
157+
<0x410 &apps_smmu 0x1c91 0x1>,
158+
<0x418 &apps_smmu 0x1c92 0x1>,
159+
<0x500 &apps_smmu 0x1c93 0x1>,
160+
<0x600 &apps_smmu 0x1c94 0x1>,
161+
<0x700 &apps_smmu 0x1c95 0x1>,
162+
<0x701 &apps_smmu 0x1c96 0x1>,
163+
<0x800 &apps_smmu 0x1c97 0x1>,
164+
<0x900 &apps_smmu 0x1c98 0x1>,
165+
<0x901 &apps_smmu 0x1c99 0x1>;
166+
};
167+
168+
&pcie1_switch0_dsp1 {
169+
#address-cells = <3>;
170+
#size-cells = <2>;
171+
172+
pcie@0,0 {
173+
compatible = "pci1179,0623";
174+
reg = <0x30000 0x0 0x0 0x0 0x0>;
175+
#address-cells = <3>;
176+
#size-cells = <2>;
177+
178+
device_type = "pci";
179+
ranges;
180+
bus-range = <0x2 0xff>;
181+
182+
vddc-supply = <&vdd_ntn_0p9>;
183+
vdd18-supply = <&vdd_ntn_1p8>;
184+
vdd09-supply = <&vdd_ntn_0p9>;
185+
vddio1-supply = <&vdd_ntn_1p8>;
186+
vddio2-supply = <&vdd_ntn_1p8>;
187+
vddio18-supply = <&vdd_ntn_1p8>;
188+
189+
i2c-parent = <&i2c1 0x77>;
190+
191+
resx-gpios = <&tlmm 124 GPIO_ACTIVE_LOW>;
192+
193+
pinctrl-0 = <&pcie1_tc9563_resx_n>;
194+
pinctrl-names = "default";
195+
196+
pcie@1,0 {
197+
reg = <0x40800 0x0 0x0 0x0 0x0>;
198+
#address-cells = <3>;
199+
#size-cells = <2>;
200+
201+
device_type = "pci";
202+
ranges;
203+
bus-range = <0x3 0xff>;
204+
};
205+
206+
pcie@2,0 {
207+
reg = <0x41000 0x0 0x0 0x0 0x0>;
208+
#address-cells = <3>;
209+
#size-cells = <2>;
210+
211+
device_type = "pci";
212+
ranges;
213+
bus-range = <0x4 0xff>;
214+
};
215+
216+
pcie@3,0 {
217+
reg = <0x41800 0x0 0x0 0x0 0x0>;
218+
#address-cells = <3>;
219+
#size-cells = <2>;
220+
device_type = "pci";
221+
ranges;
222+
bus-range = <0x5 0xff>;
223+
224+
pci@0,0 {
225+
reg = <0x50000 0x0 0x0 0x0 0x0>;
226+
#address-cells = <3>;
227+
#size-cells = <2>;
228+
device_type = "pci";
229+
ranges;
230+
};
231+
232+
pci@0,1 {
233+
reg = <0x50100 0x0 0x0 0x0 0x0>;
234+
#address-cells = <3>;
235+
#size-cells = <2>;
236+
device_type = "pci";
237+
ranges;
238+
};
239+
};
240+
};
241+
};
242+
243+
&tlmm {
244+
pcie0_tc9563_resx_n: pcie0-tc9563-resx-state {
245+
pins = "gpio78";
246+
function = "gpio";
247+
bias-disable;
248+
input-disable;
249+
output-enable;
250+
};
251+
252+
pcie0_reset_n: pcie0-reset-n-state {
253+
pins = "gpio87";
254+
function = "gpio";
255+
drive-strength = <16>;
256+
output-low;
257+
bias-disable;
258+
};
259+
260+
pcie0_clkreq_n: pcie0-clkreq-n-state {
261+
pins = "gpio88";
262+
function = "gpio";
263+
drive-strength = <2>;
264+
bias-pull-up;
265+
};
266+
267+
pcie0_wake_n: pcie0-wake-n-state {
268+
pins = "gpio89";
269+
function = "gpio";
270+
drive-strength = <2>;
271+
bias-pull-up;
272+
};
273+
274+
pcie1_tc9563_resx_n: pcie1-tc9563-resx-state {
275+
pins = "gpio124";
276+
function = "gpio";
277+
bias-disable;
278+
input-disable;
279+
output-enable;
280+
};
281+
282+
};

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -927,7 +927,7 @@
927927
pinctrl-0 = <&tc9563_resx_n>;
928928
pinctrl-names = "default";
929929

930-
pcie@1,0 {
930+
pcie1_switch0_dsp1: pcie@1,0 {
931931
reg = <0x20800 0x0 0x0 0x0 0x0>;
932932
#address-cells = <3>;
933933
#size-cells = <2>;

0 commit comments

Comments
 (0)