mirror of
https://github.com/Dasharo/skiboot.git
synced 2026-03-06 14:50:44 -08:00
49496485fe
SPDX makes it a simpler diff. I have audited the commit history of each file to ensure that they are exclusively authored by IBM and thus we have the right to relicense. The motivation behind this is twofold: 1) We want to enable experiments with coreboot, which is GPLv2 licensed 2) An upcoming firmware component wants to incorporate code from skiboot and code from the Linux kernel, which is GPLv2 licensed. I have gone through the IBM internal way of gaining approval for this. The following files are not exclusively authored by IBM, so are *not* included in this update (I will be seeking approval from contributors): core/direct-controls.c core/flash.c core/pcie-slot.c external/common/arch_flash_unknown.c external/common/rules.mk external/gard/Makefile external/gard/rules.mk external/opal-prd/Makefile external/pflash/Makefile external/xscom-utils/Makefile hdata/vpd.c hw/dts.c hw/ipmi/ipmi-watchdog.c hw/phb4.c include/cpu.h include/phb4.h include/platform.h libflash/libffs.c libstb/mbedtls/sha512.c libstb/mbedtls/sha512.h platforms/astbmc/barreleye.c platforms/astbmc/garrison.c platforms/astbmc/mihawk.c platforms/astbmc/nicole.c platforms/astbmc/p8dnu.c platforms/astbmc/p8dtu.c platforms/astbmc/p9dsu.c platforms/astbmc/vesnin.c platforms/rhesus/ec/config.h platforms/rhesus/ec/gpio.h platforms/rhesus/gpio.c platforms/rhesus/rhesus.c platforms/astbmc/talos.c platforms/astbmc/romulus.c Signed-off-by: Stewart Smith <stewart@linux.ibm.com> [oliver: fixed up the drift] Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
63 lines
2.0 KiB
C
63 lines
2.0 KiB
C
// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
|
/* Copyright 2013-2018 IBM Corp. */
|
|
|
|
#ifndef __FSP_SYSPARAM_H
|
|
#define __FSP_SYSPARAM_H
|
|
|
|
/* System parameter numbers used in the protocol
|
|
*
|
|
* these are the only ones we care about right now
|
|
*/
|
|
#define SYS_PARAM_SURV 0xf0000001
|
|
#define SYS_PARAM_HMC_MANAGED 0xf0000003
|
|
#define SYS_PARAM_FW_IPL_SIDE 0xf0000007
|
|
#define SYS_PARAM_FLASH_POLICY 0xf0000012
|
|
#define SYS_PARAM_NEED_HMC 0xf0000016
|
|
#define SYS_PARAM_REAL_SAI 0xf0000019
|
|
#define SYS_PARAM_PARTITION_SAI 0xf000001A
|
|
#define SYS_PARAM_PLAT_SAI 0xf000001B
|
|
#define SYS_PARAM_FW_LICENSE 0xf000001d
|
|
#define SYS_PARAM_WWPN 0xf0000023
|
|
#define SYS_PARAM_DEF_BOOT_DEV 0xf0000024
|
|
#define SYS_PARAM_NEXT_BOOT_DEV 0xf0000025
|
|
#define SYS_PARAM_CONSOLE_SELECT 0xf0000026
|
|
#define SYS_PARAM_BOOT_DEV_PATH 0xf0000027
|
|
|
|
|
|
/* Completion for a sysparam call. err_len is either a negative error
|
|
* code or the positive length of the returned data
|
|
*/
|
|
typedef void (*sysparam_compl_t)(uint32_t param_id, int err_len, void *data);
|
|
|
|
|
|
/* Send a sysparam query request. Operation can be synchronous or
|
|
* asynchronous:
|
|
*
|
|
* - synchronous (async_complete is NULL), the result code is either
|
|
* a negative error code or a positive returned length.
|
|
*
|
|
* - asynchronous (async_complete non NULL). The result code is 0 for
|
|
* successfully queued request or an error for an immediate error.
|
|
* A successfully queued request will complete via the completion
|
|
* callback defined above
|
|
*/
|
|
int fsp_get_sys_param(uint32_t param_id, void *buffer, uint32_t length,
|
|
sysparam_compl_t async_complete, void *comp_data);
|
|
|
|
|
|
void fsp_sysparam_init(void);
|
|
|
|
/*
|
|
* System parameter update notification.
|
|
* param_id : parameter id
|
|
* len : length of data
|
|
* data : pointer to data
|
|
*/
|
|
typedef bool (*sysparam_update_notify)(struct fsp_msg *msg);
|
|
|
|
/* Register/unregister for system parameter update notifier chain */
|
|
void sysparam_add_update_notifier(sysparam_update_notify notify);
|
|
void sysparam_del_update_notifier(sysparam_update_notify notify);
|
|
|
|
#endif /* __FSP_SYSPARAM_H */
|