18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * This file is subject to the terms and conditions of the GNU General Public 48c2ecf20Sopenharmony_ci * License. See the file COPYING in the main directory of this archive 58c2ecf20Sopenharmony_ci * for more details. 68c2ecf20Sopenharmony_ci * 78c2ecf20Sopenharmony_ci * Copyright (C) 2020 Loongson Technology Co., Ltd. 88c2ecf20Sopenharmony_ci */ 98c2ecf20Sopenharmony_ci#ifndef _ASM_BOOTINFO_H 108c2ecf20Sopenharmony_ci#define _ASM_BOOTINFO_H 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci#include <linux/types.h> 138c2ecf20Sopenharmony_ci#include <asm/setup.h> 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciconst char *get_system_type(void); 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ciextern void memblock_init(void); 188c2ecf20Sopenharmony_ciextern void detect_memory_region(phys_addr_t start, phys_addr_t sz_min, phys_addr_t sz_max); 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ciextern void early_init(void); 218c2ecf20Sopenharmony_ciextern void init_environ(void); 228c2ecf20Sopenharmony_ciextern void platform_init(void); 238c2ecf20Sopenharmony_ciextern void plat_mem_setup(void); 248c2ecf20Sopenharmony_ciextern int __init init_numa_memory(void); 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_cistruct loongson_board_info { 278c2ecf20Sopenharmony_ci int bios_size; 288c2ecf20Sopenharmony_ci const char *bios_vendor; 298c2ecf20Sopenharmony_ci const char *bios_version; 308c2ecf20Sopenharmony_ci const char *bios_release_date; 318c2ecf20Sopenharmony_ci const char *board_name; 328c2ecf20Sopenharmony_ci const char *board_vendor; 338c2ecf20Sopenharmony_ci}; 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_cistruct loongson_system_configuration { 368c2ecf20Sopenharmony_ci int nr_cpus; 378c2ecf20Sopenharmony_ci int nr_nodes; 388c2ecf20Sopenharmony_ci int nr_io_pics; 398c2ecf20Sopenharmony_ci int boot_cpu_id; 408c2ecf20Sopenharmony_ci int cores_per_node; 418c2ecf20Sopenharmony_ci int cores_per_package; 428c2ecf20Sopenharmony_ci const char *cpuname; 438c2ecf20Sopenharmony_ci u64 suspend_addr; 448c2ecf20Sopenharmony_ci}; 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ciextern u64 efi_system_table; 478c2ecf20Sopenharmony_ciextern struct loongson_board_info b_info; 488c2ecf20Sopenharmony_ciextern struct loongson_system_configuration loongson_sysconf; 498c2ecf20Sopenharmony_ciextern unsigned long fw_arg0, fw_arg1, fw_arg2; 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci#endif /* _ASM_BOOTINFO_H */ 52