u-boot-brain/arch/mips
Stefan Roese 9814fb272f mips: mt76xx: Implement new d-cache fix in last_stage_init()
With commit 06985289d4 ("watchdog: Implement generic watchdog_reset()
version") the init sequence has changed in arch_misc_init(), resulting
in a re-appearance of the d-cache issue on MT7688 boards (e.g. gardena).
When this happens, the first (or sometimes later ones as well) TFTP
command hangs and does not complete correctly. This leads to the
assumption that the d-cache is not in a clean state once the ethernet
driver is called (d-cache is used here for the buffers). The old work-
around with the cache flush somehow does not work any more now with
the new code change.

Unfortunately adding CONFIG_SYS_MALLOC_CLEAR_ON_INIT also did not fix
this issue. With v2019.07-rc3 it shows again. The time of accessing
the data seems to be very important here. It needs to be "very late"
in the boot process.

Testing has shown, that copying a 64KiB area in DDR at a very late
bootup time, directly before calling into the prompt, fixes this issue.
Flushing of the complete d-cache does not seem to necessary, as this
copy alone seems to fix this problem.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2019-07-05 17:12:27 +02:00
..
cpu linker: Modify linker scripts to be more generic 2019-01-26 22:55:53 -05:00
dts net: mscc: ocelot: Update DTS for Luton pcb90 2019-05-03 16:46:36 +02:00
include/asm mips: Add SPL header 2018-12-19 15:23:01 +01:00
lib arch: mips: Update initrd_start and initrd_end 2019-05-03 16:42:23 +02:00
mach-ath79 mips: add initial support for qca956x referenced board 2019-04-12 17:32:50 +02:00
mach-bmips bmips: swapping IO space isn't required 2018-12-10 18:46:45 +01:00
mach-jz47xx MIPS: jz47xx: remove custom u-boot-spl.lds 2019-01-16 13:56:43 +01:00
mach-mscc net: mscc: ocelot: Update network driver for pcb120 2019-05-03 16:42:23 +02:00
mach-mtmips mips: mt76xx: Implement new d-cache fix in last_stage_init() 2019-07-05 17:12:27 +02:00
mach-pic32 Kconfig: Sort bool, default, select and imply options 2018-07-30 07:18:48 -04:00
config.mk MIPS: fix linking of standalone programs 2018-11-18 16:02:23 +01:00
Kconfig mips: mt76xx: Implement new d-cache fix in last_stage_init() 2019-07-05 17:12:27 +02:00
Makefile mips: rename mach-mt7620 to mach-mtmips 2019-05-03 16:43:11 +02:00
Makefile.postlink SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00