* [PATCH v2 1/4] dt-bindings: usb: Add binding for Genesys Logic GL3590 hub
2025-12-16 12:07 [PATCH v2 0/4] Enable USB1 controller in host mode Swati Agarwal
@ 2025-12-16 12:07 ` Swati Agarwal
2025-12-18 8:13 ` Krzysztof Kozlowski
2025-12-16 12:07 ` [PATCH v2 2/4] usb: misc: onboard_usb_hub: Add Genesys Logic GL3590 hub support Swati Agarwal
` (3 subsequent siblings)
4 siblings, 1 reply; 8+ messages in thread
From: Swati Agarwal @ 2025-12-16 12:07 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Icenowy Zheng, J . Neuschäfer,
Dmitry Baryshkov, Jens Glathe, Mike Looijmans, Pin-yen Lin,
Catalin Popescu, Bjorn Andersson, Konrad Dybcio
Cc: linux-usb, devicetree, linux-kernel, Swati Agarwal
Add the binding for the USB3.2 Genesys Logic GL3590 hub.
Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
---
Documentation/devicetree/bindings/usb/genesys,gl850g.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
index 9a94b2a74a1e..6665fc4baf61 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
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v2 1/4] dt-bindings: usb: Add binding for Genesys Logic GL3590 hub
2025-12-16 12:07 ` [PATCH v2 1/4] dt-bindings: usb: Add binding for Genesys Logic GL3590 hub Swati Agarwal
@ 2025-12-18 8:13 ` Krzysztof Kozlowski
0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2025-12-18 8:13 UTC (permalink / raw)
To: Swati Agarwal
Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Icenowy Zheng, J . Neuschäfer,
Dmitry Baryshkov, Jens Glathe, Mike Looijmans, Pin-yen Lin,
Catalin Popescu, Bjorn Andersson, Konrad Dybcio, linux-usb,
devicetree, linux-kernel
On Tue, Dec 16, 2025 at 05:37:46PM +0530, Swati Agarwal wrote:
> Add the binding for the USB3.2 Genesys Logic GL3590 hub.
>
> Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
> ---
> Documentation/devicetree/bindings/usb/genesys,gl850g.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> index 9a94b2a74a1e..6665fc4baf61 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
Incomplete patch. Please read entire binding.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 2/4] usb: misc: onboard_usb_hub: Add Genesys Logic GL3590 hub support
2025-12-16 12:07 [PATCH v2 0/4] Enable USB1 controller in host mode Swati Agarwal
2025-12-16 12:07 ` [PATCH v2 1/4] dt-bindings: usb: Add binding for Genesys Logic GL3590 hub Swati Agarwal
@ 2025-12-16 12:07 ` Swati Agarwal
2025-12-16 12:07 ` [PATCH v2 3/4] arm64: dts: qcom: lemans-evk: Rename hd3ss3220_ instance for primary port controller Swati Agarwal
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Swati Agarwal @ 2025-12-16 12:07 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Icenowy Zheng, J . Neuschäfer,
Dmitry Baryshkov, Jens Glathe, Mike Looijmans, Pin-yen Lin,
Catalin Popescu, Bjorn Andersson, Konrad Dybcio
Cc: linux-usb, devicetree, linux-kernel, Swati Agarwal
Add support for the GL3590 4 ports USB3.2 hub. This allows to control its
reset pins with a gpio.
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 | 1 +
2 files changed, 2 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 c1462be5526d..7706a04f2630 100644
--- a/drivers/usb/misc/onboard_usb_dev.h
+++ b/drivers/usb/misc/onboard_usb_dev.h
@@ -140,6 +140,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_gl852g_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] 8+ messages in thread* [PATCH v2 3/4] arm64: dts: qcom: lemans-evk: Rename hd3ss3220_ instance for primary port controller
2025-12-16 12:07 [PATCH v2 0/4] Enable USB1 controller in host mode Swati Agarwal
2025-12-16 12:07 ` [PATCH v2 1/4] dt-bindings: usb: Add binding for Genesys Logic GL3590 hub Swati Agarwal
2025-12-16 12:07 ` [PATCH v2 2/4] usb: misc: onboard_usb_hub: Add Genesys Logic GL3590 hub support Swati Agarwal
@ 2025-12-16 12:07 ` Swati Agarwal
2025-12-16 12:07 ` [PATCH v2 4/4] arm64: dts: qcom: lemans-evk: Enable USB1 controller for host mode Swati Agarwal
2025-12-16 14:31 ` [PATCH v2 0/4] Enable USB1 controller in " Dmitry Baryshkov
4 siblings, 0 replies; 8+ messages in thread
From: Swati Agarwal @ 2025-12-16 12:07 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Icenowy Zheng, J . Neuschäfer,
Dmitry Baryshkov, Jens Glathe, Mike Looijmans, Pin-yen Lin,
Catalin Popescu, Bjorn Andersson, Konrad Dybcio
Cc: linux-usb, devicetree, linux-kernel, Swati Agarwal
Rename the hd3ss3220_ instance to improve clarity and simplify usage when
adding a secondary port controller.
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 2536ebe36edb..70d85b6ba772 100644
--- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
+++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
@@ -61,7 +61,7 @@ port@1 {
reg = <1>;
usb0_con_ss_ep: endpoint {
- remote-endpoint = <&hd3ss3220_in_ep>;
+ remote-endpoint = <&hd3ss3220_0_in_ep>;
};
};
};
@@ -513,7 +513,7 @@ ports {
port@0 {
reg = <0>;
- hd3ss3220_in_ep: endpoint {
+ hd3ss3220_0_in_ep: endpoint {
remote-endpoint = <&usb0_con_ss_ep>;
};
};
@@ -521,7 +521,7 @@ hd3ss3220_in_ep: endpoint {
port@1 {
reg = <1>;
- hd3ss3220_out_ep: endpoint {
+ hd3ss3220_0_out_ep: endpoint {
remote-endpoint = <&usb_0_dwc3_ss>;
};
};
@@ -885,7 +885,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] 8+ messages in thread* [PATCH v2 4/4] arm64: dts: qcom: lemans-evk: Enable USB1 controller for host mode
2025-12-16 12:07 [PATCH v2 0/4] Enable USB1 controller in host mode Swati Agarwal
` (2 preceding siblings ...)
2025-12-16 12:07 ` [PATCH v2 3/4] arm64: dts: qcom: lemans-evk: Rename hd3ss3220_ instance for primary port controller Swati Agarwal
@ 2025-12-16 12:07 ` Swati Agarwal
2025-12-18 8:14 ` Krzysztof Kozlowski
2025-12-16 14:31 ` [PATCH v2 0/4] Enable USB1 controller in " Dmitry Baryshkov
4 siblings, 1 reply; 8+ messages in thread
From: Swati Agarwal @ 2025-12-16 12:07 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Icenowy Zheng, J . Neuschäfer,
Dmitry Baryshkov, Jens Glathe, Mike Looijmans, Pin-yen Lin,
Catalin Popescu, Bjorn Andersson, Konrad Dybcio
Cc: linux-usb, devicetree, linux-kernel, Swati Agarwal
Enable USB1 controller for host mode on 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.
Added 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 | 159 ++++++++++++++++++++++++
1 file changed, 159 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
index 70d85b6ba772..e2aaa5ee3bc9 100644
--- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
+++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
@@ -67,6 +67,48 @@ usb0_con_ss_ep: endpoint {
};
};
+ connector-1 {
+ compatible = "usb-c-connector";
+ label = "USB1-Type-C";
+ data-role = "host";
+ power-role = "dual";
+
+ 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>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ usb1_ss_in: endpoint {
+ remote-endpoint = <&usb_hub_3_1>;
+ };
+
+ };
+ };
+ };
+
edp0-connector {
compatible = "dp-connector";
label = "EDP0";
@@ -140,6 +182,16 @@ vbus_supply_regulator_0: regulator-vbus-supply-0 {
enable-active-high;
};
+ vbus_supply_regulator_1: vbus-supply-regulator-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";
@@ -527,6 +579,33 @@ 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 {
@@ -690,6 +769,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 {
@@ -849,6 +936,12 @@ usb_id: usb-id-state {
function = "gpio";
bias-pull-up;
};
+
+ usb1_id: usb1-id-state {
+ pins = "gpio51";
+ function = "gpio";
+ bias-pull-up;
+ };
};
&uart10 {
@@ -903,6 +996,72 @@ &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>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+
+ usb_hub_2_1: endpoint {
+ remote-endpoint = <&usb1_hs_in>;
+ };
+ };
+
+ };
+ };
+
+ 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>;
+ };
+ };
+
+ };
+ };
+};
+
+&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] 8+ messages in thread* Re: [PATCH v2 4/4] arm64: dts: qcom: lemans-evk: Enable USB1 controller for host mode
2025-12-16 12:07 ` [PATCH v2 4/4] arm64: dts: qcom: lemans-evk: Enable USB1 controller for host mode Swati Agarwal
@ 2025-12-18 8:14 ` Krzysztof Kozlowski
0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2025-12-18 8:14 UTC (permalink / raw)
To: Swati Agarwal
Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Icenowy Zheng, J . Neuschäfer,
Dmitry Baryshkov, Jens Glathe, Mike Looijmans, Pin-yen Lin,
Catalin Popescu, Bjorn Andersson, Konrad Dybcio, linux-usb,
devicetree, linux-kernel
On Tue, Dec 16, 2025 at 05:37:49PM +0530, Swati Agarwal wrote:
> Enable USB1 controller for host mode on 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.
>
> Added HD3SS3220 Type-C port controller along with Type-c connector for
"Add". Write consistent messages.
> controlling vbus supply.
...
> + port@1 {
> + reg = <1>;
> +
> + usb1_hs_in: endpoint {
> + remote-endpoint = <&usb_hub_2_1>;
> + };
> +
> + };
> +
> + port@2 {
> + reg = <2>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + usb1_ss_in: endpoint {
> + remote-endpoint = <&usb_hub_3_1>;
> + };
> +
> + };
> + };
> + };
> +
> edp0-connector {
> compatible = "dp-connector";
> label = "EDP0";
> @@ -140,6 +182,16 @@ vbus_supply_regulator_0: regulator-vbus-supply-0 {
> enable-active-high;
> };
>
> + vbus_supply_regulator_1: vbus-supply-regulator-1 {
No, do not introduce your own style. Read the code here - how such
nodes are called?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 0/4] Enable USB1 controller in host mode
2025-12-16 12:07 [PATCH v2 0/4] Enable USB1 controller in host mode Swati Agarwal
` (3 preceding siblings ...)
2025-12-16 12:07 ` [PATCH v2 4/4] arm64: dts: qcom: lemans-evk: Enable USB1 controller for host mode Swati Agarwal
@ 2025-12-16 14:31 ` Dmitry Baryshkov
4 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2025-12-16 14:31 UTC (permalink / raw)
To: Swati Agarwal
Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Icenowy Zheng, J . Neuschäfer, Jens Glathe,
Mike Looijmans, Pin-yen Lin, Catalin Popescu, Bjorn Andersson,
Konrad Dybcio, linux-usb, devicetree, linux-kernel
On Tue, 16 Dec 2025 at 14:08, Swati Agarwal
<swati.agarwal@oss.qualcomm.com> wrote:
>
> Enable USB1 controller in host mode on EVK platforms.
Which EVK? Whose? You are sending patches to non-Qualcomm mailing
lists, so don't assume that everybody knows what you are talking
about.
BTW: you really didn't use b4 (nor did you use get_maintainers). So,
you've missed several mailing lists. Please repost the patchset
including the necessary MLs.
>
> changes in v2:
> Added Genesys Logic GL3590 hub support.
> Renamed hd3ss3220_ instance for primary port controller.
>
> 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 USB1 controller for host mode
>
> .../bindings/usb/genesys,gl850g.yaml | 1 +
> arch/arm64/boot/dts/qcom/lemans-evk.dts | 167 +++++++++++++++++-
> drivers/usb/misc/onboard_usb_dev.c | 1 +
> drivers/usb/misc/onboard_usb_dev.h | 1 +
> 4 files changed, 166 insertions(+), 4 deletions(-)
>
> --
> 2.34.1
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 8+ messages in thread