
Hi Vignesh!
On April 6, 2023 thus sayeth Vignesh Raghavendra:
From: Nitin Yadav n-yadav@ti.com
Errata doc: https://www.ti.com/lit/pdf/sprz457 Errata ID i2331 CPSW: Device lockup when reading CPSW registers
Details: A device lockup can occur during the second read of any CPSW subsystem register after any MAIN domain power on reset (POR). A MAIN domain POR occurs using the hardware MCU_PORz signal, or via software using CTRLMMR_RST_CTRL.SW_MAIN_POR or CTRLMMR_MCU_RST_CTRL.SW_MAIN_POR. After these resets, the processor and internal bus structures may get into a state which is only recoverable with full device reset using MCU_PORz. Due to this errata, Ethernet boot should not be used on this device.
Workaround(s): To avoid the lockup, a warm reset should be issued after a MAIN domain POR and before any access to the CPSW registers. The warm reset realigns internal clocks and prevents the lockup from happening. Workaround above errata by calling do_reset() in case of cold boot in order to trigger warm reset. This needs enabling SYSRESET driver in R5 SPL to enable TI SCI reset driver.
Signed-off-by: Nitin Yadav n-yadav@ti.com Signed-off-by: Vignesh Raghavendra vigneshr@ti.com
arch/arm/mach-k3/am642_init.c | 33 +++++++++++++++++++++++++++++++++ configs/am64x_evm_r5_defconfig | 3 +++ 2 files changed, 36 insertions(+)
Thanks for sending this!
Reviewed-by: Bryan Brattlof bb@ti.com
~Bryan