[PATCH 7/7] arm64: zynqmp: Update the usb5744 hub node as per binding

Michal Simek michal.simek at amd.com
Thu Jun 6 14:07:25 CEST 2024



On 6/5/24 12:02, Venkatesh Yadav Abbarapu wrote:
> Updating the usb5744 hub node as per the latest upstream DT binding
> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
> tree/Documentation/devicetree/bindings/usb/microchip,usb5744.yaml?h=v6.8.8
> 
> Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu at amd.com>
> ---
>   arch/arm/dts/zynqmp-sck-kr-g-revA.dtso | 48 ++++++++++++++++++++++++++
>   arch/arm/dts/zynqmp-sck-kr-g-revB.dtso | 48 ++++++++++++++++++++++++++
>   arch/arm/dts/zynqmp-sck-kv-g-revA.dtso | 18 ++++++++++
>   arch/arm/dts/zynqmp-sck-kv-g-revB.dtso | 25 +++++++++++++-
>   4 files changed, 138 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/dts/zynqmp-sck-kr-g-revA.dtso b/arch/arm/dts/zynqmp-sck-kr-g-revA.dtso
> index ce7c5eb6d34..18e9d308de3 100644
> --- a/arch/arm/dts/zynqmp-sck-kr-g-revA.dtso
> +++ b/arch/arm/dts/zynqmp-sck-kr-g-revA.dtso
> @@ -105,11 +105,19 @@
>   			#address-cells = <1>;
>   			#size-cells = <0>;
>   			reg = <0>;
> +			hub_1: usb-hub at 2d {
> +				compatible = "microchip,usb5744";
> +				reg = <0x2d>;
> +			};
>   		};
>   		usbhub_i2c1: i2c at 1 {
>   			#address-cells = <1>;
>   			#size-cells = <0>;
>   			reg = <1>;
> +			hub_2: usb-hub at 2d {
> +				compatible = "microchip,usb5744";
> +				reg = <0x2d>;
> +			};
>   		};
>   		/* Bus 2/3 are not connected */
>   	};
> @@ -164,6 +172,26 @@
>   	dr_mode = "host";
>   	snps,usb3_lpm_capable;
>   	maximum-speed = "super-speed";
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +
> +	/* 2.0 hub on port 1 */
> +	hub_2_0: hub at 1 {
> +		compatible = "usb424,2744";
> +		reg = <1>;
> +		peer-hub = <&hub_3_0>;
> +		i2c-bus = <&hub_1>;
> +		reset-gpios = <&slg7xl45106 3 GPIO_ACTIVE_LOW>;
> +	};
> +
> +	/* 3.0 hub on port 2 */
> +	hub_3_0: hub at 2 {
> +		compatible = "usb424,5744";
> +		reg = <2>;
> +		peer-hub = <&hub_2_0>;
> +		i2c-bus = <&hub_1>;
> +		reset-gpios = <&slg7xl45106 3 GPIO_ACTIVE_LOW>;
> +	};
>   };
>   
>   &usb1 { /* mio64 - mio75 */
> @@ -188,6 +216,26 @@
>   	dr_mode = "host";
>   	snps,usb3_lpm_capable;
>   	maximum-speed = "super-speed";
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +
> +	/* 2.0 hub on port 1 */
> +	hub1_2_0: hub at 1 {
> +		compatible = "usb424,2744";
> +		reg = <1>;
> +		peer-hub = <&hub1_3_0>;
> +		i2c-bus = <&hub_2>;
> +		reset-gpios = <&slg7xl45106 4 GPIO_ACTIVE_LOW>;
> +	};
> +
> +	/* 3.0 hub on port 2 */
> +	hub1_3_0: hub at 2 {
> +		compatible = "usb424,5744";
> +		reg = <2>;
> +		peer-hub = <&hub1_2_0>;
> +		i2c-bus = <&hub_2>;
> +		reset-gpios = <&slg7xl45106 4 GPIO_ACTIVE_LOW>;
> +	};
>   };
>   
>   &gem0 { /* mdio mio50/51 */
> diff --git a/arch/arm/dts/zynqmp-sck-kr-g-revB.dtso b/arch/arm/dts/zynqmp-sck-kr-g-revB.dtso
> index 0a0cbd2b69a..5261e793c14 100644
> --- a/arch/arm/dts/zynqmp-sck-kr-g-revB.dtso
> +++ b/arch/arm/dts/zynqmp-sck-kr-g-revB.dtso
> @@ -117,11 +117,19 @@
>   			#address-cells = <1>;
>   			#size-cells = <0>;
>   			reg = <0>;
> +			hub_1: usb-hub at 2d {
> +				compatible = "microchip,usb5744";
> +				reg = <0x2d>;
> +			};
>   		};
>   		usbhub_i2c1: i2c at 1 {
>   			#address-cells = <1>;
>   			#size-cells = <0>;
>   			reg = <1>;
> +			hub_2: usb-hub at 2d {
> +				compatible = "microchip,usb5744";
> +				reg = <0x2d>;
> +			};
>   		};
>   		/* Bus 2/3 are not connected */
>   	};
> @@ -184,6 +192,26 @@
>   	dr_mode = "host";
>   	snps,usb3_lpm_capable;
>   	maximum-speed = "super-speed";
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +
> +	/* 2.0 hub on port 1 */
> +	hub_2_0: hub at 1 {
> +		compatible = "usb424,2744";
> +		reg = <1>;
> +		peer-hub = <&hub_3_0>;
> +		i2c-bus = <&hub_1>;
> +		reset-gpios = <&slg7xl45106 3 GPIO_ACTIVE_LOW>;
> +	};
> +
> +	/* 3.0 hub on port 2 */
> +	hub_3_0: hub at 2 {
> +		compatible = "usb424,5744";
> +		reg = <2>;
> +		peer-hub = <&hub_2_0>;
> +		i2c-bus = <&hub_1>;
> +		reset-gpios = <&slg7xl45106 3 GPIO_ACTIVE_LOW>;
> +	};
>   };
>   
>   &usb1 { /* mio64 - mio75 */
> @@ -209,6 +237,26 @@
>   	dr_mode = "host";
>   	snps,usb3_lpm_capable;
>   	maximum-speed = "super-speed";
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +
> +	/* 2.0 hub on port 1 */
> +	hub1_2_0: hub at 1 {
> +		compatible = "usb424,2744";
> +		reg = <1>;
> +		peer-hub = <&hub1_3_0>;
> +		i2c-bus = <&hub_2>;
> +		reset-gpios = <&slg7xl45106 4 GPIO_ACTIVE_LOW>;
> +	};
> +
> +	/* 3.0 hub on port 2 */
> +	hub1_3_0: hub at 2 {
> +		compatible = "usb424,5744";
> +		reg = <2>;
> +		peer-hub = <&hub1_2_0>;
> +		i2c-bus = <&hub_2>;
> +		reset-gpios = <&slg7xl45106 4 GPIO_ACTIVE_LOW>;
> +	};
>   };
>   
>   &gem0 { /* mdio mio50/51 */
> diff --git a/arch/arm/dts/zynqmp-sck-kv-g-revA.dtso b/arch/arm/dts/zynqmp-sck-kv-g-revA.dtso
> index 561b546e37f..0ef0357bd29 100644
> --- a/arch/arm/dts/zynqmp-sck-kv-g-revA.dtso
> +++ b/arch/arm/dts/zynqmp-sck-kv-g-revA.dtso
> @@ -142,6 +142,24 @@
>   	dr_mode = "host";
>   	snps,usb3_lpm_capable;
>   	maximum-speed = "super-speed";
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +
> +	/* 2.0 hub on port 1 */
> +	hub_2_0: hub at 1 {
> +		compatible = "usb424,2744";
> +		reg = <1>;
> +		peer-hub = <&hub_3_0>;
> +		reset-gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
> +	};
> +
> +	/* 3.0 hub on port 2 */
> +	hub_3_0: hub at 2 {
> +		compatible = "usb424,5744";
> +		reg = <2>;
> +		peer-hub = <&hub_2_0>;
> +		reset-gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
> +	};
>   };
>   
>   &sdhci1 { /* on CC with tuned parameters */
> diff --git a/arch/arm/dts/zynqmp-sck-kv-g-revB.dtso b/arch/arm/dts/zynqmp-sck-kv-g-revB.dtso
> index 64683e0ccbb..92d8851eb8a 100644
> --- a/arch/arm/dts/zynqmp-sck-kv-g-revB.dtso
> +++ b/arch/arm/dts/zynqmp-sck-kv-g-revB.dtso
> @@ -92,7 +92,10 @@
>   		label = "ina260-u14";
>   		reg = <0x40>;
>   	};
> -	/* u43 - 0x2d - USB hub */
> +	hub: usb-hub at 2d {
> +		compatible = "microchip,usb5744";
> +		reg = <0x2d>;
> +	};
>   	/* u27 - 0xe0 - STDP4320 DP/HDMI splitter */
>   };
>   
> @@ -146,6 +149,26 @@
>   	dr_mode = "host";
>   	snps,usb3_lpm_capable;
>   	maximum-speed = "super-speed";
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +
> +	/* 2.0 hub on port 1 */
> +	hub_2_0: hub at 1 {
> +		compatible = "usb424,2744";
> +		reg = <1>;
> +		peer-hub = <&hub_3_0>;
> +		i2c-bus = <&hub>;
> +		reset-gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
> +	};
> +
> +	/* 3.0 hub on port 2 */
> +	hub_3_0: hub at 2 {
> +		compatible = "usb424,5744";
> +		reg = <2>;
> +		peer-hub = <&hub_2_0>;
> +		i2c-bus = <&hub>;
> +		reset-gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
> +	};
>   };
>   
>   &sdhci1 { /* on CC with tuned parameters */

There are other changes which needs to happen here. One is kd240 and second 
remove usb description from usb glue logic driver but let's wait for Marek to 
look at onboard-hub part. 6/7 and 7/7 should go through my tree anyway and they 
are here pretty much for description purpose.

Thanks,
Michal


More information about the U-Boot mailing list