riscv: ae250: Support DT provided by the board at runtime
Enable CONFIG_OF_BOAD to support delivery dtb to u-boot at run time instead of embedded. There are two methods to delivery dtb. 1 Pass from loader: When u-boot boot from RAM, gdb or loader can pass dtb via a2 to u-boot dynamically. Of course gdb or loader shall be in charge of dtb delivery. 2 Configure CONFIG_SYS_FDT_BASE: It can be configured as RAM or ROM base statically, no mater u-boot boot from RAM or ROM. If it was configured as ROM base, dtb can be burned into ROM(spi flash) by spi driver. Meanwhile remove CONFIG_SKIP_LOWLEVEL_INIT which is useless in nx25-ae250 configuration. Signed-off-by: Rick Chen <rick@andestech.com> Signed-off-by: Rick Chen <rickchen36@gmail.com> Cc: Greentime Hu <green.hu@gmail.com>
This commit is contained in:
parent
2bc5bea9e1
commit
d58717e425
@ -45,6 +45,8 @@ trap_vector:
|
||||
|
||||
.global trap_entry
|
||||
handle_reset:
|
||||
li t0, CONFIG_SYS_SDRAM_BASE
|
||||
SREG a2, 0(t0)
|
||||
la t0, trap_entry
|
||||
csrw mtvec, t0
|
||||
csrwi mstatus, 0
|
||||
|
@ -64,3 +64,12 @@ ulong board_flash_get_legacy(ulong base, int banknum, flash_info_t *info)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void *board_fdt_blob_setup(void)
|
||||
{
|
||||
void **ptr = (void *)CONFIG_SYS_SDRAM_BASE;
|
||||
if (fdt_magic(*ptr) == FDT_MAGIC)
|
||||
return (void *)*ptr;
|
||||
|
||||
return (void *)CONFIG_SYS_FDT_BASE;
|
||||
}
|
||||
|
@ -16,6 +16,7 @@ CONFIG_CMD_CACHE=y
|
||||
CONFIG_CMD_EXT2=y
|
||||
CONFIG_CMD_FAT=y
|
||||
CONFIG_OF_CONTROL=y
|
||||
CONFIG_OF_BOARD=y
|
||||
CONFIG_ENV_IS_IN_SPI_FLASH=y
|
||||
CONFIG_NET_RANDOM_ETHADDR=y
|
||||
CONFIG_DM=y
|
||||
|
@ -11,18 +11,9 @@
|
||||
/*
|
||||
* CPU and Board Configuration Options
|
||||
*/
|
||||
#define CONFIG_SKIP_LOWLEVEL_INIT
|
||||
|
||||
#define CONFIG_BOOTP_SEND_HOSTNAME
|
||||
#define CONFIG_BOOTP_SERVERIP
|
||||
|
||||
#ifdef CONFIG_SKIP_LOWLEVEL_INIT
|
||||
#ifdef CONFIG_OF_CONTROL
|
||||
#undef CONFIG_OF_SEPARATE
|
||||
#define CONFIG_OF_EMBED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
@ -50,6 +41,9 @@
|
||||
*/
|
||||
#define CONFIG_SYS_MALLOC_LEN (512 << 10)
|
||||
|
||||
/* DT blob (fdt) address */
|
||||
#define CONFIG_SYS_FDT_BASE 0x000f0000
|
||||
|
||||
/*
|
||||
* Physical Memory Map
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user