- mtmips: network stability fixes for gardena-smart-gateway
This commit is contained in:
Tom Rini
2019-07-08 07:29:33 -04:00
2 changed files with 27 additions and 1 deletions

View File

@@ -84,13 +84,13 @@ config ARCH_MTMIPS
select DM_SERIAL
imply DM_SPI
imply DM_SPI_FLASH
select LAST_STAGE_INIT
select MIPS_TUNE_24KC
select OF_CONTROL
select ROM_EXCEPTION_VECTORS
select SUPPORTS_CPU_MIPS32_R1
select SUPPORTS_CPU_MIPS32_R2
select SUPPORTS_LITTLE_ENDIAN
select SYS_MALLOC_CLEAR_ON_INIT
select SYSRESET
config ARCH_JZ47XX

View File

@@ -68,3 +68,29 @@ int print_cpuinfo(void)
return 0;
}
int last_stage_init(void)
{
void *src, *dst;
src = malloc(SZ_64K);
dst = malloc(SZ_64K);
if (!src || !dst) {
printf("Can't allocate buffer for cache cleanup copy!\n");
return 0;
}
/*
* It has been noticed, that sometimes the d-cache is not in a
* "clean-state" when U-Boot is running on MT7688. This was
* detected when using the ethernet driver (which uses d-cache)
* and a TFTP command does not complete. Copying an area of 64KiB
* in DDR at a very late bootup time in U-Boot, directly before
* calling into the prompt, seems to fix this issue.
*/
memcpy(dst, src, SZ_64K);
free(src);
free(dst);
return 0;
}