[PATCH 0/2] prevent undesired de-assertion of phy-reset
Tim Harvey
tharvey at gateworks.com
Tue Mar 1 21:15:00 CET 2022
Some PHY's have strict requirements on reset timings which can be
violated if the PHY is taken out of reset before a proper reset pulse is
performed.
When gpio_request_by_name is used for reset gpios without
GPIOD_IS_OUT_ACTIVE the GPIO will be de-asserted when requested taking
the PHY out of reset. Resolve this by adding the GPIOD_IS_OUT_ACTIVE
flag.
There are 42 occurances of gpio_request_by_name in U-Boot for gpio's
with 'reset' in their name yet the only one that uses
GPIOD_IS_OUT_ACTIVE is drivers/net/dwc_eth_qos.c. While I think setting
GPIOD_IS_OUT_ACTIVE is the right thing to do, I'm only changing the ones
that I have run into issues with:
drivers/net/eth-phy-uclass.c
drivers/net/fec_mxc.c
Both of these have functions that are called that assert, delay,
de-assert, delay such that I know they will properly be taken out of
reset.
The Linux kernel had a similar issue [1]
Tim Harvey (2):
net: fec: prevent undesired de-assertion of phy-reset on request
net: eth-phy: prevent undesired de-assertion of phy-reset on request
drivers/net/eth-phy-uclass.c | 2 +-
drivers/net/fec_mxc.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
--
[1]
https://lore.kernel.org/all/20210202143239.10714-1-mike.looijmans@topic.nl/
2.17.1
More information about the U-Boot
mailing list