u-boot/common/spl
Bin Meng a0018fc820 riscv: Make SiFive HiFive Unleashed board boot again
Commit 40686c394e ("riscv: Clean up IPI initialization code")
caused U-Boot failed to boot on SiFive HiFive Unleashed board.

The codes inside arch_cpu_init_dm() may call U-Boot timer APIs
before the call to riscv_init_ipi(). At that time the timer register
base (e.g.: the SiFive CLINT device in this case) is unknown yet.

It might be the name riscv_init_ipi() that misleads people to only
consider it is related to IPI, but in fact the timer capability is
provided by the same SiFive CLINT device that provides the IPI.
Timer capability is needed for both UP and SMP.

Considering that the original refactor does have benefits, that it
makes the IPI code more similar to U-Boot initialization idioms.
It also removes some quite ugly macros. Let's do the minimal revert
instead of a complete revert, plus a fixes to arch_cpu_init_dm() to
consider the SPL case.

Fixes: 40686c394e ("riscv: Clean up IPI initialization code")
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Sean Anderson <seanga2@gmail.com>
Tested-by: Leo Liang <ycliang@andestech.com>
2020-07-24 14:55:04 +08:00
..
Kconfig spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI* 2020-06-29 13:34:43 -04:00
Makefile spl: Extract legacy image handling into separate file 2020-04-27 20:29:33 +02:00
spl.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
spl_atf.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
spl_bootrom.c spl: pass args to board_return_to_bootrom 2019-10-08 16:35:16 +02:00
spl_dfu.c env: Drop environment.h header file where not needed 2019-08-11 16:43:41 -04:00
spl_ext.c spl: fix ext4fs_mount return code handling 2020-07-17 08:51:01 -04:00
spl_fat.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
spl_fit.c spl: fit: fail fit loading in case of FDT appending error 2020-07-08 17:21:46 -04:00
spl_legacy.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
spl_mmc.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
spl_nand.c spl: fit: improve spl_nand_fit_read(...) readability 2020-07-08 17:21:46 -04:00
spl_net.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
spl_nor.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
spl_onenand.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
spl_opensbi.c riscv: Make SiFive HiFive Unleashed board boot again 2020-07-24 14:55:04 +08:00
spl_optee.S Rockchip-focused changes for v2018.11-rc2: 2018-10-05 13:40:42 -04:00
spl_ram.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
spl_sata.c spl: sata: support U-Boot load from raw sata disk 2019-07-24 14:15:36 -04:00
spl_sdp.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
spl_spi.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
spl_ubi.c common: Drop image.h from common header 2020-05-18 17:33:33 -04:00
spl_usb.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
spl_xip.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
spl_ymodem.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00