uboot/board/sandbox/sandbox.c
<<
>>
Prefs
   1/*
   2 * Copyright (c) 2011 The Chromium OS Authors.
   3 * SPDX-License-Identifier:     GPL-2.0+
   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 * Pointer to initial global data area
  15 *
  16 * Here we initialize it.
  17 */
  18gd_t *gd;
  19
  20/* Add a simple GPIO device */
  21U_BOOT_DEVICE(gpio_sandbox) = {
  22        .name = "gpio_sandbox",
  23};
  24
  25void flush_cache(unsigned long start, unsigned long size)
  26{
  27}
  28
  29/* system timer offset in ms */
  30static unsigned long sandbox_timer_offset;
  31
  32void sandbox_timer_add_offset(unsigned long offset)
  33{
  34        sandbox_timer_offset += offset;
  35}
  36
  37unsigned long timer_read_counter(void)
  38{
  39        return os_get_nsec() / 1000 + sandbox_timer_offset * 1000;
  40}
  41
  42int dram_init(void)
  43{
  44        gd->ram_size = CONFIG_SYS_SDRAM_SIZE;
  45        return 0;
  46}
  47
  48#ifdef CONFIG_BOARD_EARLY_INIT_F
  49int board_early_init_f(void)
  50{
  51#ifdef CONFIG_VIDEO_SANDBOX_SDL
  52        int ret;
  53
  54        ret = sandbox_lcd_sdl_early_init();
  55        if (ret) {
  56                puts("Could not init sandbox LCD emulation\n");
  57                return ret;
  58        }
  59#endif
  60
  61        return 0;
  62}
  63#endif
  64
  65#ifdef CONFIG_BOARD_LATE_INIT
  66int board_late_init(void)
  67{
  68        if (cros_ec_get_error()) {
  69                /* Force console on */
  70                gd->flags &= ~GD_FLG_SILENT;
  71
  72                printf("cros-ec communications failure %d\n",
  73                       cros_ec_get_error());
  74                puts("\nPlease reset with Power+Refresh\n\n");
  75                panic("Cannot init cros-ec device");
  76                return -1;
  77        }
  78        return 0;
  79}
  80#endif
  81