1
2
3
4
5
6#include <common.h>
7#include <cros_ec.h>
8#include <dm.h>
9#include <os.h>
10#include <asm/test.h>
11#include <asm/u-boot-sandbox.h>
12
13
14
15
16
17
18gd_t *gd;
19
20
21U_BOOT_DEVICE(gpio_sandbox) = {
22 .name = "gpio_sandbox",
23};
24
25void flush_cache(unsigned long start, unsigned long size)
26{
27}
28
29#ifndef CONFIG_TIMER
30
31static unsigned long sandbox_timer_offset;
32
33void sandbox_timer_add_offset(unsigned long offset)
34{
35 sandbox_timer_offset += offset;
36}
37
38unsigned long timer_read_counter(void)
39{
40 return os_get_nsec() / 1000 + sandbox_timer_offset * 1000;
41}
42#endif
43
44int dram_init(void)
45{
46 gd->ram_size = CONFIG_SYS_SDRAM_SIZE;
47 return 0;
48}
49
50#ifdef CONFIG_BOARD_EARLY_INIT_F
51int board_early_init_f(void)
52{
53#ifdef CONFIG_VIDEO_SANDBOX_SDL
54 int ret;
55
56 ret = sandbox_lcd_sdl_early_init();
57 if (ret) {
58 puts("Could not init sandbox LCD emulation\n");
59 return ret;
60 }
61#endif
62
63 return 0;
64}
65#endif
66
67#ifdef CONFIG_BOARD_LATE_INIT
68int board_late_init(void)
69{
70 if (cros_ec_get_error()) {
71
72 gd->flags &= ~GD_FLG_SILENT;
73
74 printf("cros-ec communications failure %d\n",
75 cros_ec_get_error());
76 puts("\nPlease reset with Power+Refresh\n\n");
77 panic("Cannot init cros-ec device");
78 return -1;
79 }
80 return 0;
81}
82#endif
83