diff options
| author | Aleksandar Gerasimovski <aleksandar.gerasimovski@belden.com> | 2026-01-06 18:06:43 +0300 |
|---|---|---|
| committer | Vinod Koul <vkoul@kernel.org> | 2026-01-21 10:56:59 +0300 |
| commit | e2ce913452ab56b3330539cc443b97b7ea8c3a1a (patch) | |
| tree | a085c18f15b4c6bbda680fa34b3243a3bd88f27f /drivers/phy | |
| parent | 05b56ef347495239da896f310c9d613e9bd1a015 (diff) | |
| download | linux-e2ce913452ab56b3330539cc443b97b7ea8c3a1a.tar.xz | |
phy: mvebu-cp110-utmi: fix dr_mode property read from dts
The problem with the current implementation is that it does not consider
that the USB controller can have multiple PHY handles with different
arguments count, as for example we have in our cn9131 based platform:
"phys = <&cp0_comphy1 0>, <&cp0_utmi0>;".
In such case calling "of_usb_get_dr_mode_by_phy" with -1 (no phy-cells)
leads to not proper phy detection, taking the "marvell,cp110-utmi-phy"
dts definition we can call the "of_usb_get_dr_mode_by_phy" with 0
(#phy-cells = <0>) and safely look for that phy.
Signed-off-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@belden.com>
Link: https://patch.msgid.link/20260106150643.922110-1-aleksandar.gerasimovski@belden.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/phy')
| -rw-r--r-- | drivers/phy/marvell/phy-mvebu-cp110-utmi.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/phy/marvell/phy-mvebu-cp110-utmi.c b/drivers/phy/marvell/phy-mvebu-cp110-utmi.c index 59903f86b13f..dd3e515a8e86 100644 --- a/drivers/phy/marvell/phy-mvebu-cp110-utmi.c +++ b/drivers/phy/marvell/phy-mvebu-cp110-utmi.c @@ -338,7 +338,7 @@ static int mvebu_cp110_utmi_phy_probe(struct platform_device *pdev) return -ENOMEM; } - port->dr_mode = of_usb_get_dr_mode_by_phy(child, -1); + port->dr_mode = of_usb_get_dr_mode_by_phy(child, 0); if ((port->dr_mode != USB_DR_MODE_HOST) && (port->dr_mode != USB_DR_MODE_PERIPHERAL)) { dev_err(&pdev->dev, |
