Skip to content

Commit 0fd6331

Browse files
FROMLIST: arm64: dts: qcom: qcs6490-rb3gen2-industrial-mezzanine: Add TC9563 PCIe switch node for PCIe0
Add a node for the TC9563 PCIe switch connected to PCIe0. The switch has three downstream ports.Two embedded Ethernet devices are present on one of the downstream ports. All the ports present in the node represent the downstream ports and embedded endpoints. Power to the TC9563 is supplied through two LDO regulators, which are on by default and are added as fixed regulators. TC9563 can be configured through I2C. Signed-off-by: Sushrut Shree Trivedi <sushrut.trivedi@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260305-industrial-mezzanine-pcie-v4-1-1f2c9d1344d7@oss.qualcomm.com
1 parent 31b0beb commit 0fd6331

1 file changed

Lines changed: 159 additions & 0 deletions

File tree

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

Lines changed: 159 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,138 @@
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+
&tlmm {
150+
pcie0_tc9563_resx_n: pcie0-tc9563-resx-state {
151+
pins = "gpio78";
152+
function = "gpio";
153+
bias-disable;
154+
input-disable;
155+
output-enable;
156+
};
157+
158+
pcie0_reset_n: pcie0-reset-n-state {
159+
pins = "gpio87";
160+
function = "gpio";
161+
drive-strength = <16>;
162+
output-low;
163+
bias-disable;
164+
};
165+
166+
pcie0_clkreq_n: pcie0-clkreq-n-state {
167+
pins = "gpio88";
168+
function = "gpio";
169+
drive-strength = <2>;
170+
bias-pull-up;
171+
};
172+
173+
pcie0_wake_n: pcie0-wake-n-state {
174+
pins = "gpio89";
175+
function = "gpio";
176+
drive-strength = <2>;
177+
bias-pull-up;
178+
};
179+
180+
};

0 commit comments

Comments
 (0)