/* Copyright 2014 Freescale Semiconductor Inc. * * SPDX-License-Identifier: GPL-2.0+ */ #ifndef __FSL_DPMNG_CMD_H #define __FSL_DPMNG_CMD_H /* Command IDs */ #define DPMNG_CMDID_GET_VERSION 0x831 #define DPMNG_CMDID_RESET_AIOP 0x832 #define DPMNG_CMDID_LOAD_AIOP 0x833 #define DPMNG_CMDID_RUN_AIOP 0x834 #define DPMNG_CMDID_RESET_MC_PORTAL 0x835 /* cmd, param, offset, width, type, arg_name */ #define DPMNG_RSP_GET_VERSION(cmd, mc_ver_info) \ do { \ MC_RSP_OP(cmd, 0, 0, 32, uint32_t, mc_ver_info->revision); \ MC_RSP_OP(cmd, 0, 32, 32, uint32_t, mc_ver_info->major); \ MC_RSP_OP(cmd, 1, 0, 32, uint32_t, mc_ver_info->minor); \ } while (0) /* cmd, param, offset, width, type, arg_name */ #define DPMNG_CMD_RESET_AIOP(cmd, container_id, aiop_tile_id) \ do { \ MC_CMD_OP(cmd, 0, 0, 32, int, aiop_tile_id); \ MC_CMD_OP(cmd, 0, 32, 32, int, container_id); \ } while (0) /* cmd, param, offset, width, type, arg_name */ #define DPMNG_CMD_LOAD_AIOP(cmd, container_id, aiop_tile_id, img_size, \ img_iova) \ do { \ MC_CMD_OP(cmd, 0, 0, 32, int, aiop_tile_id); \ MC_CMD_OP(cmd, 0, 32, 32, int, container_id); \ MC_CMD_OP(cmd, 1, 0, 32, uint32_t, img_size); \ MC_CMD_OP(cmd, 2, 0, 64, uint64_t, img_iova); \ } while (0) /* cmd, param, offset, width, type, arg_name */ #define DPMNG_CMD_RUN_AIOP(cmd, container_id, aiop_tile_id, cfg) \ do { \ MC_CMD_OP(cmd, 0, 0, 32, int, aiop_tile_id); \ MC_CMD_OP(cmd, 0, 32, 32, int, container_id); \ MC_CMD_OP(cmd, 1, 0, 32, uint32_t, cfg->cores_mask); \ MC_CMD_OP(cmd, 2, 0, 64, uint64_t, cfg->options); \ } while (0) #endif /* __FSL_DPMNG_CMD_H */