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#ifndef CONFIG_TIMER
  30/* system timer offset in ms */
  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                /* Force console on */
  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