xref: /rk3399_rockchip-uboot/arch/x86/include/asm/arch-coreboot/sysinfo.h (revision 1329020d2100ec29ac04d66f10bf5cb300b841c1)
163f559cdSGabe Black /*
263f559cdSGabe Black  * This file is part of the libpayload project.
363f559cdSGabe Black  *
463f559cdSGabe Black  * Copyright (C) 2008 Advanced Micro Devices, Inc.
563f559cdSGabe Black  *
6cb3761eaSWolfgang Denk  * SPDX-License-Identifier:	BSD-3-Clause
763f559cdSGabe Black  */
863f559cdSGabe Black 
963f559cdSGabe Black #ifndef _COREBOOT_SYSINFO_H
1063f559cdSGabe Black #define _COREBOOT_SYSINFO_H
1163f559cdSGabe Black 
12f1d6fda6SBin Meng #include <asm/coreboot_tables.h>
1363f559cdSGabe Black 
1489b87081SBin Meng /* Maximum number of memory range definitions */
1589b87081SBin Meng #define SYSINFO_MAX_MEM_RANGES	32
16402ed004SSimon Glass /* Allow a maximum of 8 GPIOs */
17402ed004SSimon Glass #define SYSINFO_MAX_GPIOS	8
1863f559cdSGabe Black 
1963f559cdSGabe Black struct sysinfo_t {
2063f559cdSGabe Black 	int n_memranges;
2163f559cdSGabe Black 	struct memrange {
2263f559cdSGabe Black 		unsigned long long base;
2363f559cdSGabe Black 		unsigned long long size;
2463f559cdSGabe Black 		unsigned int type;
2563f559cdSGabe Black 	} memrange[SYSINFO_MAX_MEM_RANGES];
2663f559cdSGabe Black 
2763f559cdSGabe Black 	u32 cmos_range_start;
2863f559cdSGabe Black 	u32 cmos_range_end;
2963f559cdSGabe Black 	u32 cmos_checksum_location;
30402ed004SSimon Glass 	u32 vbnv_start;
31402ed004SSimon Glass 	u32 vbnv_size;
32402ed004SSimon Glass 
33402ed004SSimon Glass 	char *version;
34402ed004SSimon Glass 	char *extra_version;
35402ed004SSimon Glass 	char *build;
36402ed004SSimon Glass 	char *compile_time;
37402ed004SSimon Glass 	char *compile_by;
38402ed004SSimon Glass 	char *compile_host;
39402ed004SSimon Glass 	char *compile_domain;
40402ed004SSimon Glass 	char *compiler;
41402ed004SSimon Glass 	char *linker;
42402ed004SSimon Glass 	char *assembler;
4363f559cdSGabe Black 
4463f559cdSGabe Black 	struct cb_framebuffer *framebuffer;
4563f559cdSGabe Black 
46402ed004SSimon Glass 	int num_gpios;
47402ed004SSimon Glass 	struct cb_gpio gpios[SYSINFO_MAX_GPIOS];
48402ed004SSimon Glass 
49402ed004SSimon Glass 	void	*vdat_addr;
50402ed004SSimon Glass 	u32	vdat_size;
51402ed004SSimon Glass 	void	*tstamp_table;
52402ed004SSimon Glass 	void	*cbmem_cons;
53402ed004SSimon Glass 
54402ed004SSimon Glass 	struct cb_serial *serial;
5563f559cdSGabe Black };
5663f559cdSGabe Black 
5763f559cdSGabe Black extern struct sysinfo_t lib_sysinfo;
5863f559cdSGabe Black 
59*1329020dSBin Meng int get_coreboot_info(struct sysinfo_t *info);
60*1329020dSBin Meng 
6163f559cdSGabe Black #endif
62