Skip to contentSkip to conversation

ARM: dts: omap: workarounds for Ethernet PHY strap on DRA71 and DRA72 EVMs

PATCH New Sekhar Nori 3 participants 6 messages Aug 9, 2017 – Aug 10, 2017

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

v2 cover ARM: dts: omap: workarounds for Ethernet PHY strap on DRA71 and DRA72 EVMs

Hi Tony,

Here are some patches to overcome incorrect Ethernet PHY strap settings on DRA72x EVM Rev C and DRA71 EVM. Both of these boards use TI's DP83867 PHY.

The incorrect PHY strap settings cause a voilation of PHY specification and need to be worked around in software as documented in the commit messages. But there is no known issue that these patches fix.

Changes from v1:
- Add Grygorii's reviewed-by to 3/3
- Rebase on latest mainline master

Sekhar Nori (3):
ARM: dts: dra71-evm: workaround incorrect DP83867 RX_CTRL pin strap
ARM: dts: dra72-evm-revc: workaround incorrect DP83867 RX_CTRL pin
strap
ARM: omap2plus_defconfig: enable DP83867 phy driver

 arch/arm/boot/dts/dra71-evm.dts      | 2 ++
 arch/arm/boot/dts/dra72-evm-revc.dts | 3 +++
 arch/arm/configs/omap2plus_defconfig | 1 +
 3 files changed, 6 insertions(+)
Signature · 1 line
2.9.0
#1 lore raw

PATCH v2 1/3 ARM: dts: dra71-evm: workaround incorrect DP83867 RX_CTRL pin strap

The DRA71 EVM straps the DP83867 GigaBit Ethernet phy's RX_DV/RX_CTRL pin in mode 1. Unfortunately, the phy data manual disallows this.

Add "ti,dp83867-rxctrl-strap-quirk" property to the phy's device-tree node to allow kernel to enable software workaround for this incorrect strap setting. This is as suggested by the phy's datamanual and ensures proper operation of this PHY.

This needs to be done for both instances of this PHY present on the board.

---
 arch/arm/boot/dts/dra71-evm.dts | 2 ++
 1 file changed, 2 insertions(+)
arch/arm/boot/dts/dra71-evm.dts +2 -0
index a6298eb56978..9897e8fa6845 100644
@@ -191,6 +191,7 @@
 		ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
 		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
 		ti,min-output-impedance;
+		ti,dp83867-rxctrl-strap-quirk;
 	};
 
 	dp83867_1: ethernet-phy at 3 {
@@ -199,6 +200,7 @@
 		ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
 		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
 		ti,min-output-impedance;
+		ti,dp83867-rxctrl-strap-quirk;
 	};
 };
 
Signature · 1 line
2.9.0
#2 lore raw

PATCH v2 2/3 ARM: dts: dra72-evm-revc: workaround incorrect DP83867 RX_CTRL pin strap

In reply to Sekhar Nori

The DRA72 EVM Rev C straps the DP83867 GigaBit Ethernet phy's RX_DV/RX_CTRL pin in mode 1. Unfortunately, the phy data manual disallows this.

Add "ti,dp83867-rxctrl-strap-quirk" property to the phy's device-tree node to allow kernel to enable software workaround for this incorrect strap setting. This is as suggested by the phy's datamanual and ensures proper operation of this PHY.

This needs to be done for both instances of this PHY present on the board.

---
 arch/arm/boot/dts/dra72-evm-revc.dts | 3 +++
 1 file changed, 3 insertions(+)
arch/arm/boot/dts/dra72-evm-revc.dts +3 -0
index 3ecac56bf504..be18bc023c3f 100644
@@ -70,6 +70,7 @@
 		ti,min-output-impedance;
 		interrupt-parent = <&gpio6>;
 		interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
+		ti,dp83867-rxctrl-strap-quirk;
 	};
 
 	dp83867_1: ethernet-phy at 3 {
@@ -80,5 +81,7 @@
 		ti,min-output-impedance;
 		interrupt-parent = <&gpio6>;
 		interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
+		ti,dp83867-rxctrl-strap-quirk;
 	};
 };
+
Signature · 1 line
2.9.0
#3 lore raw

PATCH v2 3/3 ARM: omap2plus_defconfig: enable DP83867 phy driver

In reply to Sekhar Nori

TI's DP83867 phy is used on DRA72x EVM rev C and DRA71x EVMs. Enable support for it in omap2plus_defconfig.

The driver is built into the kernel to help NFS booting.

---
 arch/arm/configs/omap2plus_defconfig | 1 +
 1 file changed, 1 insertion(+)
arch/arm/configs/omap2plus_defconfig +1 -0
index a120ae816260..d4afa2ca2537 100644
@@ -170,6 +170,7 @@ CONFIG_TI_CPTS=y
 # CONFIG_NET_VENDOR_WIZNET is not set
 CONFIG_AT803X_PHY=y
 CONFIG_DP83848_PHY=y
+CONFIG_DP83867_PHY=y
 CONFIG_MICREL_PHY=y
 CONFIG_SMSC_PHY=y
 CONFIG_PPP=m
Signature · 1 line
2.9.0
#4 lore raw

v2 cover ARM: dts: omap: workarounds for Ethernet PHY strap on DRA71 and DRA72 EVMs

In reply to Sekhar Nori
Quoted 20 lines · Sekhar Nori

Hi Tony,

Here are some patches to overcome incorrect Ethernet PHY strap settings on DRA72x EVM Rev C and DRA71 EVM. Both of these boards use TI's DP83867 PHY.

The incorrect PHY strap settings cause a voilation of PHY specification and need to be worked around in software as documented in the commit messages. But there is no known issue that these patches fix.

Changes from v1:
- Add Grygorii's reviewed-by to 3/3
- Rebase on latest mainline master

Sekhar Nori (3):
ARM: dts: dra71-evm: workaround incorrect DP83867 RX_CTRL pin strap
ARM: dts: dra72-evm-revc: workaround incorrect DP83867 RX_CTRL pin
strap
ARM: omap2plus_defconfig: enable DP83867 phy driver

Quoted 5 lines
  arch/arm/boot/dts/dra71-evm.dts      | 2 ++
  arch/arm/boot/dts/dra72-evm-revc.dts | 3 +++
  arch/arm/configs/omap2plus_defconfig | 1 +
  3 files changed, 6 insertions(+)
Signature · 2 lines
regards,
-grygorii
maintainer
#5 lore raw

v2 cover ARM: dts: omap: workarounds for Ethernet PHY strap on DRA71 and DRA72 EVMs

Quoted 8 lines · Grygorii Strashko
Quoted 7 lines · Sekhar Nori

Here are some patches to overcome incorrect Ethernet PHY strap settings on DRA72x EVM Rev C and DRA71 EVM. Both of these boards use TI's DP83867 PHY.

The incorrect PHY strap settings cause a voilation of PHY specification and need to be worked around in software as documented in the commit messages. But there is no known issue that these patches fix.

...

Quoted 1 line

Applying dts changes into omap-for-v4.14/fixes-not-urgent and defconfig into omap-for-v4.14/defconfig.

Thanks,

Tony