u-boot-brain/common
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
..
eeprom SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
init common: Drop init.h from common header 2020-05-18 17:33:33 -04:00
spl riscv: Make SiFive HiFive Unleashed board boot again 2020-07-24 14:55:04 +08:00
android_ab.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
autoboot.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
avb_verify.c common: Move ARM cache operations out of common.h 2019-12-02 18:24:58 -05:00
bedbug.c common: Drop asm/ptrace.h from common header 2020-05-18 21:19:23 -04:00
bloblist.c bloblist: Zero records when adding 2020-02-05 19:33:46 -07:00
board_f.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
board_info.c common: Drop init.h from common header 2020-05-18 17:33:33 -04:00
board_r.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
boot_fit.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
bootm_os.c efi_loader: returning from UEFI FIT images 2020-07-22 12:32:42 +02:00
bootm.c common: bootm: add checks to verify if ramdisk / fdtimage overlaps OS image 2020-07-17 08:51:01 -04:00
bootretry.c common: Move get_ticks() function out of common.h 2019-12-02 18:23:13 -05:00
bootstage.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
bouncebuf.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
cli_hush.c command: Remove the cmd_tbl_t typedef 2020-05-18 18:36:55 -04:00
cli_readline.c command: Remove the cmd_tbl_t typedef 2020-05-18 18:36:55 -04:00
cli_simple.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
cli.c command: Remove the cmd_tbl_t typedef 2020-05-18 18:36:55 -04:00
command.c command: Drop #ifdef for MEM_SUPPORT_64BIT_DATA 2020-07-08 17:21:46 -04:00
common_fit.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
console.c console: Add a way to output to serial only 2020-07-09 12:33:24 +08:00
cros_ec.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
ddr_spd.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dfu.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
dlmalloc.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
dlmalloc.src Consolidate bool type 2013-04-01 16:33:52 -04:00
edid.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
exports.c command: Remove the cmd_tbl_t typedef 2020-05-18 18:36:55 -04:00
fdt_region.c lib: libfdt: fdt_region: avoid NULL pointer access 2020-07-20 11:37:47 -06:00
fdt_support.c fdt_support: skip MTD node with "disabled" in fdt_fixup_mtdparts() 2020-07-20 11:37:47 -06:00
flash.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
hash.c common: hash: Remove a debug printf statement 2020-06-16 11:36:30 -04:00
hwconfig.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
image-android-dt.c common: image-android-dt: Fix logic in print fdt info routine 2019-08-07 15:31:05 -04:00
image-android.c image: android: fix abootimg support 2020-06-02 13:06:12 -04:00
image-cipher.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
image-fdt.c image: fdt: bail out with error if no boot time FDT image found 2020-07-17 08:51:01 -04:00
image-fit-sig.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
image-fit.c Add support for SHA384 and SHA512 2020-06-12 13:14:07 -04:00
image-sig.c Add support for SHA384 and SHA512 2020-06-12 13:14:07 -04:00
image.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
iomux.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
iotrace.c common: Drop linux/bug.h from common header 2020-05-18 21:19:23 -04:00
kallsyms.c Add support for Linux-like kallsysms 2009-06-12 20:45:48 +02:00
Kconfig log: don't show function by default 2020-07-09 18:57:22 -06:00
kgdb_stubs.c common: Drop asm/ptrace.h from common header 2020-05-18 21:19:23 -04:00
kgdb.c common: Drop asm/ptrace.h from common header 2020-05-18 21:19:23 -04:00
lcd_console_rotation.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
lcd_console.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
lcd_simplefb.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
lcd.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
log_console.c log: use BIT() instead of 1 << 2020-07-09 18:57:22 -06:00
log_syslog.c log: use BIT() instead of 1 << 2020-07-09 18:57:22 -06:00
log.c log: don't show function by default 2020-07-09 18:57:22 -06:00
lynxkdi.c Remove unnecessary instances of DECLARE_GLOBAL_DATA_PTR 2018-04-27 14:54:48 -04:00
main.c common: Drop bootstage.h from common header 2020-05-18 17:33:33 -04:00
Makefile fdt_region: move fdt_region.c to common/ from lib/libfdt/ 2020-04-26 14:23:55 -06:00
malloc_simple.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
memsize.c common: Move RAM-sizing functions to init.h 2020-01-24 23:06:49 +05:30
menu.c menu: add support for client defined statusline function 2020-05-07 09:01:42 -04:00
miiphyutil.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
s_record.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
splash_source.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
splash.c splash: Fix build warning on 64 bits CPU 2020-06-28 01:03:09 +02:00
stdio.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
system_map.c Add support for Linux-like kallsysms 2009-06-12 20:45:48 +02:00
update.c common: Move the image globals into image.h 2020-01-24 23:06:49 +05:30
usb_hub.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
usb_kbd.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
usb_storage.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
usb.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
xyzModem.c spl: Allow tiny printf() to be controlled in SPL and TPL 2019-10-08 13:57:45 +08:00