1 /******************************************************************************
3 * Copyright (c) 2021 Intel.
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 *******************************************************************************/
39 /************************************************************************/
40 /* SINT64, SINT32, SINT16 and SINT8 definition */
41 /************************************************************************/
44 typedef long long SINT64, *PSINT64;
49 typedef int SINT32, *PSINT32;
54 typedef short SINT16, *PSINT16;
59 typedef char SINT8, *PSINT8;
69 typedef unsigned char BOOL;
73 typedef unsigned char U8; /* unsigned 8-bit integer */
78 typedef unsigned short U16; /* unsigned 16-bit integer */
83 typedef unsigned int U32; /* unsigned 32-bit integer */
89 typedef unsigned long U64; /* unsigned 64-bit integer */
91 typedef unsigned long long U64; /* unsigned 64-bit integer */
97 typedef volatile unsigned char V8;
102 typedef volatile unsigned short V16;
107 typedef volatile unsigned int V32;
112 typedef signed char S8; /* 8-bit signed integer */
117 typedef signed short S16; /* 16-bit signed integer */
122 typedef signed int S32; /* 32-bit signed integer */
128 typedef signed long S64; /* unsigned 64-bit integer */
130 typedef signed long long S64; /* unsigned 64-bit integer */
141 #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
144 #define CONV_ENDIAN_32(v) ((v & 0xff) << 24 | (v >> 24) | ((v & 0xff00) << 8) | ((v & 0xff0000) >> 8));
148 #define MAX(x, y) ((x) >= (y) ? (x) : (y))
152 #define MIN(x, y) ((x) <= (y) ? (x) : (y))
159 typedef void (*VOIDCB)(void);
161 typedef void (*CALLBACK)(PVOID);
163 #define BCTRL_LEN_MASK 0x0000FFFF
164 #define BCTRL_BLAST_MASK 0x00010000
166 #define DMAFCTRL_IRQEN 0x00000001
167 #define DMAFCTRL_INBOFF 0x0000FFF0
169 #define ARRAY_COUNT(v) (sizeof(v)/sizeof(v[0]))
172 #define ROUND(x, dx) (((x) + ((dx) - 1) ) & ~((dx) - 1))
175 #define REG32CLR(addr, clr_mask) ( REG32(addr) = REG32(addr) & (~(clr_mask)) )
176 #define REG32SET(addr, set_mask) ( REG32(addr) = REG32(addr) | (set_mask) )
177 #define REG32UPD(addr, clr_mask, set_mask) ( REG32(addr) = (REG32(addr) & (~(clr_mask))) | (set_mask) )
179 // Standard function return types
182 typedef unsigned int RESULTCODE;
185 typedef unsigned int RETURNVALUE;
189 #define EXPIRED 2 // Not an error - wait operation expired
190 #define RESTART 3 // Not an error - indicate we need to restart process
194 #endif /*__SYSTYPES_H__ */