aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/dwc_eth_qos.c
diff options
context:
space:
mode:
authorRasmus Villemoes <rasmus.villemoes@prevas.dk>2022-05-11 16:58:41 +0200
committerTom Rini <trini@konsulko.com>2022-08-08 10:50:20 -0400
commit0c999ce98e9d6485f8637e130f7612f80c111a0e (patch)
treeada1c001922a8bdf2c9b1f8d79b2e30f649853ac /drivers/net/dwc_eth_qos.c
parent4a7c9dbf9a42330970a9742c1d476f2a9075f3f9 (diff)
downloadu-boot-0c999ce98e9d6485f8637e130f7612f80c111a0e.zip
u-boot-0c999ce98e9d6485f8637e130f7612f80c111a0e.tar.gz
u-boot-0c999ce98e9d6485f8637e130f7612f80c111a0e.tar.bz2
net: dwc_eth_qos: lift parsing of max-speed DT property to common code
I have an iMX8MP with a ti,dp83867 phy in front of the eqos interface. The phy is Gbit capable - however, the C and D differential pairs are not physically routed to the RJ45 connector. So I need to prevent the phy from advertising 1000Mbps. The necessary code is almost already there in the form of a phy_set_supported() call in eqos_start(), but the max-speed DT property is currently only parsed in eqos_probe_resources_stm32(). Lift that parsing to eqos_probe(). Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
Diffstat (limited to 'drivers/net/dwc_eth_qos.c')
-rw-r--r--drivers/net/dwc_eth_qos.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c
index 7c504dd..4f3ea4f 100644
--- a/drivers/net/dwc_eth_qos.c
+++ b/drivers/net/dwc_eth_qos.c
@@ -1399,8 +1399,6 @@ static int eqos_probe_resources_stm32(struct udevice *dev)
if (ret)
return -EINVAL;
- eqos->max_speed = dev_read_u32_default(dev, "max-speed", 0);
-
ret = clk_get_by_name(dev, "stmmaceth", &eqos->clk_master_bus);
if (ret) {
pr_err("clk_get_by_name(master_bus) failed: %d", ret);
@@ -1503,6 +1501,8 @@ static int eqos_probe(struct udevice *dev)
eqos->dma_regs = (void *)(eqos->regs + EQOS_DMA_REGS_BASE);
eqos->tegra186_regs = (void *)(eqos->regs + EQOS_TEGRA186_REGS_BASE);
+ eqos->max_speed = dev_read_u32_default(dev, "max-speed", 0);
+
ret = eqos_probe_resources_core(dev);
if (ret < 0) {
pr_err("eqos_probe_resources_core() failed: %d", ret);