195511698STamas Ban /* 295511698STamas Ban * Copyright (c) 2024, Arm Limited. All rights reserved. 395511698STamas Ban * 495511698STamas Ban * SPDX-License-Identifier: BSD-3-Clause 595511698STamas Ban * 695511698STamas Ban */ 795511698STamas Ban 895511698STamas Ban /* 995511698STamas Ban * Packing scheme of the control parameter 1095511698STamas Ban * 1195511698STamas Ban * 31 30-28 27 26-24 23-20 19 18-16 15-0 1295511698STamas Ban * +------------+-----+------+-------+-----+-------+-------+------+ 1395511698STamas Ban * | | | | invec | | | outvec| type | 1495511698STamas Ban * | Res | Res | Res | number| Res | Res | number| | 1595511698STamas Ban * +------------+-----+------+-------+-----+-------+-------+------+ 1695511698STamas Ban * 1795511698STamas Ban * Res: Reserved. 1895511698STamas Ban */ 1995511698STamas Ban 20*e249e569STamas Ban #ifndef RSE_COMMS_PROTOCOL_COMMON 21*e249e569STamas Ban #define RSE_COMMS_PROTOCOL_COMMON 2295511698STamas Ban 2395511698STamas Ban #define TYPE_OFFSET (0U) 2495511698STamas Ban #define TYPE_MASK (0xFFFFUL << TYPE_OFFSET) 2595511698STamas Ban #define IN_LEN_OFFSET (24U) 2695511698STamas Ban #define IN_LEN_MASK (0x7UL << IN_LEN_OFFSET) 2795511698STamas Ban #define OUT_LEN_OFFSET (16U) 2895511698STamas Ban #define OUT_LEN_MASK (0x7UL << OUT_LEN_OFFSET) 2995511698STamas Ban 3095511698STamas Ban #define PARAM_PACK(type, in_len, out_len) \ 3195511698STamas Ban (((((uint32_t)(type)) << TYPE_OFFSET) & TYPE_MASK) | \ 3295511698STamas Ban ((((uint32_t)(in_len)) << IN_LEN_OFFSET) & IN_LEN_MASK) | \ 3395511698STamas Ban ((((uint32_t)(out_len)) << OUT_LEN_OFFSET) & OUT_LEN_MASK)) 3495511698STamas Ban 35*e249e569STamas Ban #endif /* RSE_COMMS_PROTOCOL_COMMON */ 36