[PATCH] arm64: dts: freescale: ten64: add usb hub definition

Shawn Guo shawnguo2 at yeah.net
Sat Feb 22 20:03:00 PST 2025


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 at 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 at 29 {
>  		compatible = "atmel,at97sc3204t";
>  		reg = <0x29>;
>  	};
> +
> +	usbhub: usb-hub at 2d {
> +		compatible = "microchip,usb5744";
> +		reg = <0x2d>;
> +	};
> +
>  };
>  
>  &i2c2 {
> @@ -378,10 +400,33 @@ partition at 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 at 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 at 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
> 




More information about the linux-arm-kernel mailing list