diff options
author | Marek Vasut <marex@denx.de> | 2014-05-15 00:20:54 +0200 |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2014-05-15 00:20:54 +0200 |
commit | 4180b3dba25c2c28cc4502f1c9f1cbad2a9972b8 (patch) | |
tree | ce2ac59e3f933e6c7f220edf3b14a2e46174ef14 /arch/sandbox/lib/sandbox.c | |
parent | fc25fa27e5f439705e9ca42182014e2d75d9f0ae (diff) | |
parent | 2072e7262965bb48d7fffb1e283101e6ed8b21a8 (diff) |
Merge remote-tracking branch 'u-boot/master' into test
Diffstat (limited to 'arch/sandbox/lib/sandbox.c')
-rw-r--r-- | arch/sandbox/lib/sandbox.c | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/arch/sandbox/lib/sandbox.c b/arch/sandbox/lib/sandbox.c new file mode 100644 index 00000000000..e4d4e021bcd --- /dev/null +++ b/arch/sandbox/lib/sandbox.c @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2011 The Chromium OS Authors. + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include <common.h> +#include <cros_ec.h> +#include <dm.h> +#include <os.h> +#include <asm/u-boot-sandbox.h> + +/* + * Pointer to initial global data area + * + * Here we initialize it. + */ +gd_t *gd; + +/* Add a simple GPIO device */ +U_BOOT_DEVICE(gpio_sandbox) = { + .name = "gpio_sandbox", +}; + +void flush_cache(unsigned long start, unsigned long size) +{ +} + +unsigned long timer_read_counter(void) +{ + return os_get_nsec() / 1000; +} + +int dram_init(void) +{ + gd->ram_size = CONFIG_SYS_SDRAM_SIZE; + return 0; +} + +#ifdef CONFIG_BOARD_EARLY_INIT_F +int board_early_init_f(void) +{ +#ifdef CONFIG_VIDEO_SANDBOX_SDL + int ret; + + ret = sandbox_lcd_sdl_early_init(); + if (ret) { + puts("Could not init sandbox LCD emulation\n"); + return ret; + } +#endif + + return 0; +} +#endif + +int arch_early_init_r(void) +{ +#ifdef CONFIG_CROS_EC + if (cros_ec_board_init()) { + printf("%s: Failed to init EC\n", __func__); + return 0; + } +#endif + + return 0; +} + +#ifdef CONFIG_BOARD_LATE_INIT +int board_late_init(void) +{ + if (cros_ec_get_error()) { + /* Force console on */ + gd->flags &= ~GD_FLG_SILENT; + + printf("cros-ec communications failure %d\n", + cros_ec_get_error()); + puts("\nPlease reset with Power+Refresh\n\n"); + panic("Cannot init cros-ec device"); + return -1; + } + return 0; +} +#endif |