diff mbox series

[2/7] board: ge: bx50v3: add phy reset GPIO

Message ID 20210423141513.56592-3-sebastian.reichel@collabora.com
State Accepted
Commit 4ac026a937993230ce22782d20c3c92441a115b9
Delegated to: Stefano Babic
Headers show
Series GE Board fixes and cleanups | expand

Commit Message

Sebastian Reichel April 23, 2021, 2:15 p.m. UTC
Add PHY's reset GPIO, so that U-Boot does a PHY hard reset.
This is needed, since the PHY might become unresponsive if
watchdog reboots the system while a transaction is ongoing.

The reset GPIO is added to the U-Boot specific DT files, since
the kernel does not setup the reserved registers correctly after
resetting the PHY and thus must not reset it.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
---
 arch/arm/dts/imx6q-bx50v3-uboot.dtsi | 12 ++++++++++++
 1 file changed, 12 insertions(+)

Comments

Stefano Babic May 2, 2021, 11:43 a.m. UTC | #1
> Add PHY's reset GPIO, so that U-Boot does a PHY hard reset.
> This is needed, since the PHY might become unresponsive if
> watchdog reboots the system while a transaction is ongoing.
> The reset GPIO is added to the U-Boot specific DT files, since
> the kernel does not setup the reserved registers correctly after
> resetting the PHY and thus must not reset it.
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic
diff mbox series

Patch

diff --git a/arch/arm/dts/imx6q-bx50v3-uboot.dtsi b/arch/arm/dts/imx6q-bx50v3-uboot.dtsi
index 2de3b850ec8a..b54e8e6ada74 100644
--- a/arch/arm/dts/imx6q-bx50v3-uboot.dtsi
+++ b/arch/arm/dts/imx6q-bx50v3-uboot.dtsi
@@ -35,3 +35,15 @@ 
 		};
 	};
 };
+
+/*
+ * This is not done in imx6q-ba16.dtsi, since that file is shared
+ * with the kernel and the kernel should not reset the PHY, since
+ * it lacks support for configuring the reserved registeres to
+ * avoid a board specific voltage peak issue.
+ */
+&fec {
+	phy-reset-gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
+	phy-reset-duration = <1>;
+	phy-reset-post-delay = <0>;
+};