u-boot/arch/arm/mach-k3
Nitin Yadav 4ba5f22ce6 arm: mach-k3: Workaround errata ID i2331
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>
2023-04-06 10:24:35 -05:00
..
am62ax arm: mach-k3: am62a: introduce auto-generated SoC data 2022-12-09 14:10:28 -05:00
am62x arm: mach-k3: am62: Introduce autogenerated SoC data 2022-06-10 13:37:32 -04:00
include/mach arm: mach-k3: am62: move scratch board area to HSM RAM 2023-03-22 12:51:09 -04:00
j721e clk: ti: k3: Update driver to account for divider flags 2021-09-17 14:47:03 -04:00
j721s2 arm: K3: Add basic support for J721S2 SoC definition 2022-02-08 09:41:26 -05:00
j7200 clk: ti: k3: Update driver to account for divider flags 2021-09-17 14:47:03 -04:00
Kconfig arm: mach-k3: copy bootindex to OCRAM for main domain SPL 2023-01-10 15:39:07 -05:00
Makefile arm: mach-k3: introduce basic files to support the am62a 2022-12-09 14:10:28 -05:00
am62a7_init.c arm: mach-k3: copy bootindex to OCRAM for main domain SPL 2023-01-10 15:39:07 -05:00
am625_init.c arm64:mach-k3 am625_init: Correct boot mode detection 2023-01-10 15:39:06 -05:00
am642_init.c arm: mach-k3: Workaround errata ID i2331 2023-04-06 10:24:35 -05:00
am654_init.c arm: mach-k3: Remove ROM firewalls on GP devices 2022-07-25 14:57:27 -04:00
arm64-mmu.c arm: mach-k3: introduce basic files to support the am62a 2022-12-09 14:10:28 -05:00
cache.S arm: mach-k3: Clean non-coherent lines out of L3 cache 2020-08-11 10:18:27 +05:30
common.c misc: fs_loader: Add function to get the chosen loader 2023-01-12 14:06:15 -05:00
common.h arm: mach-k3: Add support for device type detection 2022-08-04 15:32:20 -04:00
config.mk arm: k3: config.mk: Read software revision information from file on HS 2022-07-25 14:57:27 -04:00
config_secure.mk global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
j721e_init.c arm: mach-k3: fix spelling mistake "entended" -> "extended" 2022-11-24 16:26:03 -05:00
j721s2_init.c arch: mach-k3: Update board specific API name to K3 generic API name 2023-01-27 12:51:27 -05:00
lowlevel_init.S armv7r: K3: Allow SPL to run only on core 0 2018-11-26 22:52:11 -05:00
r5_mpu.c global: Move remaining CONFIG_SYS_SDRAM_* to CFG_SYS_SDRAM_* 2022-12-05 16:06:07 -05:00
security.c arm: mach-k3: security: Use dma-mapping for cache ops 2022-10-18 13:40:40 -04:00
sysfw-loader.c Rename CONFIG_SYS_TEXT_BASE to CONFIG_TEXT_BASE 2022-10-31 11:01:31 -04:00