net: phy: Avoid phy gpio reset sequence if DM_ETH_PHY is enabled
If DM_ETH_PHY config is enabled PHY gpio reset is taken care by the eth-phy-uclass driver, so use the PHY gpio reset functionality from ethernet_id file when this config is disabled to reset the PHY. Use debug() print instead of dev_err() to avoid warning incase if phy-id compatible string is not present. Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Link: https://lore.kernel.org/r/4d0fd3f9f886c1d943776025e5efb5438b0eb389.1648631275.git.michal.simek@xilinx.com
This commit is contained in:
parent
801725395a
commit
ccc8656f7f
@ -33,31 +33,38 @@ struct phy_device *phy_connect_phy_id(struct mii_dev *bus, struct udevice *dev,
|
||||
|
||||
ret = ofnode_read_eth_phy_id(node, &vendor, &device);
|
||||
if (ret) {
|
||||
dev_err(dev, "Failed to read eth PHY id, err: %d\n", ret);
|
||||
debug("Failed to read eth PHY id, err: %d\n", ret);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ret = gpio_request_by_name_nodev(node, "reset-gpios", 0, &gpio,
|
||||
GPIOD_ACTIVE_LOW);
|
||||
if (!ret) {
|
||||
assert = ofnode_read_u32_default(node, "reset-assert-us", 0);
|
||||
deassert = ofnode_read_u32_default(node,
|
||||
"reset-deassert-us", 0);
|
||||
ret = dm_gpio_set_value(&gpio, 1);
|
||||
if (ret) {
|
||||
dev_err(dev, "Failed assert gpio, err: %d\n", ret);
|
||||
return NULL;
|
||||
if (!IS_ENABLED(CONFIG_DM_ETH_PHY)) {
|
||||
ret = gpio_request_by_name_nodev(node, "reset-gpios", 0, &gpio,
|
||||
GPIOD_ACTIVE_LOW);
|
||||
if (!ret) {
|
||||
assert = ofnode_read_u32_default(node,
|
||||
"reset-assert-us", 0);
|
||||
deassert = ofnode_read_u32_default(node,
|
||||
"reset-deassert-us",
|
||||
0);
|
||||
ret = dm_gpio_set_value(&gpio, 1);
|
||||
if (ret) {
|
||||
dev_err(dev,
|
||||
"Failed assert gpio, err: %d\n", ret);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
udelay(assert);
|
||||
|
||||
ret = dm_gpio_set_value(&gpio, 0);
|
||||
if (ret) {
|
||||
dev_err(dev,
|
||||
"Failed deassert gpio, err: %d\n",
|
||||
ret);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
udelay(deassert);
|
||||
}
|
||||
|
||||
udelay(assert);
|
||||
|
||||
ret = dm_gpio_set_value(&gpio, 0);
|
||||
if (ret) {
|
||||
dev_err(dev, "Failed deassert gpio, err: %d\n", ret);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
udelay(deassert);
|
||||
}
|
||||
|
||||
id = vendor << 16 | device;
|
||||
|
Loading…
Reference in New Issue
Block a user