net: dwc_eth_qos: Set DMA_MODE SWR bit to reset the MAC
authorMarek Vasut <marex@denx.de>
Mon, 6 Mar 2023 14:53:46 +0000 (15:53 +0100)
committerStefano Babic <sbabic@denx.de>
Thu, 30 Mar 2023 11:47:03 +0000 (13:47 +0200)
commita79de0808a8dc738ec2076ad47d431c64452111e
tree7a26804944c9b360ae397c11367110cd3834dd09
parentac19125f72d0e90e560085704b0958b104d70ce0
net: dwc_eth_qos: Set DMA_MODE SWR bit to reset the MAC

The driver currently only waits for DMA_MODE SWR bit to clear itself.
This is insufficient e.g. on i.MX8M Plus, where the MAC must be reset
before IOMUX GPR[1] content is latched into the MAC and used. Without
the proper reset, the i.MX8M Plus MAC variant does not take the value
in IOMUX GPR[1] into account, which makes it impossible e.g. to switch
interface mode from RGMII to any other.

Since proper reset is desired in general to put the block into defined
state, always assert the DMA_MODE SWR bit before waiting for the bit
to clear itself.

Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
Signed-off-by: Marek Vasut <marex@denx.de>
drivers/net/dwc_eth_qos.c