![]() |
|
|||
0001 /* SPDX-License-Identifier: GPL-2.0 */ 0002 /* 0003 * Copyright (c) 2019, Mellanox Technologies. All rights reserved. 0004 */ 0005 0006 #ifndef __MLXBF_BOOTCTL_H__ 0007 #define __MLXBF_BOOTCTL_H__ 0008 0009 /* 0010 * Request that the on-chip watchdog be enabled, or disabled, after 0011 * the next chip soft reset. This call does not affect the current 0012 * status of the on-chip watchdog. If non-zero, the argument 0013 * specifies the watchdog interval in seconds. If zero, the watchdog 0014 * will not be enabled after the next soft reset. Non-zero errors are 0015 * returned as documented below. 0016 */ 0017 #define MLXBF_BOOTCTL_SET_POST_RESET_WDOG 0x82000000 0018 0019 /* 0020 * Query the status which has been requested for the on-chip watchdog 0021 * after the next chip soft reset. Returns the interval as set by 0022 * MLXBF_BOOTCTL_SET_POST_RESET_WDOG. 0023 */ 0024 #define MLXBF_BOOTCTL_GET_POST_RESET_WDOG 0x82000001 0025 0026 /* 0027 * Request that a specific boot action be taken at the next soft 0028 * reset. By default, the boot action is set by external chip pins, 0029 * which are sampled on hard reset. Note that the boot action 0030 * requested by this call will persist on subsequent resets unless 0031 * this service, or the MLNX_SET_SECOND_RESET_ACTION service, is 0032 * invoked. See below for the available MLNX_BOOT_xxx parameter 0033 * values. Non-zero errors are returned as documented below. 0034 */ 0035 #define MLXBF_BOOTCTL_SET_RESET_ACTION 0x82000002 0036 0037 /* 0038 * Return the specific boot action which will be taken at the next 0039 * soft reset. Returns the reset action (see below for the parameter 0040 * values for MLXBF_BOOTCTL_SET_RESET_ACTION). 0041 */ 0042 #define MLXBF_BOOTCTL_GET_RESET_ACTION 0x82000003 0043 0044 /* 0045 * Request that a specific boot action be taken at the soft reset 0046 * after the next soft reset. For a specified valid boot mode, the 0047 * effect of this call is identical to that of invoking 0048 * MLXBF_BOOTCTL_SET_RESET_ACTION after the next chip soft reset; in 0049 * particular, after that reset, the action for the now next reset can 0050 * be queried with MLXBF_BOOTCTL_GET_RESET_ACTION and modified with 0051 * MLXBF_BOOTCTL_SET_RESET_ACTION. You may also specify the parameter as 0052 * MLNX_BOOT_NONE, which is equivalent to specifying that no call to 0053 * MLXBF_BOOTCTL_SET_RESET_ACTION be taken after the next chip soft reset. 0054 * This call does not affect the action to be taken at the next soft 0055 * reset. Non-zero errors are returned as documented below. 0056 */ 0057 #define MLXBF_BOOTCTL_SET_SECOND_RESET_ACTION 0x82000004 0058 0059 /* 0060 * Return the specific boot action which will be taken at the soft 0061 * reset after the next soft reset; this will be one of the valid 0062 * actions for MLXBF_BOOTCTL_SET_SECOND_RESET_ACTION. 0063 */ 0064 #define MLXBF_BOOTCTL_GET_SECOND_RESET_ACTION 0x82000005 0065 0066 /* 0067 * Return the fuse status of the current chip. The caller should specify 0068 * with the second argument if the state of the lifecycle fuses or the 0069 * version of secure boot fuse keys left should be returned. 0070 */ 0071 #define MLXBF_BOOTCTL_GET_TBB_FUSE_STATUS 0x82000006 0072 0073 /* Reset eMMC by programming the RST_N register. */ 0074 #define MLXBF_BOOTCTL_SET_EMMC_RST_N 0x82000007 0075 0076 #define MLXBF_BOOTCTL_GET_DIMM_INFO 0x82000008 0077 0078 /* SMC function IDs for SiP Service queries */ 0079 #define MLXBF_BOOTCTL_SIP_SVC_CALL_COUNT 0x8200ff00 0080 #define MLXBF_BOOTCTL_SIP_SVC_UID 0x8200ff01 0081 #define MLXBF_BOOTCTL_SIP_SVC_VERSION 0x8200ff03 0082 0083 /* ARM Standard Service Calls version numbers */ 0084 #define MLXBF_BOOTCTL_SVC_VERSION_MAJOR 0x0 0085 #define MLXBF_BOOTCTL_SVC_VERSION_MINOR 0x2 0086 0087 /* Number of svc calls defined. */ 0088 #define MLXBF_BOOTCTL_NUM_SVC_CALLS 12 0089 0090 /* Valid reset actions for MLXBF_BOOTCTL_SET_RESET_ACTION. */ 0091 #define MLXBF_BOOTCTL_EXTERNAL 0 /* Not boot from eMMC */ 0092 #define MLXBF_BOOTCTL_EMMC 1 /* From primary eMMC boot partition */ 0093 #define MLNX_BOOTCTL_SWAP_EMMC 2 /* Swap eMMC boot partitions and reboot */ 0094 #define MLXBF_BOOTCTL_EMMC_LEGACY 3 /* From primary eMMC in legacy mode */ 0095 0096 /* Valid arguments for requesting the fuse status. */ 0097 #define MLXBF_BOOTCTL_FUSE_STATUS_LIFECYCLE 0 /* Return lifecycle status. */ 0098 #define MLXBF_BOOTCTL_FUSE_STATUS_KEYS 1 /* Return secure boot key status */ 0099 0100 /* Additional value to disable the MLXBF_BOOTCTL_SET_SECOND_RESET_ACTION. */ 0101 #define MLXBF_BOOTCTL_NONE 0x7fffffff /* Don't change next boot action */ 0102 0103 #endif /* __MLXBF_BOOTCTL_H__ */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.1.0 LXR engine. The LXR team |
![]() ![]() |