[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