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@xxxxxxxxxxxxxxx> > --- > .../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 >