From c2df9b49ce295ad8ecbeccb7f1d22c9d83e1c0cd Mon Sep 17 00:00:00 2001 From: Trent Piepho Date: Thu, 9 May 2019 19:41:51 +0000 Subject: [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 Cc: Janine Hagemann Cc: Grygorii Strashko Signed-off-by: Trent Piepho Acked-by: Joe Hershberger --- 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 25f1332ca9..7f3d44ae2d 100644 --- a/drivers/net/phy/ti.c +++ b/drivers/net/phy/ti.c @@ -162,14 +162,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;