* [PATCH] arm64: dts: freescale: ten64: add usb hub definition
@ 2025-01-29 4:53 Mathew McBride
2025-02-23 4:03 ` Shawn Guo
2025-03-05 0:19 ` [PATCH v2] " Mathew McBride
0 siblings, 2 replies; 4+ messages in thread
From: Mathew McBride @ 2025-01-29 4:53 UTC (permalink / raw)
To: devicetree, linux-arm-kernel, linux-kernel, Shawn Guo,
Rob Herring, Krzysztof Kozlowski
Cc: Mathew McBride
A device tree binding for the Microchip USB5744 hub controller
was added in commit 02be19e914b8 ("dt-bindings: usb: Add support
for Microchip usb5744 hub controller").
U-Boot will consume this binding in order to perform the
necessary actions to enable the USB hub ports over I2C.
(We previously used our own out-of-tree driver for
this task)
The Ten64 board does not have any switchable supplies
for the voltage rails utilized by the USB5744, so a
pair of dummy supplies have been added to facilitate
operation with U-Boot's hub driver.
Signed-off-by: Mathew McBride <matt@traverse.com.au>
---
.../boot/dts/freescale/fsl-ls1088a-ten64.dts | 45 +++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts b/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts
index bc0d89427fbe5..fc15c83d222f6 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts
@@ -87,6 +87,22 @@ sfp_xg1: dpmac1-sfp {
los-gpios = <&sfpgpio 7 GPIO_ACTIVE_HIGH>;
maximum-power-milliwatt = <2000>;
};
+
+ usb1v2_supply: regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "usbhub_1v2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ };
+
+ system3v3_supply: regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "system_3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
};
/* XG1 - Upper SFP */
@@ -231,6 +247,12 @@ at97sc: tpm@29 {
compatible = "atmel,at97sc3204t";
reg = <0x29>;
};
+
+ usbhub: usb-hub@2d {
+ compatible = "microchip,usb5744";
+ reg = <0x2d>;
+ };
+
};
&i2c2 {
@@ -378,10 +400,33 @@ partition@9400000 {
};
};
+/* LS1088A USB Port 0 - direct to bottom USB-A port */
&usb0 {
status = "okay";
};
+/* LS1088A USB Port 1 - to Microchip USB5744 USB Hub */
&usb1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
status = "okay";
+
+ hub_2_0: hub@1 {
+ compatible = "usb424,2744";
+ reg = <1>;
+ peer-hub = <&hub_3_0>;
+ i2c-bus = <&usbhub>;
+ vdd-supply = <&system3v3_supply>;
+ vdd2-supply = <&usb1v2_supply>;
+ };
+
+ hub_3_0: hub@2 {
+ compatible = "usb424,5744";
+ reg = <2>;
+ peer-hub = <&hub_2_0>;
+ i2c-bus = <&usbhub>;
+ vdd-supply = <&system3v3_supply>;
+ vdd2-supply = <&usb1v2_supply>;
+ };
};
--
2.45.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] arm64: dts: freescale: ten64: add usb hub definition
2025-01-29 4:53 [PATCH] arm64: dts: freescale: ten64: add usb hub definition Mathew McBride
@ 2025-02-23 4:03 ` Shawn Guo
2025-03-05 0:19 ` [PATCH v2] " Mathew McBride
1 sibling, 0 replies; 4+ messages in thread
From: Shawn Guo @ 2025-02-23 4:03 UTC (permalink / raw)
To: Mathew McBride
Cc: devicetree, linux-arm-kernel, linux-kernel, Shawn Guo,
Rob Herring, Krzysztof Kozlowski
On Wed, Jan 29, 2025 at 03:53:52PM +1100, Mathew McBride wrote:
> A device tree binding for the Microchip USB5744 hub controller
> was added in commit 02be19e914b8 ("dt-bindings: usb: Add support
> for Microchip usb5744 hub controller").
>
> U-Boot will consume this binding in order to perform the
> necessary actions to enable the USB hub ports over I2C.
> (We previously used our own out-of-tree driver for
> this task)
>
> The Ten64 board does not have any switchable supplies
> for the voltage rails utilized by the USB5744, so a
> pair of dummy supplies have been added to facilitate
> operation with U-Boot's hub driver.
>
> Signed-off-by: Mathew McBride <matt@traverse.com.au>
> ---
> .../boot/dts/freescale/fsl-ls1088a-ten64.dts | 45 +++++++++++++++++++
> 1 file changed, 45 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts b/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts
> index bc0d89427fbe5..fc15c83d222f6 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts
> @@ -87,6 +87,22 @@ sfp_xg1: dpmac1-sfp {
> los-gpios = <&sfpgpio 7 GPIO_ACTIVE_HIGH>;
> maximum-power-milliwatt = <2000>;
> };
> +
> + usb1v2_supply: regulator {
> + compatible = "regulator-fixed";
> + regulator-name = "usbhub_1v2";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + };
> +
> + system3v3_supply: regulator {
Same node name for two regulators above? Won't kernel complain?
> + compatible = "regulator-fixed";
> + regulator-name = "system_3v3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
> };
>
> /* XG1 - Upper SFP */
> @@ -231,6 +247,12 @@ at97sc: tpm@29 {
> compatible = "atmel,at97sc3204t";
> reg = <0x29>;
> };
> +
> + usbhub: usb-hub@2d {
> + compatible = "microchip,usb5744";
> + reg = <0x2d>;
> + };
> +
> };
>
> &i2c2 {
> @@ -378,10 +400,33 @@ partition@9400000 {
> };
> };
>
> +/* LS1088A USB Port 0 - direct to bottom USB-A port */
> &usb0 {
> status = "okay";
> };
>
> +/* LS1088A USB Port 1 - to Microchip USB5744 USB Hub */
> &usb1 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
Nit: unnecessary newline
Shawn
> status = "okay";
> +
> + hub_2_0: hub@1 {
> + compatible = "usb424,2744";
> + reg = <1>;
> + peer-hub = <&hub_3_0>;
> + i2c-bus = <&usbhub>;
> + vdd-supply = <&system3v3_supply>;
> + vdd2-supply = <&usb1v2_supply>;
> + };
> +
> + hub_3_0: hub@2 {
> + compatible = "usb424,5744";
> + reg = <2>;
> + peer-hub = <&hub_2_0>;
> + i2c-bus = <&usbhub>;
> + vdd-supply = <&system3v3_supply>;
> + vdd2-supply = <&usb1v2_supply>;
> + };
> };
> --
> 2.45.1
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v2] arm64: dts: freescale: ten64: add usb hub definition
2025-01-29 4:53 [PATCH] arm64: dts: freescale: ten64: add usb hub definition Mathew McBride
2025-02-23 4:03 ` Shawn Guo
@ 2025-03-05 0:19 ` Mathew McBride
2025-03-11 1:25 ` Shawn Guo
1 sibling, 1 reply; 4+ messages in thread
From: Mathew McBride @ 2025-03-05 0:19 UTC (permalink / raw)
To: devicetree, linux-arm-kernel, linux-kernel, Shawn Guo,
Rob Herring, Krzysztof Kozlowski
Cc: Mathew McBride
A device tree binding for the Microchip USB5744 hub controller
was added in commit 02be19e914b8 ("dt-bindings: usb: Add support
for Microchip usb5744 hub controller").
U-Boot will consume this binding in order to perform the
necessary actions to enable the USB hub ports over I2C.
(We previously used our own out-of-tree driver for
this task)
The Ten64 board does not have any switchable supplies
for the voltage rails utilized by the USB5744, so a
pair of dummy supplies have been added to facilitate
operation with U-Boot's hub driver.
Signed-off-by: Mathew McBride <matt@traverse.com.au>
---
Changes in v2:
- provide unique node names for the two regulators
- remove unnecessary newline under &usb1
---
.../boot/dts/freescale/fsl-ls1088a-ten64.dts | 44 +++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts b/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts
index bc0d89427fbe5..3a11068f2212f 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts
@@ -87,6 +87,22 @@ sfp_xg1: dpmac1-sfp {
los-gpios = <&sfpgpio 7 GPIO_ACTIVE_HIGH>;
maximum-power-milliwatt = <2000>;
};
+
+ usb1v2_supply: regulator-usbhub-1v2 {
+ compatible = "regulator-fixed";
+ regulator-name = "usbhub_1v2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ };
+
+ system3v3_supply: regulator-system-3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "system_3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
};
/* XG1 - Upper SFP */
@@ -231,6 +247,12 @@ at97sc: tpm@29 {
compatible = "atmel,at97sc3204t";
reg = <0x29>;
};
+
+ usbhub: usb-hub@2d {
+ compatible = "microchip,usb5744";
+ reg = <0x2d>;
+ };
+
};
&i2c2 {
@@ -378,10 +400,32 @@ partition@9400000 {
};
};
+/* LS1088A USB Port 0 - direct to bottom USB-A port */
&usb0 {
status = "okay";
};
+/* LS1088A USB Port 1 - to Microchip USB5744 USB Hub */
&usb1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
status = "okay";
+
+ hub_2_0: hub@1 {
+ compatible = "usb424,2744";
+ reg = <1>;
+ peer-hub = <&hub_3_0>;
+ i2c-bus = <&usbhub>;
+ vdd-supply = <&system3v3_supply>;
+ vdd2-supply = <&usb1v2_supply>;
+ };
+
+ hub_3_0: hub@2 {
+ compatible = "usb424,5744";
+ reg = <2>;
+ peer-hub = <&hub_2_0>;
+ i2c-bus = <&usbhub>;
+ vdd-supply = <&system3v3_supply>;
+ vdd2-supply = <&usb1v2_supply>;
+ };
};
--
2.45.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2] arm64: dts: freescale: ten64: add usb hub definition
2025-03-05 0:19 ` [PATCH v2] " Mathew McBride
@ 2025-03-11 1:25 ` Shawn Guo
0 siblings, 0 replies; 4+ messages in thread
From: Shawn Guo @ 2025-03-11 1:25 UTC (permalink / raw)
To: Mathew McBride
Cc: devicetree, linux-arm-kernel, linux-kernel, Shawn Guo,
Rob Herring, Krzysztof Kozlowski
On Wed, Mar 05, 2025 at 11:19:01AM +1100, Mathew McBride wrote:
> A device tree binding for the Microchip USB5744 hub controller
> was added in commit 02be19e914b8 ("dt-bindings: usb: Add support
> for Microchip usb5744 hub controller").
>
> U-Boot will consume this binding in order to perform the
> necessary actions to enable the USB hub ports over I2C.
> (We previously used our own out-of-tree driver for
> this task)
>
> The Ten64 board does not have any switchable supplies
> for the voltage rails utilized by the USB5744, so a
> pair of dummy supplies have been added to facilitate
> operation with U-Boot's hub driver.
>
> Signed-off-by: Mathew McBride <matt@traverse.com.au>
Applied, thanks!
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-03-11 1:27 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-29 4:53 [PATCH] arm64: dts: freescale: ten64: add usb hub definition Mathew McBride
2025-02-23 4:03 ` Shawn Guo
2025-03-05 0:19 ` [PATCH v2] " Mathew McBride
2025-03-11 1:25 ` Shawn Guo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).