CFE checks CPU Thread in a different way (using register $22): mfc0 t1, C0_BCM_CONFIG, 3 # $22 li t2, CP0_CMT_TPID # (1 << 31) and t1, t2 bnez t1, 2f # if we are running on thread 1, skip init nop Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>master
parent
193030e591
commit
ee422142f4
@ -0,0 +1,23 @@ |
||||
menu "Broadcom MIPS platforms" |
||||
depends on ARCH_BMIPS |
||||
|
||||
config SYS_SOC |
||||
default "none" |
||||
|
||||
choice |
||||
prompt "Boot mode" |
||||
|
||||
config BMIPS_BOOT_RAM |
||||
bool "RAM boot" |
||||
depends on BMIPS_SUPPORTS_BOOT_RAM |
||||
help |
||||
This builds an image that is linked to a RAM address. It can be used |
||||
for booting from CFE via TFTP using an ELF image, but it can also be |
||||
booted from RAM by other bootloaders using a BIN image. |
||||
|
||||
endchoice |
||||
|
||||
config BMIPS_SUPPORTS_BOOT_RAM |
||||
bool |
||||
|
||||
endmenu |
@ -0,0 +1,5 @@ |
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
|
||||
obj-y += dram.o
|
@ -0,0 +1,37 @@ |
||||
/*
|
||||
* Copyright (C) 2016 Daniel Schwierzeck <daniel.schwierzeck@gmail.com> |
||||
* Copyright (C) 2017 Álvaro Fernández Rojas <noltari@gmail.com> |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#include <common.h> |
||||
#include <ram.h> |
||||
#include <dm.h> |
||||
|
||||
DECLARE_GLOBAL_DATA_PTR; |
||||
|
||||
int dram_init(void) |
||||
{ |
||||
struct ram_info ram; |
||||
struct udevice *dev; |
||||
int err; |
||||
|
||||
err = uclass_get_device(UCLASS_RAM, 0, &dev); |
||||
if (err) { |
||||
debug("DRAM init failed: %d\n", err); |
||||
return 0; |
||||
} |
||||
|
||||
err = ram_get_info(dev, &ram); |
||||
if (err) { |
||||
debug("Cannot get DRAM size: %d\n", err); |
||||
return 0; |
||||
} |
||||
|
||||
debug("SDRAM base=%zx, size=%x\n", ram.base, ram.size); |
||||
|
||||
gd->ram_size = ram.size; |
||||
|
||||
return 0; |
||||
} |
@ -0,0 +1,23 @@ |
||||
/*
|
||||
* Copyright (C) 2017 Álvaro Fernández Rojas <noltari@gmail.com> |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#ifndef __CONFIG_BMIPS_COMMON_H |
||||
#define __CONFIG_BMIPS_COMMON_H |
||||
|
||||
/* RAM */ |
||||
#define CONFIG_SYS_MEMTEST_START 0xa0000000 |
||||
#define CONFIG_SYS_MEMTEST_END 0xa2000000 |
||||
|
||||
/* Memory usage */ |
||||
#define CONFIG_SYS_MAXARGS 24 |
||||
#define CONFIG_SYS_MALLOC_LEN (1024 * 1024) |
||||
#define CONFIG_SYS_BOOTPARAMS_LEN (128 * 1024) |
||||
#define CONFIG_SYS_CBSIZE 512 |
||||
|
||||
/* U-Boot */ |
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE |
||||
|
||||
#endif /* __CONFIG_BMIPS_COMMON_H */ |
Loading…
Reference in new issue