Merge branch 'fixes-for-stm32-dwmac-driver-fails-to-probe'
Christophe Roullier says: ==================== Fixes for stm32-dwmac driver fails to probe Mark Brown found issue during stm32-dwmac probe: For the past few days networking has been broken on the Avenger 96, a stm32mp157a based platform. The stm32-dwmac driver fails to probe: <6>[ 1.894271] stm32-dwmac 5800a000.ethernet: IRQ eth_wake_irq not found <6>[ 1.899694] stm32-dwmac 5800a000.ethernet: IRQ eth_lpi not found <6>[ 1.905849] stm32-dwmac 5800a000.ethernet: IRQ sfty not found <3>[ 1.912304] stm32-dwmac 5800a000.ethernet: Unable to parse OF data <3>[ 1.918393] stm32-dwmac 5800a000.ethernet: probe with driver stm32-dwmac failed with error -75 which looks a bit odd given the commit contents but I didn't look at the driver code at all. Full boot log here: https://lava.sirena.org.uk/scheduler/job/467150 A working equivalent is here: https://lava.sirena.org.uk/scheduler/job/466518 I delivered 2 fixes to solve issue. ==================== Link: https://patch.msgid.link/20240701064838.425521-1-christophe.roullier@foss.st.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
commit
ac26327635
@ -206,6 +206,9 @@ static int stm32mp1_validate_ethck_rate(struct plat_stmmacenet_data *plat_dat)
|
||||
struct stm32_dwmac *dwmac = plat_dat->bsp_priv;
|
||||
const u32 clk_rate = clk_get_rate(dwmac->clk_eth_ck);
|
||||
|
||||
if (!dwmac->enable_eth_ck)
|
||||
return 0;
|
||||
|
||||
switch (plat_dat->mac_interface) {
|
||||
case PHY_INTERFACE_MODE_MII:
|
||||
case PHY_INTERFACE_MODE_GMII:
|
||||
@ -432,10 +435,12 @@ static int stm32_dwmac_parse_data(struct stm32_dwmac *dwmac,
|
||||
dwmac->mode_mask = SYSCFG_MP1_ETH_MASK;
|
||||
err = of_property_read_u32_index(np, "st,syscon", 2, &dwmac->mode_mask);
|
||||
if (err) {
|
||||
if (dwmac->ops->is_mp13)
|
||||
if (dwmac->ops->is_mp13) {
|
||||
dev_err(dev, "Sysconfig register mask must be set (%d)\n", err);
|
||||
else
|
||||
} else {
|
||||
dev_dbg(dev, "Warning sysconfig register mask not set\n");
|
||||
err = 0;
|
||||
}
|
||||
}
|
||||
|
||||
return err;
|
||||
|
Loading…
x
Reference in New Issue
Block a user