1 /*
2  * dim2_errors.h - Definitions of errors for DIM2 HAL API
3  * (MediaLB, Device Interface Macro IP, OS62420)
4  *
5  * Copyright (C) 2015, Microchip Technology Germany II GmbH & Co. KG
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * This file is licensed under GPLv2.
13  */
14 
15 #ifndef _MOST_DIM_ERRORS_H
16 #define _MOST_DIM_ERRORS_H
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 
23 /**
24  * MOST DIM errors.
25  */
26 enum dim_errors_t {
27 	/** Not an error */
28 	DIM_NO_ERROR = 0,
29 
30 	/** Bad base address for DIM2 IP */
31 	DIM_INIT_ERR_DIM_ADDR = 0x10,
32 
33 	/**< Bad MediaLB clock */
34 	DIM_INIT_ERR_MLB_CLOCK,
35 
36 	/** Bad channel address */
37 	DIM_INIT_ERR_CHANNEL_ADDRESS,
38 
39 	/** Out of DBR memory */
40 	DIM_INIT_ERR_OUT_OF_MEMORY,
41 
42 	/** DIM API is called while DIM is not initialized successfully */
43 	DIM_ERR_DRIVER_NOT_INITIALIZED = 0x20,
44 
45 	/**
46 	 * Configuration does not respect hardware limitations
47 	 * for isochronous or synchronous channels
48 	 */
49 	DIM_ERR_BAD_CONFIG,
50 
51 	/**
52 	 * Buffer size does not respect hardware limitations
53 	 * for isochronous or synchronous channels
54 	 */
55 	DIM_ERR_BAD_BUFFER_SIZE,
56 
57 	DIM_ERR_UNDERFLOW,
58 
59 	DIM_ERR_OVERFLOW,
60 };
61 
62 
63 #ifdef __cplusplus
64 }
65 #endif
66 
67 #endif /* _MOST_DIM_ERRORS_H */
68