[U-Boot] [PATCH] net: phy: ti: Use default values for tx/rx delay and fifo size

When not using DM_ETH, these PHY settings are programmed with default values hardcoded into the driver. When using DM_ETH, they should come from the device tree. However, if the device tree does not have the properties, the driver will silent use -1. Which is entirely out of range, programs nonsense into the PHY's registers, and does not work.
Change this to use the same defaults as non-DM_ETH if the device tree is lacking the properties.
As an alternative, the kernel driver for the phy will display an error message and fail if the device tree is lacking.
Cc: Joe Hershberger joe.hershberger@ni.com Cc: Janine Hagemann j.hagemann@phytec.de Cc: Grygorii Strashko grygorii.strashko@ti.com Signed-off-by: Trent Piepho tpiepho@impinj.com --- drivers/net/phy/ti.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/phy/ti.c b/drivers/net/phy/ti.c index 6db6edd0d0..33f5687e0e 100644 --- a/drivers/net/phy/ti.c +++ b/drivers/net/phy/ti.c @@ -240,14 +240,14 @@ static int dp83867_of_init(struct phy_device *phydev) dp83867->rxctrl_strap_quirk = true; dp83867->rx_id_delay = ofnode_read_u32_default(node, "ti,rx-internal-delay", - -1); + DEFAULT_RX_ID_DELAY);
dp83867->tx_id_delay = ofnode_read_u32_default(node, "ti,tx-internal-delay", - -1); + DEFAULT_TX_ID_DELAY);
dp83867->fifo_depth = ofnode_read_u32_default(node, "ti,fifo-depth", - -1); + DEFAULT_FIFO_DEPTH); if (ofnode_read_bool(node, "enet-phy-lane-swap")) dp83867->port_mirroring = DP83867_PORT_MIRRORING_EN;

-----Original Message----- From: Trent Piepho tpiepho@impinj.com Sent: Thursday, May 09, 2019 2:42 PM To: u-boot@lists.denx.de Cc: Trent Piepho tpiepho@impinj.com; Joseph Hershberger joseph.hershberger@ni.com; Janine Hagemann j.hagemann@phytec.de; Grygorii Strashko grygorii.strashko@ti.com Subject: [EXTERNAL] [PATCH] net: phy: ti: Use default values for tx/rx delay and fifo size
When not using DM_ETH, these PHY settings are programmed with default values hardcoded into the driver. When using DM_ETH, they should come from the device tree. However, if the device tree does not have the properties, the driver will silent use -1. Which is entirely out of range, programs nonsense into the PHY's registers, and does not work.
Change this to use the same defaults as non-DM_ETH if the device tree is lacking the properties.
As an alternative, the kernel driver for the phy will display an error message and fail if the device tree is lacking.
Cc: Joe Hershberger joe.hershberger@ni.com Cc: Janine Hagemann j.hagemann@phytec.de Cc: Grygorii Strashko grygorii.strashko@ti.com Signed-off-by: Trent Piepho tpiepho@impinj.com
Acked-by: Joe Hershberger joe.hershberger@ni.com

Hi Trent,
https://patchwork.ozlabs.org/patch/1097657/ was applied to http://git.denx.de/?p=u-boot/u-boot-net.git
Thanks! -Joe
participants (3)
-
Joe Hershberger
-
Joseph Hershberger
-
Trent Piepho