* Copyright (c) 2025 Huawei Technologies Co., Ltd.
* This program is free software, you can redistribute it and/or modify it under the terms and conditions of
* CANN Open Software License Agreement Version 2.0 (the "License").
* Please refer to the License for details. You may not use this file except in compliance with the License.
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
* See LICENSE in the root of the software repository for the full text of the License.
*/
#ifndef __DSMI_CMD_INFO_DEF_H__
#define __DSMI_CMD_INFO_DEF_H__
#include "dsmi_common.h"
#include "dsmi_dmp_command.h"
#include "dev_mon_iam_type.h"
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-variable"
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_DEVICE_CAPABILITY, sizeof(DSMI_DAVINCHI_INFO),
sizeof(DSMI_DAVINCHI_INFO_DATA), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_HEALTH_STATE, 0, sizeof(unsigned char), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_READ_LABEL_DATA, 1, ELABLE_DATA_MAX_LENGTH, STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_ERROR_CODE, 0, sizeof(DSMI_ERROR_CODE), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_CHIP_TEMP, 0, sizeof(signed short), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_POWER, 0, sizeof(signed short), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_FW_VERSION, 0, 3, STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_VID, 0, sizeof(signed int), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_DID, 0, sizeof(signed int), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_SN, 0, CMD_LENGTH_INVALID, STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_SUBVID, 0, sizeof(signed int), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_SUBDID, 0, sizeof(signed int), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_CHIP_VOLT, 0, sizeof(unsigned short), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_DEAD_LOG, 0, CMD_LENGTH_INVALID, STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_RUN_DATA, 0, CMD_LENGTH_INVALID, STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_BOARD_ID, 0, sizeof(unsigned short), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_PCB_VERSION, 0, sizeof(unsigned char), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_RESET_TIME, 0, CMD_LENGTH_INVALID, STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_FORMWARE_NAME, 0, CMD_LENGTH_INVALID, FIRMWARE_UPDATE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_FORMWARE_VER, 0, CMD_LENGTH_INVALID, FIRMWARE_UPDATE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_UPGRADE, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID, FIRMWARE_UPDATE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_UPGRADE_CONTROL, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID,
FIRMWARE_UPDATE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_UPGRADE_STATUS, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID,
FIRMWARE_UPDATE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_BOARD_INFO, 1, sizeof(unsigned int), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_FAN_INFO, 0, sizeof(DSMI_FAN_INFO), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_QUERY_ECC_STAT, 1, sizeof(DSMI_ECC_STATICS_RESULT), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_GET_SYSTEM_TIME, 0, sizeof(unsigned int), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_SET_SYSTEM_TIME, sizeof(unsigned int), 0, CONFIG_MANAGE_TYPE)
DSMI_CMD_DEF_COMMON_INSTANCE(DEV_MON_CMD_DMS_FAULT_INJECT, sizeof(DSMI_FAULT_INJECT_INFO), 0, CONFIG_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_DIE_ID, 0, sizeof(DSMI_DIE_ID), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_DIE_ID_V2, 0, sizeof(DSMI_DIE_ID), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_D_INFO, 1, sizeof(unsigned int), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_FLASH_D_INFO, 1, CMD_LENGTH_INVALID, STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DMP_LSB_OP_CODE_UPGRADE_CTRL, CMD_LENGTH_INVALID, 0, FIRMWARE_UPDATE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_HOT_PATCH_OPERATION, CMD_LENGTH_INVALID, 0, FIRMWARE_UPDATE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_ABL_MAMI_PATCH_OPERATION, CMD_LENGTH_INVALID, 0, FIRMWARE_UPDATE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DMP_LSB_OP_CODE_UPGRADE_STATE, 0, sizeof(DSMI_HEALTH_STATE), FIRMWARE_UPDATE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DMP_LSB_OP_CODE_UPGRADE_VERSION, 1, CMD_LENGTH_INVALID, FIRMWARE_UPDATE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_CONFIG_ENABLE, sizeof(DSMI_CONFIG_PARA), 0, CONFIG_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_SET_MAC_ADDR, (sizeof(DSMI_MAC_PARA) + (unsigned long)MAC_ADDR_LEN),
0, CONFIG_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_MAC_ADDR, sizeof(DSMI_MAC_PARA), MAC_ADDR_LEN, STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_ENABLE, 2, 1, STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_GET_D_ERRORCODE, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID, STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_GET_MINI_SENSOR_INFO, 1, sizeof(TAG_SENSOR_INFO), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_SET_IP_ADDR,
(sizeof(DSMI_PORT_PARA) + (unsigned long)DSMI_IPV6_LENTH + (unsigned long)DSMI_IPV6_LENTH), 0, CONFIG_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_IP_ADDR, sizeof(DSMI_PORT_PARA), (DSMI_IPV6_LENTH + DSMI_IPV6_LENTH),
STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_SET_GTW_ADDR, (sizeof(DSMI_PORT_PARA) + (unsigned long)DSMI_IPV6_LENTH), 0,
CONFIG_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_GTW_ADDR, sizeof(DSMI_PORT_PARA), DSMI_IPV6_LENTH, STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_NET_DEV_INFO, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID, STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DMP_MON_CMD_GET_USER_CONFIG, 0, CMD_LENGTH_INVALID, CONFIG_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DMP_MON_CMD_SET_USER_CONFIG, CMD_LENGTH_INVALID, 0, CRITICAL_STATE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DMP_MON_CMD_CLEAR_USER_CONFIG, CMD_LENGTH_INVALID, 0, CRITICAL_STATE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_GET_NETWORK_HEALTH, 0, sizeof(unsigned int), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_GET_ERRSTR, (sizeof(unsigned int) + sizeof(int)), DSMI_BB_EVENTSTR_LENGTH,
STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_GET_LLC_PERF_PARA, 0, sizeof(DSMI_LLC_RX_RESULT), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_AICPU_INFO, 0, sizeof(DSMI_AICPU_INFO), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_SET_REVOCATION, CMD_LENGTH_INVALID, 0, CRITICAL_STATE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_SET_POWER_STATE, sizeof(struct dsmi_power_state_info_stru), 0,
CRITICAL_STATE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_HISSSTATUS, 0, sizeof(struct dsmi_hiss_status_stru), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_LPSTATUS, 0, sizeof(struct dsmi_lp_status_stru), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_CAN_STATUS, CMD_LENGTH_INVALID, sizeof(struct dsmi_can_status_stru),
STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_UFS_STATUS, 0, sizeof(struct dsmi_ufs_status_stru), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_SENSORHUB_STATUS, 0, sizeof(struct dsmi_sensorhub_status_stru),
STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_CAN_CONFIG, 0, sizeof(struct dsmi_can_config_stru), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_SENSORHUB_CONFIG, 0, sizeof(struct dsmi_sensorhub_config_stru),
STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_GPIO_STATUS, sizeof(unsigned int), sizeof(unsigned int),
STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_SOC_HW_FAULT, 0, sizeof(struct dsmi_emu_subsys_state_stru),
STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_SAFETYISLAND_STATUS, 0, sizeof(struct dsmi_safetyisland_status_stru),
STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_CGROUP_INFO, 0, sizeof(struct tag_cgroup_info), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_DETECT_INFO, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID, CRITICAL_STATE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_DEVICE_INFO, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID, STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_DEVICE_INFO_CRITICAL, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID, FIRMWARE_UPDATE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_SET_DEVICE_INFO_CRITICAL, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID, FIRMWARE_UPDATE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_CREATE_CAPABILITY_GROUP, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID,
CONFIG_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_DELETE_CAPABILITY_GROUP, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID,
CONFIG_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_CAPABILITY_GROUP_INFO, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID,
STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_LAST_BOOTSTATE, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID,
STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_CTRL_DEVICE_NODE, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID,
CONFIG_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_ALL_DEVICE_NODE, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID,
STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_FLASH_CONTENT, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID,
STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_SET_FLASH_CONTENT, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID,
CONFIG_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_SET_DEVICE_INFO, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID, CONFIG_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_SET_DETECT_INFO, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID, CRITICAL_STATE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_SET_DEVICE_INFO_EX, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID,
CONFIG_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_GET_ISOLATED_PAGES_INFO, sizeof(unsigned char),
sizeof(struct dsmi_ecc_pages_stru), STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_CLEAR_ISOLATED_INFO, 0, 0, CONFIG_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_REBOOT_REASON, 0, sizeof(struct dsmi_reboot_reason),
STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_BIST_INFO, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID, STATE_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_SET_BIST_INFO, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID, CONFIG_MANAGE_TYPE)
DSMI_CMD_DEF_DAVINCI_INSTANCE(DEV_MON_CMD_D_GET_DEVICE_STATE, CMD_LENGTH_INVALID, CMD_LENGTH_INVALID, STATE_MANAGE_TYPE)
#pragma GCC diagnostic pop
#endif