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
|
.global trap_entry
|
||||||
handle_reset:
|
handle_reset:
|
||||||
|
li t0, CONFIG_SYS_SDRAM_BASE
|
||||||
|
SREG a2, 0(t0)
|
||||||
la t0, trap_entry
|
la t0, trap_entry
|
||||||
csrw mtvec, t0
|
csrw mtvec, t0
|
||||||
csrwi mstatus, 0
|
csrwi mstatus, 0
|
||||||
|
|
|
||||||
|
|
@ -64,3 +64,12 @@ ulong board_flash_get_legacy(ulong base, int banknum, flash_info_t *info)
|
||||||
{
|
{
|
||||||
return 0;
|
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_EXT2=y
|
||||||
CONFIG_CMD_FAT=y
|
CONFIG_CMD_FAT=y
|
||||||
CONFIG_OF_CONTROL=y
|
CONFIG_OF_CONTROL=y
|
||||||
|
CONFIG_OF_BOARD=y
|
||||||
CONFIG_ENV_IS_IN_SPI_FLASH=y
|
CONFIG_ENV_IS_IN_SPI_FLASH=y
|
||||||
CONFIG_NET_RANDOM_ETHADDR=y
|
CONFIG_NET_RANDOM_ETHADDR=y
|
||||||
CONFIG_DM=y
|
CONFIG_DM=y
|
||||||
|
|
|
||||||
|
|
@ -11,18 +11,9 @@
|
||||||
/*
|
/*
|
||||||
* CPU and Board Configuration Options
|
* CPU and Board Configuration Options
|
||||||
*/
|
*/
|
||||||
#define CONFIG_SKIP_LOWLEVEL_INIT
|
|
||||||
|
|
||||||
#define CONFIG_BOOTP_SEND_HOSTNAME
|
#define CONFIG_BOOTP_SEND_HOSTNAME
|
||||||
#define CONFIG_BOOTP_SERVERIP
|
#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
|
* Miscellaneous configurable options
|
||||||
*/
|
*/
|
||||||
|
|
@ -50,6 +41,9 @@
|
||||||
*/
|
*/
|
||||||
#define CONFIG_SYS_MALLOC_LEN (512 << 10)
|
#define CONFIG_SYS_MALLOC_LEN (512 << 10)
|
||||||
|
|
||||||
|
/* DT blob (fdt) address */
|
||||||
|
#define CONFIG_SYS_FDT_BASE 0x000f0000
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Physical Memory Map
|
* Physical Memory Map
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue