diff mbox series

[v1] ARM: dts: protonic prti6q: fix PHY address

Message ID 20201012071816.22434-1-o.rempel@pengutronix.de (mailing list archive)
State New, archived
Headers show
Series [v1] ARM: dts: protonic prti6q: fix PHY address | expand

Commit Message

Oleksij Rempel Oct. 12, 2020, 7:18 a.m. UTC
Due to bug in the bootloader, the PHY has floating address and may
randomly change on each PHY reset. To avoid it, the updated bootloader
with the following patch[0] should be used:

| ARM: protonic: disable on-die termination to fix PHY bootstrapping
|
| If on-die termination is enabled, the RXC pin of iMX6 will be pulled
| high. Since we already have an 10K pull-down on board, the RXC level on
| PHY reset will be ~800mV, which is mostly interpreted as 1. On some
| reboots we get 0 instead and kernel can't detect the PHY properly.
|
| Since the default 0x020e07ac value is 0, it is sufficient to remove this
| entry from the affected imxcfg files.
|
| Since we get stable 0 on pin PHYADDR[2], the PHY address is changed from
| 4 to 0.

With latest bootloader update, the PHY address will be fixed to "0".

[0] https://git.pengutronix.de/cgit/barebox/commit/?id=93f7dcf631edfcda19e7757b28d66017ea274b81

Fixes: 0d446a50559 ("ARM: dts: add Protonic PRTI6Q board")
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
 arch/arm/boot/dts/imx6q-prti6q.dts | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Shawn Guo Oct. 30, 2020, 8:50 a.m. UTC | #1
On Mon, Oct 12, 2020 at 09:18:16AM +0200, Oleksij Rempel wrote:
> Due to bug in the bootloader, the PHY has floating address and may
> randomly change on each PHY reset. To avoid it, the updated bootloader
> with the following patch[0] should be used:
> 
> | ARM: protonic: disable on-die termination to fix PHY bootstrapping
> |
> | If on-die termination is enabled, the RXC pin of iMX6 will be pulled
> | high. Since we already have an 10K pull-down on board, the RXC level on
> | PHY reset will be ~800mV, which is mostly interpreted as 1. On some
> | reboots we get 0 instead and kernel can't detect the PHY properly.
> |
> | Since the default 0x020e07ac value is 0, it is sufficient to remove this
> | entry from the affected imxcfg files.
> |
> | Since we get stable 0 on pin PHYADDR[2], the PHY address is changed from
> | 4 to 0.
> 
> With latest bootloader update, the PHY address will be fixed to "0".
> 
> [0] https://git.pengutronix.de/cgit/barebox/commit/?id=93f7dcf631edfcda19e7757b28d66017ea274b81
> 
> Fixes: 0d446a50559 ("ARM: dts: add Protonic PRTI6Q board")
> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>

Changed subject prefix to 'ARM: dts: imx6q-prti6q: ' and applied the
patch.

Shawn
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/imx6q-prti6q.dts b/arch/arm/boot/dts/imx6q-prti6q.dts
index de6cbaab8b49..671bb3a6665d 100644
--- a/arch/arm/boot/dts/imx6q-prti6q.dts
+++ b/arch/arm/boot/dts/imx6q-prti6q.dts
@@ -213,8 +213,8 @@  mdio {
 		#size-cells = <0>;
 
 		/* Microchip KSZ9031RNX PHY */
-		rgmii_phy: ethernet-phy@4 {
-			reg = <4>;
+		rgmii_phy: ethernet-phy@0 {
+			reg = <0>;
 			interrupts-extended = <&gpio1 28 IRQ_TYPE_LEVEL_LOW>;
 			reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
 			reset-assert-us = <10000>;