Skip to content

Commit b170120

Browse files
swatagarshashim-quic
authored andcommitted
FROMLIST: arm64: dts: qcom: lemans-evk: Enable secondary USB controller in host mode
Enable secondary USB controller in host mode on lemans EVK Platform. For secondary USB Typec port, there is a genesys USB HUB GL3590 having 4 ports sitting in between SOC and HD3SS3220 Type-C port controller and SS lines run from the SoC through the hub to the Port controller. Mark the second USB controller as host only capable. Add HD3SS3220 Type-C port controller along with Type-c connector for controlling vbus supply. Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com> Link: https://lore.kernel.org/all/20251220063537.3639535-5-swati.agarwal@oss.qualcomm.com/
1 parent 7663fa7 commit b170120

File tree

1 file changed

+158
-0
lines changed

1 file changed

+158
-0
lines changed

arch/arm64/boot/dts/qcom/lemans-evk.dts

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,47 @@
6868
};
6969
};
7070

71+
connector-1 {
72+
compatible = "usb-c-connector";
73+
label = "USB1-Type-C";
74+
data-role = "host";
75+
power-role = "dual";
76+
try-power-role = "source";
77+
78+
vbus-supply = <&vbus_supply_regulator_1>;
79+
80+
ports {
81+
#address-cells = <1>;
82+
#size-cells = <0>;
83+
84+
port@0 {
85+
reg = <0>;
86+
87+
usb1_con_ss_ep: endpoint {
88+
remote-endpoint = <&hd3ss3220_1_in_ep>;
89+
};
90+
};
91+
92+
port@1 {
93+
reg = <1>;
94+
95+
usb1_hs_in: endpoint {
96+
remote-endpoint = <&usb_hub_2_1>;
97+
};
98+
99+
};
100+
101+
port@2 {
102+
reg = <2>;
103+
104+
usb1_ss_in: endpoint {
105+
remote-endpoint = <&usb_hub_3_1>;
106+
};
107+
108+
};
109+
};
110+
};
111+
71112
edp0-connector {
72113
compatible = "dp-connector";
73114
label = "EDP0";
@@ -141,6 +182,16 @@
141182
enable-active-high;
142183
};
143184

185+
vbus_supply_regulator_1: regulator-vbus-supply-1 {
186+
compatible = "regulator-fixed";
187+
regulator-name = "vbus_supply_1";
188+
gpio = <&expander1 3 GPIO_ACTIVE_HIGH>;
189+
regulator-min-microvolt = <5000000>;
190+
regulator-max-microvolt = <5000000>;
191+
regulator-boot-on;
192+
enable-active-high;
193+
};
194+
144195
vmmc_sdc: regulator-vmmc-sdc {
145196
compatible = "regulator-fixed";
146197

@@ -616,6 +667,33 @@
616667
};
617668
};
618669
};
670+
671+
usb-typec@47 {
672+
compatible = "ti,hd3ss3220";
673+
reg = <0x47>;
674+
675+
interrupts-extended = <&pmm8654au_2_gpios 6 IRQ_TYPE_EDGE_FALLING>;
676+
677+
id-gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>;
678+
679+
pinctrl-0 = <&usb1_id>, <&usb1_intr>;
680+
pinctrl-names = "default";
681+
682+
ports {
683+
#address-cells = <1>;
684+
#size-cells = <0>;
685+
686+
port@0 {
687+
reg = <0>;
688+
689+
hd3ss3220_1_in_ep: endpoint {
690+
remote-endpoint = <&usb1_con_ss_ep>;
691+
};
692+
};
693+
694+
};
695+
};
696+
619697
};
620698

621699
&i2c18 {
@@ -779,6 +857,14 @@
779857
bias-pull-up;
780858
power-source = <0>;
781859
};
860+
861+
usb1_intr: usb1-intr-state {
862+
pins = "gpio6";
863+
function = "normal";
864+
input-enable;
865+
bias-pull-up;
866+
power-source = <0>;
867+
};
782868
};
783869

784870
&qup_i2c19_default {
@@ -949,6 +1035,12 @@
9491035
function = "gpio";
9501036
bias-pull-up;
9511037
};
1038+
1039+
usb1_id: usb1-id-state {
1040+
pins = "gpio51";
1041+
function = "gpio";
1042+
bias-pull-up;
1043+
};
9521044
};
9531045

9541046
&uart10 {
@@ -1021,6 +1113,72 @@
10211113
status = "okay";
10221114
};
10231115

1116+
&usb_1 {
1117+
dr_mode = "host";
1118+
1119+
#address-cells = <1>;
1120+
#size-cells = <0>;
1121+
1122+
status = "okay";
1123+
1124+
usb_hub_2_x: hub@1 {
1125+
compatible = "usb5e3,610";
1126+
reg = <1>;
1127+
peer-hub = <&usb_hub_3_x>;
1128+
#address-cells = <1>;
1129+
#size-cells = <0>;
1130+
1131+
ports {
1132+
#address-cells = <1>;
1133+
#size-cells = <0>;
1134+
1135+
port@1 {
1136+
reg = <1>;
1137+
1138+
usb_hub_2_1: endpoint {
1139+
remote-endpoint = <&usb1_hs_in>;
1140+
};
1141+
};
1142+
1143+
};
1144+
};
1145+
1146+
usb_hub_3_x: hub@2 {
1147+
compatible = "usb5e3,625";
1148+
reg = <2>;
1149+
peer-hub = <&usb_hub_2_x>;
1150+
1151+
ports {
1152+
#address-cells = <1>;
1153+
#size-cells = <0>;
1154+
1155+
port@1 {
1156+
reg = <1>;
1157+
1158+
usb_hub_3_1: endpoint {
1159+
remote-endpoint = <&usb1_ss_in>;
1160+
};
1161+
};
1162+
1163+
};
1164+
};
1165+
};
1166+
1167+
&usb_1_hsphy {
1168+
vdda-pll-supply = <&vreg_l7a>;
1169+
vdda18-supply = <&vreg_l6c>;
1170+
vdda33-supply = <&vreg_l9a>;
1171+
1172+
status = "okay";
1173+
};
1174+
1175+
&usb_1_qmpphy {
1176+
vdda-phy-supply = <&vreg_l1c>;
1177+
vdda-pll-supply = <&vreg_l7a>;
1178+
1179+
status = "okay";
1180+
};
1181+
10241182
&xo_board_clk {
10251183
clock-frequency = <38400000>;
10261184
};

0 commit comments

Comments
 (0)