uboot/arch/x86/include/asm/arch-coreboot/sysinfo.h
<<
>>
Prefs
   1/*
   2 * This file is part of the libpayload project.
   3 *
   4 * Copyright (C) 2008 Advanced Micro Devices, Inc.
   5 *
   6 * SPDX-License-Identifier:     BSD-3-Clause
   7 */
   8
   9#ifndef _COREBOOT_SYSINFO_H
  10#define _COREBOOT_SYSINFO_H
  11
  12#include <asm/coreboot_tables.h>
  13
  14/* Maximum number of memory range definitions */
  15#define SYSINFO_MAX_MEM_RANGES  32
  16/* Allow a maximum of 8 GPIOs */
  17#define SYSINFO_MAX_GPIOS       8
  18
  19struct sysinfo_t {
  20        int n_memranges;
  21        struct memrange {
  22                unsigned long long base;
  23                unsigned long long size;
  24                unsigned int type;
  25        } memrange[SYSINFO_MAX_MEM_RANGES];
  26
  27        u32 cmos_range_start;
  28        u32 cmos_range_end;
  29        u32 cmos_checksum_location;
  30        u32 vbnv_start;
  31        u32 vbnv_size;
  32
  33        char *version;
  34        char *extra_version;
  35        char *build;
  36        char *compile_time;
  37        char *compile_by;
  38        char *compile_host;
  39        char *compile_domain;
  40        char *compiler;
  41        char *linker;
  42        char *assembler;
  43
  44        struct cb_framebuffer *framebuffer;
  45
  46        int num_gpios;
  47        struct cb_gpio gpios[SYSINFO_MAX_GPIOS];
  48
  49        void    *vdat_addr;
  50        u32     vdat_size;
  51        void    *tstamp_table;
  52        void    *cbmem_cons;
  53
  54        struct cb_serial *serial;
  55};
  56
  57extern struct sysinfo_t lib_sysinfo;
  58
  59int get_coreboot_info(struct sysinfo_t *info);
  60
  61#endif
  62