]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net: enetc: do not skip setting LaBCR[MDIO_PHYAD_PRTAD] for addr 0
authorWei Fang <wei.fang@nxp.com>
Thu, 5 Mar 2026 03:12:11 +0000 (11:12 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 10 Mar 2026 09:36:46 +0000 (10:36 +0100)
commitdbe17e7783cb5d6451ff1217d0464865857e97e1
tree065183af13ee08ca2b156b41f0b44a8a85dca0c7
parent246953f33e8cf95621d6c00332e2780ce1594082
net: enetc: do not skip setting LaBCR[MDIO_PHYAD_PRTAD] for addr 0

Given that some platforms may use PHY address 0 (I suppose the PHY may
not treat address 0 as a broadcast address or default response address).
It is possible for some boards to connect multiple PHYs to the same
ENETC MAC, for example:

  - a PHY with a non-zero address connects to ENETC MAC through SGMII
    interface (selected via DTS_A)
  - a PHY with address 0 connects to ENETC MAC through RGMII interface
    (selected via DTS_B)

For the case where the ENETC port MDIO is used to manage the PHY, when
switching from DTS_A to DTS_B via soft reboot, LaBCR[MDIO_PHYAD_PRTAD]
must be updated to 0 because the NETCMIX block is not reset during soft
reboot. However, the current driver explicitly skips configuring address
0, causing LaBCR[MDIO_PHYAD_PRTAD] to retain its old value.

Therefore, remove the special-case skip of PHY address 0 so that valid
configurations using address 0 are properly supported.

Fixes: 6633df05f3ad ("net: enetc: set the external PHY address in IERB for port MDIO usage")
Fixes: 50bfd9c06f0f ("net: enetc: set external PHY address in IERB for i.MX94 ENETC")
Reviewed-by: Clark Wang <xiaoning.wang@nxp.com>
Signed-off-by: Wei Fang <wei.fang@nxp.com>
Link: https://patch.msgid.link/20260305031211.904812-3-wei.fang@nxp.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/freescale/enetc/netc_blk_ctrl.c