arm64: zynqmp: Fix usb reset over bootmode pins on zcu100
authorMichal Simek <michal.simek@amd.com>
Mon, 10 Jul 2023 12:37:36 +0000 (14:37 +0200)
committerMichal Simek <michal.simek@amd.com>
Fri, 21 Jul 2023 07:00:39 +0000 (09:00 +0200)
The commit a4180c369607 ("arm64: zynqmp: Add mode-pin GPIO controller DT
node") added usb phy reset over bootmode pins by default on usb0 only.
zcu100 is using usb0 as peripheral and usb1 as host. Unfortunately reset
line is shared for both usb ulpi phys but usb_rst_b is connected to usb5744
hub which is used only in host mode. Especially this chip requires reset to
operate properly that's why better assign gpio reset to usb1 instead of
usb0.
Without this change usb start crashed when runs.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/1ca80ec5bf7a595c03822f3e4e3683298205067a.1688992653.git.michal.simek@amd.com
arch/arm/dts/zynqmp-zcu100-revC.dts

index 78c3250..a84cd86 100644 (file)
        pinctrl-0 = <&pinctrl_usb0_default>;
        phy-names = "usb3-phy";
        phys = <&psgtr 2 PHY_TYPE_USB3 0 0>;
+       /delete-property/ reset-gpios;
 };
 
 &dwc3_0 {
        pinctrl-0 = <&pinctrl_usb1_default>;
        phy-names = "usb3-phy";
        phys = <&psgtr 3 PHY_TYPE_USB3 1 0>;
+       reset-gpios = <&modepin_gpio 1 GPIO_ACTIVE_LOW>;
 };
 
 &dwc3_1 {