* [PATCH v4 0/4] Enable secondary USB controller in host mode
@ 2026-01-20 10:33 Swati Agarwal
2026-01-20 10:33 ` [PATCH v4 1/4] dt-bindings: usb: Add binding for Genesys Logic GL3590 hub Swati Agarwal
` (4 more replies)
0 siblings, 5 replies; 9+ messages in thread
From: Swati Agarwal @ 2026-01-20 10:33 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Icenowy Zheng, Matthias Kaehlcke, Mike Looijmans,
Stephen Boyd, Dmitry Baryshkov, Jens Glathe, Chaoyi Chen,
J . Neuschäfer, Pin-yen Lin, Catalin Popescu,
Bjorn Andersson, Konrad Dybcio
Cc: linux-usb, devicetree, linux-kernel, linux-arm-msm, Swati Agarwal
Enable secondary USB controller in host mode on lemans EVK platforms.
Changes in v4:
Updated power supply property for hub.
Updated details for all 4 ports of hub.
Changes in v3:
Updated binding properties for genesys hub.
Changes in v2:
Add Genesys Logic GL3590 hub support.
Rename hd3ss3220_ instance for primary port controller.
Link to v3:
https://lore.kernel.org/all/20251220063537.3639535-1-swati.agarwal@oss.qualcomm.com/
Link to v2:
https://lore.kernel.org/all/20251216120749.94007-1-swati.agarwal@oss.qualcomm.com/
Link to v1:
https://lore.kernel.org/all/20251203-swati-v1-1-250efcb4e6a7@oss.qualcomm.com/
Swati Agarwal (4):
dt-bindings: usb: Add binding for Genesys Logic GL3590 hub
usb: misc: onboard_usb_hub: Add Genesys Logic GL3590 hub support
arm64: dts: qcom: lemans-evk: Rename hd3ss3220_ instance for primary
port controller
arm64: dts: qcom: lemans-evk: Enable secondary USB controller in host
mode
.../bindings/usb/genesys,gl850g.yaml | 17 ++
arch/arm64/boot/dts/qcom/lemans-evk.dts | 217 +++++++++++++++++-
drivers/usb/misc/onboard_usb_dev.c | 1 +
drivers/usb/misc/onboard_usb_dev.h | 8 +
4 files changed, 239 insertions(+), 4 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v4 1/4] dt-bindings: usb: Add binding for Genesys Logic GL3590 hub
2026-01-20 10:33 [PATCH v4 0/4] Enable secondary USB controller in host mode Swati Agarwal
@ 2026-01-20 10:33 ` Swati Agarwal
2026-01-21 2:24 ` Rob Herring
2026-01-20 10:33 ` [PATCH v4 2/4] usb: misc: onboard_usb_hub: Add Genesys Logic GL3590 hub support Swati Agarwal
` (3 subsequent siblings)
4 siblings, 1 reply; 9+ messages in thread
From: Swati Agarwal @ 2026-01-20 10:33 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Icenowy Zheng, Matthias Kaehlcke, Mike Looijmans,
Stephen Boyd, Dmitry Baryshkov, Jens Glathe, Chaoyi Chen,
J . Neuschäfer, Pin-yen Lin, Catalin Popescu,
Bjorn Andersson, Konrad Dybcio
Cc: linux-usb, devicetree, linux-kernel, linux-arm-msm, Swati Agarwal
Add the binding for the USB3.2 Genesys Logic GL3590 hub.
GL3590 hub requires 1.2V and 3.3V supplies for operation.
Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
---
.../devicetree/bindings/usb/genesys,gl850g.yaml | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
index 9a94b2a74a1e..a4a359000ca1 100644
--- a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
+++ b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
@@ -15,6 +15,7 @@ properties:
- usb5e3,608
- usb5e3,610
- usb5e3,620
+ - usb5e3,625
- usb5e3,626
reg: true
@@ -26,6 +27,10 @@ properties:
description:
The regulator that provides 3.3V or 5.0V core power to the hub.
+ vdd12-supply:
+ description:
+ The regulator that provides 1.2V power to the hub.
+
peer-hub: true
ports:
@@ -69,6 +74,18 @@ allOf:
peer-hub: true
vdd-supply: true
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - usb5e3,625
+ then:
+ properties:
+ peer-hub: true
+ vdd-supply: true
+ vdd12-supply: true
+
unevaluatedProperties: false
examples:
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v4 2/4] usb: misc: onboard_usb_hub: Add Genesys Logic GL3590 hub support
2026-01-20 10:33 [PATCH v4 0/4] Enable secondary USB controller in host mode Swati Agarwal
2026-01-20 10:33 ` [PATCH v4 1/4] dt-bindings: usb: Add binding for Genesys Logic GL3590 hub Swati Agarwal
@ 2026-01-20 10:33 ` Swati Agarwal
2026-01-20 10:33 ` [PATCH v4 3/4] arm64: dts: qcom: lemans-evk: Rename hd3ss3220_ instance for primary port controller Swati Agarwal
` (2 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: Swati Agarwal @ 2026-01-20 10:33 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Icenowy Zheng, Matthias Kaehlcke, Mike Looijmans,
Stephen Boyd, Dmitry Baryshkov, Jens Glathe, Chaoyi Chen,
J . Neuschäfer, Pin-yen Lin, Catalin Popescu,
Bjorn Andersson, Konrad Dybcio
Cc: linux-usb, devicetree, linux-kernel, linux-arm-msm, Swati Agarwal
Add support for the GL3590 4 ports USB3.2 hub.
Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
---
drivers/usb/misc/onboard_usb_dev.c | 1 +
drivers/usb/misc/onboard_usb_dev.h | 8 ++++++++
2 files changed, 9 insertions(+)
diff --git a/drivers/usb/misc/onboard_usb_dev.c b/drivers/usb/misc/onboard_usb_dev.c
index 41360a7591e5..bde303b820d7 100644
--- a/drivers/usb/misc/onboard_usb_dev.c
+++ b/drivers/usb/misc/onboard_usb_dev.c
@@ -661,6 +661,7 @@ static const struct usb_device_id onboard_dev_id_table[] = {
{ USB_DEVICE(VENDOR_ID_GENESYS, 0x0608) }, /* Genesys Logic GL850G USB 2.0 HUB */
{ USB_DEVICE(VENDOR_ID_GENESYS, 0x0610) }, /* Genesys Logic GL852G USB 2.0 HUB */
{ USB_DEVICE(VENDOR_ID_GENESYS, 0x0620) }, /* Genesys Logic GL3523 USB 3.1 HUB */
+ { USB_DEVICE(VENDOR_ID_GENESYS, 0x0625) }, /* Genesys Logic GL3590 USB 3.2 HUB */
{ USB_DEVICE(VENDOR_ID_MICROCHIP, 0x2412) }, /* USB2412 USB 2.0 HUB */
{ USB_DEVICE(VENDOR_ID_MICROCHIP, 0x2514) }, /* USB2514B USB 2.0 HUB */
{ USB_DEVICE(VENDOR_ID_MICROCHIP, 0x2517) }, /* USB2517 USB 2.0 HUB */
diff --git a/drivers/usb/misc/onboard_usb_dev.h b/drivers/usb/misc/onboard_usb_dev.h
index 1a1e86e60e04..af9f3a33e850 100644
--- a/drivers/usb/misc/onboard_usb_dev.h
+++ b/drivers/usb/misc/onboard_usb_dev.h
@@ -108,6 +108,13 @@ static const struct onboard_dev_pdata genesys_gl852g_data = {
.is_hub = true,
};
+static const struct onboard_dev_pdata genesys_gl3590_data = {
+ .reset_us = 50,
+ .num_supplies = 2,
+ .supply_names = { "vdd", "vdd12" },
+ .is_hub = true,
+};
+
static const struct onboard_dev_pdata vialab_vl817_data = {
.reset_us = 10,
.num_supplies = 1,
@@ -147,6 +154,7 @@ static const struct of_device_id onboard_dev_match[] = {
{ .compatible = "usb5e3,608", .data = &genesys_gl850g_data, },
{ .compatible = "usb5e3,610", .data = &genesys_gl852g_data, },
{ .compatible = "usb5e3,620", .data = &genesys_gl852g_data, },
+ { .compatible = "usb5e3,625", .data = &genesys_gl3590_data, },
{ .compatible = "usb5e3,626", .data = &genesys_gl852g_data, },
{ .compatible = "usbbda,179", .data = &realtek_rtl8188etv_data, },
{ .compatible = "usbbda,411", .data = &realtek_rts5411_data, },
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v4 3/4] arm64: dts: qcom: lemans-evk: Rename hd3ss3220_ instance for primary port controller
2026-01-20 10:33 [PATCH v4 0/4] Enable secondary USB controller in host mode Swati Agarwal
2026-01-20 10:33 ` [PATCH v4 1/4] dt-bindings: usb: Add binding for Genesys Logic GL3590 hub Swati Agarwal
2026-01-20 10:33 ` [PATCH v4 2/4] usb: misc: onboard_usb_hub: Add Genesys Logic GL3590 hub support Swati Agarwal
@ 2026-01-20 10:33 ` Swati Agarwal
2026-01-20 10:33 ` [PATCH v4 4/4] arm64: dts: qcom: lemans-evk: Enable secondary USB controller in host mode Swati Agarwal
2026-01-20 19:49 ` [PATCH v4 0/4] " Rob Herring
4 siblings, 0 replies; 9+ messages in thread
From: Swati Agarwal @ 2026-01-20 10:33 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Icenowy Zheng, Matthias Kaehlcke, Mike Looijmans,
Stephen Boyd, Dmitry Baryshkov, Jens Glathe, Chaoyi Chen,
J . Neuschäfer, Pin-yen Lin, Catalin Popescu,
Bjorn Andersson, Konrad Dybcio
Cc: linux-usb, devicetree, linux-kernel, linux-arm-msm, Swati Agarwal,
Konrad Dybcio
Rename the hd3ss3220_ instance to improve clarity and simplify usage when
adding a secondary port controller.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/lemans-evk.dts | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
index 90fce947ca7e..074a1edd0334 100644
--- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
+++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
@@ -62,7 +62,7 @@ port@1 {
reg = <1>;
usb0_con_ss_ep: endpoint {
- remote-endpoint = <&hd3ss3220_in_ep>;
+ remote-endpoint = <&hd3ss3220_0_in_ep>;
};
};
};
@@ -522,7 +522,7 @@ ports {
port@0 {
reg = <0>;
- hd3ss3220_in_ep: endpoint {
+ hd3ss3220_0_in_ep: endpoint {
remote-endpoint = <&usb0_con_ss_ep>;
};
};
@@ -530,7 +530,7 @@ hd3ss3220_in_ep: endpoint {
port@1 {
reg = <1>;
- hd3ss3220_out_ep: endpoint {
+ hd3ss3220_0_out_ep: endpoint {
remote-endpoint = <&usb_0_dwc3_ss>;
};
};
@@ -904,7 +904,7 @@ &usb_0_dwc3_hs {
};
&usb_0_dwc3_ss {
- remote-endpoint = <&hd3ss3220_out_ep>;
+ remote-endpoint = <&hd3ss3220_0_out_ep>;
};
&usb_0_hsphy {
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v4 4/4] arm64: dts: qcom: lemans-evk: Enable secondary USB controller in host mode
2026-01-20 10:33 [PATCH v4 0/4] Enable secondary USB controller in host mode Swati Agarwal
` (2 preceding siblings ...)
2026-01-20 10:33 ` [PATCH v4 3/4] arm64: dts: qcom: lemans-evk: Rename hd3ss3220_ instance for primary port controller Swati Agarwal
@ 2026-01-20 10:33 ` Swati Agarwal
2026-01-20 22:17 ` Dmitry Baryshkov
2026-01-20 22:18 ` Dmitry Baryshkov
2026-01-20 19:49 ` [PATCH v4 0/4] " Rob Herring
4 siblings, 2 replies; 9+ messages in thread
From: Swati Agarwal @ 2026-01-20 10:33 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Icenowy Zheng, Matthias Kaehlcke, Mike Looijmans,
Stephen Boyd, Dmitry Baryshkov, Jens Glathe, Chaoyi Chen,
J . Neuschäfer, Pin-yen Lin, Catalin Popescu,
Bjorn Andersson, Konrad Dybcio
Cc: linux-usb, devicetree, linux-kernel, linux-arm-msm, Swati Agarwal
Enable secondary USB controller in host mode on lemans EVK Platform.
Secondary USB controller is connected to a Genesys Logic USB HUB GL3590
having 4 ports The ports of hub that are present on lemans EVK standalone
board are used as follows:-
1) port-1 is connected to HD3SS3220 Type-C port controller.
2) port-4 is used for the M.2 E key on corekit. Standard core kit uses UART
for Bluetooth. This port is to be used only if user optionally replaces the
WiFi card with the NFA765 chip which uses USB for Bluetooth.
Remaining 2 ports will become functional when the interface plus mezzanine
board is stacked on top of corekit:
3) port-2 is connected to another hub which is present on the mezz through
which 4 type-A ports are connected.
4) port-3 is used for the M.2 B key for a 5G card when the mezz is
connected.
Mark the second USB controller as host only capable and add the HD3SS3220
Type-C port controller along with Type-c connector for controlling vbus
supply.
Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/lemans-evk.dts | 209 ++++++++++++++++++++++++
1 file changed, 209 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
index 074a1edd0334..328b30576a0b 100644
--- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
+++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
@@ -68,6 +68,45 @@ usb0_con_ss_ep: endpoint {
};
};
+ connector-1 {
+ compatible = "usb-c-connector";
+ label = "USB1-Type-C";
+ data-role = "host";
+ power-role = "source";
+
+ vbus-supply = <&vbus_supply_regulator_1>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ usb1_con_ss_ep: endpoint {
+ remote-endpoint = <&hd3ss3220_1_in_ep>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ usb1_hs_in: endpoint {
+ remote-endpoint = <&usb_hub_2_1>;
+ };
+
+ };
+
+ port@2 {
+ reg = <2>;
+
+ usb1_ss_in: endpoint {
+ remote-endpoint = <&usb_hub_3_1>;
+ };
+ };
+ };
+ };
+
edp0-connector {
compatible = "dp-connector";
label = "EDP0";
@@ -141,6 +180,16 @@ vbus_supply_regulator_0: regulator-vbus-supply-0 {
enable-active-high;
};
+ vbus_supply_regulator_1: regulator-vbus-supply-1 {
+ compatible = "regulator-fixed";
+ regulator-name = "vbus_supply_1";
+ gpio = <&expander1 3 GPIO_ACTIVE_HIGH>;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-boot-on;
+ enable-active-high;
+ };
+
vmmc_sdc: regulator-vmmc-sdc {
compatible = "regulator-fixed";
@@ -536,6 +585,32 @@ hd3ss3220_0_out_ep: endpoint {
};
};
};
+
+ usb-typec@47 {
+ compatible = "ti,hd3ss3220";
+ reg = <0x47>;
+
+ interrupts-extended = <&pmm8654au_2_gpios 6 IRQ_TYPE_EDGE_FALLING>;
+
+ id-gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>;
+
+ pinctrl-0 = <&usb1_id>, <&usb1_intr>;
+ pinctrl-names = "default";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ hd3ss3220_1_in_ep: endpoint {
+ remote-endpoint = <&usb1_con_ss_ep>;
+ };
+ };
+ };
+ };
+
};
&i2c18 {
@@ -699,6 +774,14 @@ usb0_intr_state: usb0-intr-state {
bias-pull-up;
power-source = <0>;
};
+
+ usb1_intr: usb1-intr-state {
+ pins = "gpio6";
+ function = "normal";
+ input-enable;
+ bias-pull-up;
+ power-source = <0>;
+ };
};
&qup_i2c19_default {
@@ -868,6 +951,12 @@ usb_id: usb-id-state {
function = "gpio";
bias-pull-up;
};
+
+ usb1_id: usb1-id-state {
+ pins = "gpio51";
+ function = "gpio";
+ bias-pull-up;
+ };
};
&uart10 {
@@ -922,6 +1011,126 @@ &usb_0_qmpphy {
status = "okay";
};
+&usb_1 {
+ dr_mode = "host";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "okay";
+
+ usb_hub_2_x: hub@1 {
+ compatible = "usb5e3,610";
+ reg = <1>;
+
+ peer-hub = <&usb_hub_3_x>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+
+ usb_hub_2_1: endpoint {
+ remote-endpoint = <&usb1_hs_in>;
+ };
+ };
+
+ /*
+ * Port2 is connected to another hub which is present on the interface
+ * plus mezz through which 4 type-A ports are connected.
+ */
+ port@2 {
+ reg = <2>;
+
+ usb_hub_2_2: endpoint {
+ };
+ };
+
+ /*
+ * Port3 is used for the M.2 B key for a 5G card when the interface
+ * plus mezz is connected.
+ */
+ port@3 {
+ reg = <3>;
+
+ usb_hub_2_3: endpoint {
+ };
+ };
+
+ /*
+ * Port-4 is used for the M.2 E key on corekit. Standard core kit uses
+ * UART for Bluetooth. This port is to be used only if user optionally
+ * replaces the WiFi card with the NFA765 chip which uses USB for
+ * Bluetooth.
+ */
+ port@4 {
+ reg = <4>;
+
+ usb_hub_2_4: endpoint {
+ };
+ };
+ };
+ };
+
+ usb_hub_3_x: hub@2 {
+ compatible = "usb5e3,625";
+ reg = <2>;
+
+ peer-hub = <&usb_hub_2_x>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+
+ usb_hub_3_1: endpoint {
+ remote-endpoint = <&usb1_ss_in>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ usb_hub_3_2: endpoint {
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+
+ usb_hub_3_3: endpoint {
+ };
+ };
+
+ port@4 {
+ reg = <4>;
+
+ usb_hub_3_4: endpoint {
+ };
+ };
+ };
+ };
+};
+
+&usb_1_hsphy {
+ vdda-pll-supply = <&vreg_l7a>;
+ vdda18-supply = <&vreg_l6c>;
+ vdda33-supply = <&vreg_l9a>;
+
+ status = "okay";
+};
+
+&usb_1_qmpphy {
+ vdda-phy-supply = <&vreg_l1c>;
+ vdda-pll-supply = <&vreg_l7a>;
+
+ status = "okay";
+};
+
&xo_board_clk {
clock-frequency = <38400000>;
};
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v4 0/4] Enable secondary USB controller in host mode
2026-01-20 10:33 [PATCH v4 0/4] Enable secondary USB controller in host mode Swati Agarwal
` (3 preceding siblings ...)
2026-01-20 10:33 ` [PATCH v4 4/4] arm64: dts: qcom: lemans-evk: Enable secondary USB controller in host mode Swati Agarwal
@ 2026-01-20 19:49 ` Rob Herring
4 siblings, 0 replies; 9+ messages in thread
From: Rob Herring @ 2026-01-20 19:49 UTC (permalink / raw)
To: Swati Agarwal
Cc: Pin-yen Lin, Krzysztof Kozlowski, Greg Kroah-Hartman,
Matthias Kaehlcke, Icenowy Zheng, linux-arm-msm,
J . Neuschäfer, Dmitry Baryshkov, Bjorn Andersson, linux-usb,
Conor Dooley, linux-kernel, Jens Glathe, Mike Looijmans,
devicetree, Catalin Popescu, Konrad Dybcio, Stephen Boyd,
Chaoyi Chen
On Tue, 20 Jan 2026 16:03:08 +0530, Swati Agarwal wrote:
> Enable secondary USB controller in host mode on lemans EVK platforms.
>
> Changes in v4:
> Updated power supply property for hub.
> Updated details for all 4 ports of hub.
>
> Changes in v3:
> Updated binding properties for genesys hub.
>
> Changes in v2:
> Add Genesys Logic GL3590 hub support.
> Rename hd3ss3220_ instance for primary port controller.
>
> Link to v3:
> https://lore.kernel.org/all/20251220063537.3639535-1-swati.agarwal@oss.qualcomm.com/
>
> Link to v2:
> https://lore.kernel.org/all/20251216120749.94007-1-swati.agarwal@oss.qualcomm.com/
>
> Link to v1:
> https://lore.kernel.org/all/20251203-swati-v1-1-250efcb4e6a7@oss.qualcomm.com/
>
> Swati Agarwal (4):
> dt-bindings: usb: Add binding for Genesys Logic GL3590 hub
> usb: misc: onboard_usb_hub: Add Genesys Logic GL3590 hub support
> arm64: dts: qcom: lemans-evk: Rename hd3ss3220_ instance for primary
> port controller
> arm64: dts: qcom: lemans-evk: Enable secondary USB controller in host
> mode
>
> .../bindings/usb/genesys,gl850g.yaml | 17 ++
> arch/arm64/boot/dts/qcom/lemans-evk.dts | 217 +++++++++++++++++-
> drivers/usb/misc/onboard_usb_dev.c | 1 +
> drivers/usb/misc/onboard_usb_dev.h | 8 +
> 4 files changed, 239 insertions(+), 4 deletions(-)
>
> --
> 2.34.1
>
>
>
My bot found new DTB warnings on the .dts files added or changed in this
series.
Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.
If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:
pip3 install dtschema --upgrade
This patch series was applied (using b4) to base:
Base: attempting to guess base-commit...
Base: tags/next-20260120 (exact match)
Base: tags/next-20260120 (use --merge-base to override)
If this is not the correct base, please add 'base-commit' tag
(or use b4 which does this automatically)
Warnings in base: 209
Warnings after series: 211
New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/qcom/' for 20260120103312.2174727-1-swati.agarwal@oss.qualcomm.com:
arch/arm64/boot/dts/qcom/lemans-evk.dtb: usb-typec@47 (ti,hd3ss3220): ports: 'port@1' is a required property
from schema $id: http://devicetree.org/schemas/usb/ti,hd3ss3220.yaml
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v4 4/4] arm64: dts: qcom: lemans-evk: Enable secondary USB controller in host mode
2026-01-20 10:33 ` [PATCH v4 4/4] arm64: dts: qcom: lemans-evk: Enable secondary USB controller in host mode Swati Agarwal
@ 2026-01-20 22:17 ` Dmitry Baryshkov
2026-01-20 22:18 ` Dmitry Baryshkov
1 sibling, 0 replies; 9+ messages in thread
From: Dmitry Baryshkov @ 2026-01-20 22:17 UTC (permalink / raw)
To: Swati Agarwal
Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Icenowy Zheng, Matthias Kaehlcke, Mike Looijmans,
Stephen Boyd, Jens Glathe, Chaoyi Chen, J . Neuschäfer,
Pin-yen Lin, Catalin Popescu, Bjorn Andersson, Konrad Dybcio,
linux-usb, devicetree, linux-kernel, linux-arm-msm
On Tue, Jan 20, 2026 at 04:03:12PM +0530, Swati Agarwal wrote:
> Enable secondary USB controller in host mode on lemans EVK Platform.
>
> Secondary USB controller is connected to a Genesys Logic USB HUB GL3590
> having 4 ports The ports of hub that are present on lemans EVK standalone
> board are used as follows:-
> 1) port-1 is connected to HD3SS3220 Type-C port controller.
> 2) port-4 is used for the M.2 E key on corekit. Standard core kit uses UART
> for Bluetooth. This port is to be used only if user optionally replaces the
> WiFi card with the NFA765 chip which uses USB for Bluetooth.
>
> Remaining 2 ports will become functional when the interface plus mezzanine
> board is stacked on top of corekit:
>
> 3) port-2 is connected to another hub which is present on the mezz through
> which 4 type-A ports are connected.
> 4) port-3 is used for the M.2 B key for a 5G card when the mezz is
> connected.
>
> Mark the second USB controller as host only capable and add the HD3SS3220
> Type-C port controller along with Type-c connector for controlling vbus
> supply.
>
> Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/lemans-evk.dts | 209 ++++++++++++++++++++++++
> 1 file changed, 209 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
> index 074a1edd0334..328b30576a0b 100644
> --- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
> +++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
> @@ -68,6 +68,45 @@ usb0_con_ss_ep: endpoint {
> };
> };
>
> + connector-1 {
> + compatible = "usb-c-connector";
> + label = "USB1-Type-C";
> + data-role = "host";
> + power-role = "source";
> +
> + vbus-supply = <&vbus_supply_regulator_1>;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> +
> + usb1_con_ss_ep: endpoint {
> + remote-endpoint = <&hd3ss3220_1_in_ep>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> +
> + usb1_hs_in: endpoint {
> + remote-endpoint = <&usb_hub_2_1>;
> + };
> +
> + };
> +
> + port@2 {
> + reg = <2>;
> +
> + usb1_ss_in: endpoint {
> + remote-endpoint = <&usb_hub_3_1>;
> + };
> + };
> + };
> + };
> +
> edp0-connector {
> compatible = "dp-connector";
> label = "EDP0";
> @@ -141,6 +180,16 @@ vbus_supply_regulator_0: regulator-vbus-supply-0 {
> enable-active-high;
> };
>
> + vbus_supply_regulator_1: regulator-vbus-supply-1 {
> + compatible = "regulator-fixed";
> + regulator-name = "vbus_supply_1";
> + gpio = <&expander1 3 GPIO_ACTIVE_HIGH>;
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + regulator-boot-on;
> + enable-active-high;
> + };
> +
> vmmc_sdc: regulator-vmmc-sdc {
> compatible = "regulator-fixed";
>
> @@ -536,6 +585,32 @@ hd3ss3220_0_out_ep: endpoint {
> };
> };
> };
> +
> + usb-typec@47 {
> + compatible = "ti,hd3ss3220";
> + reg = <0x47>;
> +
> + interrupts-extended = <&pmm8654au_2_gpios 6 IRQ_TYPE_EDGE_FALLING>;
> +
> + id-gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>;
> +
> + pinctrl-0 = <&usb1_id>, <&usb1_intr>;
> + pinctrl-names = "default";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> +
> + hd3ss3220_1_in_ep: endpoint {
> + remote-endpoint = <&usb1_con_ss_ep>;
> + };
> + };
> + };
> + };
> +
> };
>
> &i2c18 {
> @@ -699,6 +774,14 @@ usb0_intr_state: usb0-intr-state {
> bias-pull-up;
> power-source = <0>;
> };
> +
> + usb1_intr: usb1-intr-state {
> + pins = "gpio6";
> + function = "normal";
> + input-enable;
> + bias-pull-up;
> + power-source = <0>;
> + };
> };
>
> &qup_i2c19_default {
> @@ -868,6 +951,12 @@ usb_id: usb-id-state {
> function = "gpio";
> bias-pull-up;
> };
> +
> + usb1_id: usb1-id-state {
> + pins = "gpio51";
> + function = "gpio";
> + bias-pull-up;
> + };
> };
>
> &uart10 {
> @@ -922,6 +1011,126 @@ &usb_0_qmpphy {
> status = "okay";
> };
>
> +&usb_1 {
> + dr_mode = "host";
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + status = "okay";
> +
> + usb_hub_2_x: hub@1 {
> + compatible = "usb5e3,610";
> + reg = <1>;
> +
> + peer-hub = <&usb_hub_3_x>;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@1 {
> + reg = <1>;
> +
> + usb_hub_2_1: endpoint {
> + remote-endpoint = <&usb1_hs_in>;
> + };
> + };
> +
> + /*
> + * Port2 is connected to another hub which is present on the interface
> + * plus mezz through which 4 type-A ports are connected.
> + */
You are describing external mezzanines, are you not? Please tell, what
is presend on the board: e.g. signals routed to the connectors.
> + port@2 {
> + reg = <2>;
> +
> + usb_hub_2_2: endpoint {
> + };
> + };
> +
> + /*
> + * Port3 is used for the M.2 B key for a 5G card when the interface
> + * plus mezz is connected.
> + */
> + port@3 {
> + reg = <3>;
> +
> + usb_hub_2_3: endpoint {
> + };
> + };
> +
> + /*
> + * Port-4 is used for the M.2 E key on corekit. Standard core kit uses
> + * UART for Bluetooth. This port is to be used only if user optionally
> + * replaces the WiFi card with the NFA765 chip which uses USB for
> + * Bluetooth.
This is the corekit. Only. So, it's just "routed to M.2 E key connector"
> + */
> + port@4 {
> + reg = <4>;
> +
> + usb_hub_2_4: endpoint {
> + };
> + };
> + };
> + };
> +
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v4 4/4] arm64: dts: qcom: lemans-evk: Enable secondary USB controller in host mode
2026-01-20 10:33 ` [PATCH v4 4/4] arm64: dts: qcom: lemans-evk: Enable secondary USB controller in host mode Swati Agarwal
2026-01-20 22:17 ` Dmitry Baryshkov
@ 2026-01-20 22:18 ` Dmitry Baryshkov
1 sibling, 0 replies; 9+ messages in thread
From: Dmitry Baryshkov @ 2026-01-20 22:18 UTC (permalink / raw)
To: Swati Agarwal
Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Icenowy Zheng, Matthias Kaehlcke, Mike Looijmans,
Stephen Boyd, Jens Glathe, Chaoyi Chen, J . Neuschäfer,
Pin-yen Lin, Catalin Popescu, Bjorn Andersson, Konrad Dybcio,
linux-usb, devicetree, linux-kernel, linux-arm-msm
On Tue, Jan 20, 2026 at 04:03:12PM +0530, Swati Agarwal wrote:
> Enable secondary USB controller in host mode on lemans EVK Platform.
>
> Secondary USB controller is connected to a Genesys Logic USB HUB GL3590
> having 4 ports The ports of hub that are present on lemans EVK standalone
> board are used as follows:-
> 1) port-1 is connected to HD3SS3220 Type-C port controller.
> 2) port-4 is used for the M.2 E key on corekit. Standard core kit uses UART
> for Bluetooth. This port is to be used only if user optionally replaces the
> WiFi card with the NFA765 chip which uses USB for Bluetooth.
>
> Remaining 2 ports will become functional when the interface plus mezzanine
> board is stacked on top of corekit:
>
> 3) port-2 is connected to another hub which is present on the mezz through
> which 4 type-A ports are connected.
> 4) port-3 is used for the M.2 B key for a 5G card when the mezz is
> connected.
>
> Mark the second USB controller as host only capable and add the HD3SS3220
> Type-C port controller along with Type-c connector for controlling vbus
> supply.
>
> Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/lemans-evk.dts | 209 ++++++++++++++++++++++++
> 1 file changed, 209 insertions(+)
>
> @@ -536,6 +585,32 @@ hd3ss3220_0_out_ep: endpoint {
> };
> };
> };
> +
> + usb-typec@47 {
> + compatible = "ti,hd3ss3220";
> + reg = <0x47>;
> +
> + interrupts-extended = <&pmm8654au_2_gpios 6 IRQ_TYPE_EDGE_FALLING>;
> +
> + id-gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>;
> +
> + pinctrl-0 = <&usb1_id>, <&usb1_intr>;
> + pinctrl-names = "default";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> +
> + hd3ss3220_1_in_ep: endpoint {
> + remote-endpoint = <&usb1_con_ss_ep>;
> + };
> + };
This wasn't tested against bindings. Why?
> + };
> + };
> +
> };
>
> &i2c18 {
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v4 1/4] dt-bindings: usb: Add binding for Genesys Logic GL3590 hub
2026-01-20 10:33 ` [PATCH v4 1/4] dt-bindings: usb: Add binding for Genesys Logic GL3590 hub Swati Agarwal
@ 2026-01-21 2:24 ` Rob Herring
0 siblings, 0 replies; 9+ messages in thread
From: Rob Herring @ 2026-01-21 2:24 UTC (permalink / raw)
To: Swati Agarwal
Cc: Greg Kroah-Hartman, Krzysztof Kozlowski, Conor Dooley,
Icenowy Zheng, Matthias Kaehlcke, Mike Looijmans, Stephen Boyd,
Dmitry Baryshkov, Jens Glathe, Chaoyi Chen, J . Neuschäfer,
Pin-yen Lin, Catalin Popescu, Bjorn Andersson, Konrad Dybcio,
linux-usb, devicetree, linux-kernel, linux-arm-msm
On Tue, Jan 20, 2026 at 04:03:09PM +0530, Swati Agarwal wrote:
> Add the binding for the USB3.2 Genesys Logic GL3590 hub.
> GL3590 hub requires 1.2V and 3.3V supplies for operation.
>
> Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
> ---
> .../devicetree/bindings/usb/genesys,gl850g.yaml | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> index 9a94b2a74a1e..a4a359000ca1 100644
> --- a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> +++ b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> @@ -15,6 +15,7 @@ properties:
> - usb5e3,608
> - usb5e3,610
> - usb5e3,620
> + - usb5e3,625
> - usb5e3,626
>
> reg: true
> @@ -26,6 +27,10 @@ properties:
> description:
> The regulator that provides 3.3V or 5.0V core power to the hub.
>
> + vdd12-supply:
> + description:
> + The regulator that provides 1.2V power to the hub.
> +
> peer-hub: true
>
> ports:
> @@ -69,6 +74,18 @@ allOf:
> peer-hub: true
> vdd-supply: true
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - usb5e3,625
> + then:
> + properties:
> + peer-hub: true
> + vdd-supply: true
> + vdd12-supply: true
true is the default, so this does nothing. It's all the existing
compatibles that should disallow vdd12-supply.
Rob
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-01-21 2:24 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-20 10:33 [PATCH v4 0/4] Enable secondary USB controller in host mode Swati Agarwal
2026-01-20 10:33 ` [PATCH v4 1/4] dt-bindings: usb: Add binding for Genesys Logic GL3590 hub Swati Agarwal
2026-01-21 2:24 ` Rob Herring
2026-01-20 10:33 ` [PATCH v4 2/4] usb: misc: onboard_usb_hub: Add Genesys Logic GL3590 hub support Swati Agarwal
2026-01-20 10:33 ` [PATCH v4 3/4] arm64: dts: qcom: lemans-evk: Rename hd3ss3220_ instance for primary port controller Swati Agarwal
2026-01-20 10:33 ` [PATCH v4 4/4] arm64: dts: qcom: lemans-evk: Enable secondary USB controller in host mode Swati Agarwal
2026-01-20 22:17 ` Dmitry Baryshkov
2026-01-20 22:18 ` Dmitry Baryshkov
2026-01-20 19:49 ` [PATCH v4 0/4] " Rob Herring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox