diff options
author | Tom Rini <trini@konsulko.com> | 2016-07-15 08:06:22 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-07-15 08:06:22 -0400 |
commit | ebe621d5fb2f5c15aff50e0610372f2751fd152f (patch) | |
tree | 12985b43f1a8500332de8e20274cc2dd26f5a040 /arch/sandbox/cpu/spl.c | |
parent | 36b898b6bea839de7141b65df6ec02a97615c467 (diff) | |
parent | 1269625177f120d659f66b18de4b532b16c44561 (diff) | |
download | u-boot-imx-ebe621d5fb2f5c15aff50e0610372f2751fd152f.zip u-boot-imx-ebe621d5fb2f5c15aff50e0610372f2751fd152f.tar.gz u-boot-imx-ebe621d5fb2f5c15aff50e0610372f2751fd152f.tar.bz2 |
Merge git://git.denx.de/u-boot-dm
Diffstat (limited to 'arch/sandbox/cpu/spl.c')
-rw-r--r-- | arch/sandbox/cpu/spl.c | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/arch/sandbox/cpu/spl.c b/arch/sandbox/cpu/spl.c new file mode 100644 index 0000000..e8349c0 --- /dev/null +++ b/arch/sandbox/cpu/spl.c @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2016 Google, Inc + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include <common.h> +#include <dm.h> +#include <os.h> +#include <spl.h> +#include <asm/spl.h> +#include <asm/state.h> + +DECLARE_GLOBAL_DATA_PTR; + +void board_init_f(ulong flag) +{ + struct sandbox_state *state = state_get_current(); + + gd->arch.ram_buf = state->ram_buf; + gd->ram_size = state->ram_size; +} + +u32 spl_boot_device(void) +{ + return BOOT_DEVICE_BOARD; +} + +void spl_board_announce_boot_device(void) +{ + char fname[256]; + int ret; + + ret = os_find_u_boot(fname, sizeof(fname)); + if (ret) { + printf("(%s not found, error %d)\n", fname, ret); + return; + } + printf("%s\n", fname); +} + +int spl_board_load_image(void) +{ + char fname[256]; + int ret; + + ret = os_find_u_boot(fname, sizeof(fname)); + if (ret) + return ret; + + /* Hopefully this will not return */ + return os_spl_to_uboot(fname); +} + +void spl_board_init(void) +{ + struct udevice *dev; + + preloader_console_init(); + + /* + * Scan all the devices so that we can output their platform data. See + * sandbox_spl_probe(). + */ + for (uclass_first_device(UCLASS_MISC, &dev); + dev; + uclass_next_device(&dev)) + ; +} |