]> git.ipfire.org Git - people/ms/u-boot.git/blame - board/sandbox/sandbox.c
Merge branch 'u-boot-microblaze/zynq' into 'u-boot-arm/master'
[people/ms/u-boot.git] / board / sandbox / sandbox.c
CommitLineData
43bd194c
SG
1/*
2 * Copyright (c) 2011 The Chromium OS Authors.
1a459660 3 * SPDX-License-Identifier: GPL-2.0+
43bd194c
SG
4 */
5
6#include <common.h>
86bf601d 7#include <cros_ec.h>
e2d8a714 8#include <dm.h>
d99a6874 9#include <os.h>
7d95f2a3 10#include <asm/u-boot-sandbox.h>
d99a6874 11
43bd194c
SG
12/*
13 * Pointer to initial global data area
14 *
15 * Here we initialize it.
16 */
17gd_t *gd;
18
e2d8a714
SG
19/* Add a simple GPIO device */
20U_BOOT_DEVICE(gpio_sandbox) = {
21 .name = "gpio_sandbox",
22};
23
43bd194c
SG
24void flush_cache(unsigned long start, unsigned long size)
25{
26}
27
28c860b2 28unsigned long timer_read_counter(void)
6994ccf8 29{
28c860b2 30 return os_get_nsec() / 1000;
43bd194c
SG
31}
32
43bd194c
SG
33int dram_init(void)
34{
a733b06b 35 gd->ram_size = CONFIG_SYS_SDRAM_SIZE;
43bd194c
SG
36 return 0;
37}
86bf601d 38
7d95f2a3
SG
39#ifdef CONFIG_BOARD_EARLY_INIT_F
40int board_early_init_f(void)
41{
42#ifdef CONFIG_VIDEO_SANDBOX_SDL
43 int ret;
44
45 ret = sandbox_lcd_sdl_early_init();
46 if (ret) {
47 puts("Could not init sandbox LCD emulation\n");
48 return ret;
49 }
50#endif
51
52 return 0;
53}
54#endif
55
86bf601d
SG
56int arch_early_init_r(void)
57{
58#ifdef CONFIG_CROS_EC
59 if (cros_ec_board_init()) {
60 printf("%s: Failed to init EC\n", __func__);
61 return 0;
62 }
63#endif
64
65 return 0;
66}
67
68#ifdef CONFIG_BOARD_LATE_INIT
69int board_late_init(void)
70{
71 if (cros_ec_get_error()) {
72 /* Force console on */
73 gd->flags &= ~GD_FLG_SILENT;
74
75 printf("cros-ec communications failure %d\n",
76 cros_ec_get_error());
77 puts("\nPlease reset with Power+Refresh\n\n");
78 panic("Cannot init cros-ec device");
79 return -1;
80 }
81 return 0;
82}
83#endif