1 /*********************************************************************************************************************** 2 * Copyright [2020-2022] Renesas Electronics Corporation and/or its affiliates. All Rights Reserved. 3 * 4 * This software and documentation are supplied by Renesas Electronics America Inc. and may only be used with products 5 * of Renesas Electronics Corp. and its affiliates ("Renesas"). No other uses are authorized. Renesas products are 6 * sold pursuant to Renesas terms and conditions of sale. Purchasers are solely responsible for the selection and use 7 * of Renesas products and Renesas assumes no liability. No license, express or implied, to any intellectual property 8 * right is granted by Renesas. This software is protected under all applicable laws, including copyright laws. Renesas 9 * reserves the right to change or discontinue this software and/or this documentation. THE SOFTWARE AND DOCUMENTATION 10 * IS DELIVERED TO YOU "AS IS," AND RENESAS MAKES NO REPRESENTATIONS OR WARRANTIES, AND TO THE FULLEST EXTENT 11 * PERMISSIBLE UNDER APPLICABLE LAW, DISCLAIMS ALL WARRANTIES, WHETHER EXPLICITLY OR IMPLICITLY, INCLUDING WARRANTIES 12 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT, WITH RESPECT TO THE SOFTWARE OR 13 * DOCUMENTATION. RENESAS SHALL HAVE NO LIABILITY ARISING OUT OF ANY SECURITY VULNERABILITY OR BREACH. TO THE MAXIMUM 14 * EXTENT PERMITTED BY LAW, IN NO EVENT WILL RENESAS BE LIABLE TO YOU IN CONNECTION WITH THE SOFTWARE OR DOCUMENTATION 15 * (OR ANY PERSON OR ENTITY CLAIMING RIGHTS DERIVED FROM YOU) FOR ANY LOSS, DAMAGES, OR CLAIMS WHATSOEVER, INCLUDING, 16 * WITHOUT LIMITATION, ANY DIRECT, CONSEQUENTIAL, SPECIAL, INDIRECT, PUNITIVE, OR INCIDENTAL DAMAGES; ANY LOST PROFITS, 17 * OTHER ECONOMIC DAMAGE, PROPERTY DAMAGE, OR PERSONAL INJURY; AND EVEN IF RENESAS HAS BEEN ADVISED OF THE POSSIBILITY 18 * OF SUCH LOSS, DAMAGES, CLAIMS OR COSTS. 19 **********************************************************************************************************************/ 20 21 #ifndef FSP_COMMON_API_H 22 #define FSP_COMMON_API_H 23 24 /*********************************************************************************************************************** 25 * Includes 26 **********************************************************************************************************************/ 27 #include <assert.h> 28 #include <stdint.h> 29 30 /* Includes FSP version macros. */ 31 #include "fsp_version.h" 32 33 /*******************************************************************************************************************//** 34 * @ingroup RENESAS_COMMON 35 * @defgroup RENESAS_ERROR_CODES Common Error Codes 36 * All FSP modules share these common error codes. 37 * @{ 38 **********************************************************************************************************************/ 39 40 /********************************************************************************************************************** 41 * Macro definitions 42 **********************************************************************************************************************/ 43 44 /** This macro is used to suppress compiler messages about a parameter not being used in a function. The nice thing 45 * about using this implementation is that it does not take any extra RAM or ROM. */ 46 47 #define FSP_PARAMETER_NOT_USED(p) (void) ((p)) 48 49 /** Determine if a C++ compiler is being used. 50 * If so, ensure that standard C is used to process the API information. */ 51 #if defined(__cplusplus) 52 #define FSP_CPP_HEADER extern "C" { 53 #define FSP_CPP_FOOTER } 54 #else 55 #define FSP_CPP_HEADER 56 #define FSP_CPP_FOOTER 57 #endif 58 59 /** FSP Header and Footer definitions */ 60 #define FSP_HEADER FSP_CPP_HEADER 61 #define FSP_FOOTER FSP_CPP_FOOTER 62 63 /* Common macro for FSP header files. There is also a corresponding FSP_FOOTER macro at the end of this file. */ 64 FSP_HEADER 65 66 /** Macro to be used when argument to function is ignored since function call is NSC and the parameter is statically 67 * defined on the Secure side. */ 68 #define FSP_SECURE_ARGUMENT (NULL) 69 70 /********************************************************************************************************************** 71 * Typedef definitions 72 **********************************************************************************************************************/ 73 74 /** Common error codes */ 75 typedef enum e_fsp_err 76 { 77 FSP_SUCCESS = 0, 78 79 FSP_ERR_ASSERTION = 1, ///< A critical assertion has failed 80 FSP_ERR_INVALID_POINTER = 2, ///< Pointer points to invalid memory location 81 FSP_ERR_INVALID_ARGUMENT = 3, ///< Invalid input parameter 82 FSP_ERR_INVALID_CHANNEL = 4, ///< Selected channel does not exist 83 FSP_ERR_INVALID_MODE = 5, ///< Unsupported or incorrect mode 84 FSP_ERR_UNSUPPORTED = 6, ///< Selected mode not supported by this API 85 FSP_ERR_NOT_OPEN = 7, ///< Requested channel is not configured or API not open 86 FSP_ERR_IN_USE = 8, ///< Channel/peripheral is running/busy 87 FSP_ERR_OUT_OF_MEMORY = 9, ///< Allocate more memory in the driver's cfg.h 88 FSP_ERR_HW_LOCKED = 10, ///< Hardware is locked 89 FSP_ERR_IRQ_BSP_DISABLED = 11, ///< IRQ not enabled in BSP 90 FSP_ERR_OVERFLOW = 12, ///< Hardware overflow 91 FSP_ERR_UNDERFLOW = 13, ///< Hardware underflow 92 FSP_ERR_ALREADY_OPEN = 14, ///< Requested channel is already open in a different configuration 93 FSP_ERR_APPROXIMATION = 15, ///< Could not set value to exact result 94 FSP_ERR_CLAMPED = 16, ///< Value had to be limited for some reason 95 FSP_ERR_INVALID_RATE = 17, ///< Selected rate could not be met 96 FSP_ERR_ABORTED = 18, ///< An operation was aborted 97 FSP_ERR_NOT_ENABLED = 19, ///< Requested operation is not enabled 98 FSP_ERR_TIMEOUT = 20, ///< Timeout error 99 FSP_ERR_INVALID_BLOCKS = 21, ///< Invalid number of blocks supplied 100 FSP_ERR_INVALID_ADDRESS = 22, ///< Invalid address supplied 101 FSP_ERR_INVALID_SIZE = 23, ///< Invalid size/length supplied for operation 102 FSP_ERR_WRITE_FAILED = 24, ///< Write operation failed 103 FSP_ERR_ERASE_FAILED = 25, ///< Erase operation failed 104 FSP_ERR_INVALID_CALL = 26, ///< Invalid function call is made 105 FSP_ERR_INVALID_HW_CONDITION = 27, ///< Detected hardware is in invalid condition 106 FSP_ERR_INVALID_FACTORY_FLASH = 28, ///< Factory flash is not available on this MCU 107 FSP_ERR_INVALID_STATE = 30, ///< API or command not valid in the current state 108 FSP_ERR_NOT_ERASED = 31, ///< Erase verification failed 109 FSP_ERR_SECTOR_RELEASE_FAILED = 32, ///< Sector release failed 110 FSP_ERR_NOT_INITIALIZED = 33, ///< Required initialization not complete 111 FSP_ERR_NOT_FOUND = 34, ///< The requested item could not be found 112 FSP_ERR_NO_CALLBACK_MEMORY = 35, ///< Non-secure callback memory not provided for non-secure callback 113 FSP_ERR_BUFFER_EMPTY = 36, ///< No data available in buffer 114 FSP_ERR_INVALID_DATA = 37, ///< Accuracy of data is not guaranteed 115 116 /* Start of RTOS only error codes */ 117 FSP_ERR_INTERNAL = 100, ///< Internal error 118 FSP_ERR_WAIT_ABORTED = 101, ///< Wait aborted 119 120 /* Start of UART specific */ 121 FSP_ERR_FRAMING = 200, ///< Framing error occurs 122 FSP_ERR_BREAK_DETECT = 201, ///< Break signal detects 123 FSP_ERR_PARITY = 202, ///< Parity error occurs 124 FSP_ERR_RXBUF_OVERFLOW = 203, ///< Receive queue overflow 125 FSP_ERR_QUEUE_UNAVAILABLE = 204, ///< Can't open s/w queue 126 FSP_ERR_INSUFFICIENT_SPACE = 205, ///< Not enough space in transmission circular buffer 127 FSP_ERR_INSUFFICIENT_DATA = 206, ///< Not enough data in receive circular buffer 128 129 /* Start of SPI specific */ 130 FSP_ERR_TRANSFER_ABORTED = 300, ///< The data transfer was aborted. 131 FSP_ERR_MODE_FAULT = 301, ///< Mode fault error. 132 FSP_ERR_READ_OVERFLOW = 302, ///< Read overflow. 133 FSP_ERR_SPI_PARITY = 303, ///< Parity error. 134 FSP_ERR_OVERRUN = 304, ///< Overrun error. 135 136 /* Start of CGC Specific */ 137 FSP_ERR_CLOCK_INACTIVE = 400, ///< Inactive clock specified as system clock. 138 FSP_ERR_CLOCK_ACTIVE = 401, ///< Active clock source cannot be modified without stopping first. 139 FSP_ERR_NOT_STABILIZED = 403, ///< Clock has not stabilized after its been turned on/off 140 FSP_ERR_PLL_SRC_INACTIVE = 404, ///< PLL initialization attempted when PLL source is turned off 141 FSP_ERR_OSC_STOP_DET_ENABLED = 405, ///< Illegal attempt to stop LOCO when Oscillation stop is enabled 142 FSP_ERR_OSC_STOP_DETECTED = 406, ///< The Oscillation stop detection status flag is set 143 FSP_ERR_OSC_STOP_CLOCK_ACTIVE = 407, ///< Attempt to clear Oscillation Stop Detect Status with PLL/MAIN_OSC active 144 FSP_ERR_CLKOUT_EXCEEDED = 408, ///< Output on target output clock pin exceeds maximum supported limit 145 FSP_ERR_USB_MODULE_ENABLED = 409, ///< USB clock configure request with USB Module enabled 146 FSP_ERR_HARDWARE_TIMEOUT = 410, ///< A register read or write timed out 147 FSP_ERR_LOW_VOLTAGE_MODE = 411, ///< Invalid clock setting attempted in low voltage mode 148 149 /* Start of FLASH Specific */ 150 FSP_ERR_PE_FAILURE = 500, ///< Unable to enter Programming mode. 151 FSP_ERR_CMD_LOCKED = 501, ///< Peripheral in command locked state 152 FSP_ERR_FCLK = 502, ///< FCLK must be >= 4 MHz 153 FSP_ERR_INVALID_LINKED_ADDRESS = 503, ///< Function or data are linked at an invalid region of memory 154 FSP_ERR_BLANK_CHECK_FAILED = 504, ///< Blank check operation failed 155 156 /* Start of CAC Specific */ 157 FSP_ERR_INVALID_CAC_REF_CLOCK = 600, ///< Measured clock rate < reference clock rate 158 159 /* Start of IIRFA Specific */ 160 FSP_ERR_INVALID_RESULT = 700, ///< The result of one or more calculations was +/- infinity. 161 162 /* Start of GLCD Specific */ 163 FSP_ERR_CLOCK_GENERATION = 1000, ///< Clock cannot be specified as system clock 164 FSP_ERR_INVALID_TIMING_SETTING = 1001, ///< Invalid timing parameter 165 FSP_ERR_INVALID_LAYER_SETTING = 1002, ///< Invalid layer parameter 166 FSP_ERR_INVALID_ALIGNMENT = 1003, ///< Invalid memory alignment found 167 FSP_ERR_INVALID_GAMMA_SETTING = 1004, ///< Invalid gamma correction parameter 168 FSP_ERR_INVALID_LAYER_FORMAT = 1005, ///< Invalid color format in layer 169 FSP_ERR_INVALID_UPDATE_TIMING = 1006, ///< Invalid timing for register update 170 FSP_ERR_INVALID_CLUT_ACCESS = 1007, ///< Invalid access to CLUT entry 171 FSP_ERR_INVALID_FADE_SETTING = 1008, ///< Invalid fade-in/fade-out setting 172 FSP_ERR_INVALID_BRIGHTNESS_SETTING = 1009, ///< Invalid gamma correction parameter 173 174 /* Start of JPEG Specific */ 175 FSP_ERR_JPEG_ERR = 1100, ///< JPEG error 176 FSP_ERR_JPEG_SOI_NOT_DETECTED = 1101, ///< SOI not detected until EOI detected. 177 FSP_ERR_JPEG_SOF1_TO_SOFF_DETECTED = 1102, ///< SOF1 to SOFF detected. 178 FSP_ERR_JPEG_UNSUPPORTED_PIXEL_FORMAT = 1103, ///< Unprovided pixel format detected. 179 FSP_ERR_JPEG_SOF_ACCURACY_ERROR = 1104, ///< SOF accuracy error: other than 8 detected. 180 FSP_ERR_JPEG_DQT_ACCURACY_ERROR = 1105, ///< DQT accuracy error: other than 0 detected. 181 FSP_ERR_JPEG_COMPONENT_ERROR1 = 1106, ///< Component error 1: the number of SOF0 header components detected is other than 1, 3, or 4. 182 FSP_ERR_JPEG_COMPONENT_ERROR2 = 1107, ///< Component error 2: the number of components differs between SOF0 header and SOS. 183 FSP_ERR_JPEG_SOF0_DQT_DHT_NOT_DETECTED = 1108, ///< SOF0, DQT, and DHT not detected when SOS detected. 184 FSP_ERR_JPEG_SOS_NOT_DETECTED = 1109, ///< SOS not detected: SOS not detected until EOI detected. 185 FSP_ERR_JPEG_EOI_NOT_DETECTED = 1110, ///< EOI not detected (default) 186 FSP_ERR_JPEG_RESTART_INTERVAL_DATA_NUMBER_ERROR = 1111, ///< Restart interval data number error detected. 187 FSP_ERR_JPEG_IMAGE_SIZE_ERROR = 1112, ///< Image size error detected. 188 FSP_ERR_JPEG_LAST_MCU_DATA_NUMBER_ERROR = 1113, ///< Last MCU data number error detected. 189 FSP_ERR_JPEG_BLOCK_DATA_NUMBER_ERROR = 1114, ///< Block data number error detected. 190 FSP_ERR_JPEG_BUFFERSIZE_NOT_ENOUGH = 1115, ///< User provided buffer size not enough 191 FSP_ERR_JPEG_UNSUPPORTED_IMAGE_SIZE = 1116, ///< JPEG Image size is not aligned with MCU 192 193 /* Start of touch panel framework specific */ 194 FSP_ERR_CALIBRATE_FAILED = 1200, ///< Calibration failed 195 196 /* Start of IIRFA specific */ 197 FSP_ERR_IIRFA_ECC_1BIT = 1300, ///< 1-bit ECC error detected 198 FSP_ERR_IIRFA_ECC_2BIT = 1301, ///< 2-bit ECC error detected 199 200 /* Start of IP specific */ 201 FSP_ERR_IP_HARDWARE_NOT_PRESENT = 1400, ///< Requested IP does not exist on this device 202 FSP_ERR_IP_UNIT_NOT_PRESENT = 1401, ///< Requested unit does not exist on this device 203 FSP_ERR_IP_CHANNEL_NOT_PRESENT = 1402, ///< Requested channel does not exist on this device 204 205 /* Start of USB specific */ 206 FSP_ERR_USB_FAILED = 1500, 207 FSP_ERR_USB_BUSY = 1501, 208 FSP_ERR_USB_SIZE_SHORT = 1502, 209 FSP_ERR_USB_SIZE_OVER = 1503, 210 FSP_ERR_USB_NOT_OPEN = 1504, 211 FSP_ERR_USB_NOT_SUSPEND = 1505, 212 FSP_ERR_USB_PARAMETER = 1506, 213 214 /* Start of Message framework specific */ 215 FSP_ERR_NO_MORE_BUFFER = 2000, ///< No more buffer found in the memory block pool 216 FSP_ERR_ILLEGAL_BUFFER_ADDRESS = 2001, ///< Buffer address is out of block memory pool 217 FSP_ERR_INVALID_WORKBUFFER_SIZE = 2002, ///< Work buffer size is invalid 218 FSP_ERR_INVALID_MSG_BUFFER_SIZE = 2003, ///< Message buffer size is invalid 219 FSP_ERR_TOO_MANY_BUFFERS = 2004, ///< Number of buffer is too many 220 FSP_ERR_NO_SUBSCRIBER_FOUND = 2005, ///< No message subscriber found 221 FSP_ERR_MESSAGE_QUEUE_EMPTY = 2006, ///< No message found in the message queue 222 FSP_ERR_MESSAGE_QUEUE_FULL = 2007, ///< No room for new message in the message queue 223 FSP_ERR_ILLEGAL_SUBSCRIBER_LISTS = 2008, ///< Message subscriber lists is illegal 224 FSP_ERR_BUFFER_RELEASED = 2009, ///< Buffer has been released 225 226 /* Start of 2DG Driver specific */ 227 FSP_ERR_D2D_ERROR_INIT = 3000, ///< D/AVE 2D has an error in the initialization 228 FSP_ERR_D2D_ERROR_DEINIT = 3001, ///< D/AVE 2D has an error in the initialization 229 FSP_ERR_D2D_ERROR_RENDERING = 3002, ///< D/AVE 2D has an error in the rendering 230 FSP_ERR_D2D_ERROR_SIZE = 3003, ///< D/AVE 2D has an error in the rendering 231 232 /* Start of ETHER Driver specific */ 233 FSP_ERR_ETHER_ERROR_NO_DATA = 4000, ///< No Data in Receive buffer. 234 FSP_ERR_ETHER_ERROR_LINK = 4001, ///< ETHERC/EDMAC has an error in the Auto-negotiation 235 FSP_ERR_ETHER_ERROR_MAGIC_PACKET_MODE = 4002, ///< As a Magic Packet is being detected, and transmission/reception is not enabled 236 FSP_ERR_ETHER_ERROR_TRANSMIT_BUFFER_FULL = 4003, ///< Transmit buffer is not empty 237 FSP_ERR_ETHER_ERROR_FILTERING = 4004, ///< Detect multicast frame when multicast frame filtering enable 238 FSP_ERR_ETHER_ERROR_PHY_COMMUNICATION = 4005, ///< ETHERC/EDMAC has an error in the phy communication 239 FSP_ERR_ETHER_RECEIVE_BUFFER_ACTIVE = 4006, ///< Receive buffer is active. 240 241 /* Start of ETHER_PHY Driver specific */ 242 FSP_ERR_ETHER_PHY_ERROR_LINK = 5000, ///< PHY is not link up. 243 FSP_ERR_ETHER_PHY_NOT_READY = 5001, ///< PHY has an error in the Auto-negotiation 244 245 /* Start of BYTEQ library specific */ 246 FSP_ERR_QUEUE_FULL = 10000, ///< Queue is full, cannot queue another data 247 FSP_ERR_QUEUE_EMPTY = 10001, ///< Queue is empty, no data to dequeue 248 249 /* Start of CTSU Driver specific */ 250 FSP_ERR_CTSU_SCANNING = 6000, ///< Scanning. 251 FSP_ERR_CTSU_NOT_GET_DATA = 6001, ///< Not processed previous scan data. 252 FSP_ERR_CTSU_INCOMPLETE_TUNING = 6002, ///< Incomplete initial offset tuning. 253 FSP_ERR_CTSU_DIAG_NOT_YET = 6003, ///< Diagnosis of data collected no yet. 254 FSP_ERR_CTSU_DIAG_LDO_OVER_VOLTAGE = 6004, ///< Diagnosis of LDO over voltage failed. 255 FSP_ERR_CTSU_DIAG_CCO_HIGH = 6005, ///< Diagnosis of CCO into 19.2uA failed. 256 FSP_ERR_CTSU_DIAG_CCO_LOW = 6006, ///< Diagnosis of CCO into 2.4uA failed. 257 FSP_ERR_CTSU_DIAG_SSCG = 6007, ///< Diagnosis of SSCG frequency failed. 258 FSP_ERR_CTSU_DIAG_DAC = 6008, ///< Diagnosis of non-touch count value failed. 259 FSP_ERR_CTSU_DIAG_OUTPUT_VOLTAGE = 6009, ///< Diagnosis of LDO output voltage failed. 260 FSP_ERR_CTSU_DIAG_OVER_VOLTAGE = 6010, ///< Diagnosis of over voltage detection circuit failed. 261 FSP_ERR_CTSU_DIAG_OVER_CURRENT = 6011, ///< Diagnosis of over current detection circuit failed. 262 FSP_ERR_CTSU_DIAG_LOAD_RESISTANCE = 6012, ///< Diagnosis of LDO internal resistance value failed. 263 FSP_ERR_CTSU_DIAG_CURRENT_SOURCE = 6013, ///< Diagnosis of Current source value failed. 264 FSP_ERR_CTSU_DIAG_SENSCLK_GAIN = 6014, ///< Diagnosis of SENSCLK frequency gain failed. 265 FSP_ERR_CTSU_DIAG_SUCLK_GAIN = 6015, ///< Diagnosis of SUCLK frequency gain failed. 266 FSP_ERR_CTSU_DIAG_CLOCK_RECOVERY = 6016, ///< Diagnosis of SUCLK clock recovery function failed. 267 FSP_ERR_CTSU_DIAG_CFC_GAIN = 6017, ///< Diagnosis of CFC oscillator gain failed. 268 269 /* Start of SDMMC specific */ 270 FSP_ERR_CARD_INIT_FAILED = 40000, ///< SD card or eMMC device failed to initialize. 271 FSP_ERR_CARD_NOT_INSERTED = 40001, ///< SD card not installed. 272 FSP_ERR_DEVICE_BUSY = 40002, ///< Device is holding DAT0 low or another operation is ongoing. 273 FSP_ERR_CARD_NOT_INITIALIZED = 40004, ///< SD card was removed. 274 FSP_ERR_CARD_WRITE_PROTECTED = 40005, ///< Media is write protected. 275 FSP_ERR_TRANSFER_BUSY = 40006, ///< Transfer in progress. 276 FSP_ERR_RESPONSE = 40007, ///< Card did not respond or responded with an error. 277 278 /* Start of FX_IO specific */ 279 FSP_ERR_MEDIA_FORMAT_FAILED = 50000, ///< Media format failed. 280 FSP_ERR_MEDIA_OPEN_FAILED = 50001, ///< Media open failed. 281 282 /* Start of CAN specific */ 283 FSP_ERR_CAN_DATA_UNAVAILABLE = 60000, ///< No data available. 284 FSP_ERR_CAN_MODE_SWITCH_FAILED = 60001, ///< Switching operation modes failed. 285 FSP_ERR_CAN_INIT_FAILED = 60002, ///< Hardware initialization failed. 286 FSP_ERR_CAN_TRANSMIT_NOT_READY = 60003, ///< Transmit in progress. 287 FSP_ERR_CAN_RECEIVE_MAILBOX = 60004, ///< Mailbox is setup as a receive mailbox. 288 FSP_ERR_CAN_TRANSMIT_MAILBOX = 60005, ///< Mailbox is setup as a transmit mailbox. 289 FSP_ERR_CAN_MESSAGE_LOST = 60006, ///< Receive message has been overwritten or overrun. 290 FSP_ERR_CAN_TRANSMIT_FIFO_FULL = 60007, ///< Transmit FIFO is full. 291 292 /* Start of SF_WIFI Specific */ 293 FSP_ERR_WIFI_CONFIG_FAILED = 70000, ///< WiFi module Configuration failed. 294 FSP_ERR_WIFI_INIT_FAILED = 70001, ///< WiFi module initialization failed. 295 FSP_ERR_WIFI_TRANSMIT_FAILED = 70002, ///< Transmission failed 296 FSP_ERR_WIFI_INVALID_MODE = 70003, ///< API called when provisioned in client mode 297 FSP_ERR_WIFI_FAILED = 70004, ///< WiFi Failed. 298 FSP_ERR_WIFI_SCAN_COMPLETE = 70005, ///< Wifi scan has completed. 299 FSP_ERR_WIFI_AP_NOT_CONNECTED = 70006, ///< WiFi module is not connected to access point 300 301 /* Start of SF_CELLULAR Specific */ 302 FSP_ERR_CELLULAR_CONFIG_FAILED = 80000, ///< Cellular module Configuration failed. 303 FSP_ERR_CELLULAR_INIT_FAILED = 80001, ///< Cellular module initialization failed. 304 FSP_ERR_CELLULAR_TRANSMIT_FAILED = 80002, ///< Transmission failed 305 FSP_ERR_CELLULAR_FW_UPTODATE = 80003, ///< Firmware is uptodate 306 FSP_ERR_CELLULAR_FW_UPGRADE_FAILED = 80004, ///< Firmware upgrade failed 307 FSP_ERR_CELLULAR_FAILED = 80005, ///< Cellular Failed. 308 FSP_ERR_CELLULAR_INVALID_STATE = 80006, ///< API Called in invalid state. 309 FSP_ERR_CELLULAR_REGISTRATION_FAILED = 80007, ///< Cellular Network registration failed 310 311 /* Start of SF_BLE specific */ 312 FSP_ERR_BLE_FAILED = 90001, ///< BLE operation failed 313 FSP_ERR_BLE_INIT_FAILED = 90002, ///< BLE device initialization failed 314 FSP_ERR_BLE_CONFIG_FAILED = 90003, ///< BLE device configuration failed 315 FSP_ERR_BLE_PRF_ALREADY_ENABLED = 90004, ///< BLE device Profile already enabled 316 FSP_ERR_BLE_PRF_NOT_ENABLED = 90005, ///< BLE device not enabled 317 318 /* Start of SF_BLE_ABS specific */ 319 FSP_ERR_BLE_ABS_INVALID_OPERATION = 91001, ///< Invalid operation is executed. 320 FSP_ERR_BLE_ABS_NOT_FOUND = 91002, ///< Valid data or free space is not found. 321 322 /* Start of Crypto specific (0x10000) @note Refer to sf_cryoto_err.h for Crypto error code. */ 323 FSP_ERR_CRYPTO_CONTINUE = 0x10000, ///< Continue executing function 324 FSP_ERR_CRYPTO_SCE_RESOURCE_CONFLICT = 0x10001, ///< Hardware resource busy 325 FSP_ERR_CRYPTO_SCE_FAIL = 0x10002, ///< Internal I/O buffer is not empty 326 FSP_ERR_CRYPTO_SCE_HRK_INVALID_INDEX = 0x10003, ///< Invalid index 327 FSP_ERR_CRYPTO_SCE_RETRY = 0x10004, ///< Retry 328 FSP_ERR_CRYPTO_SCE_VERIFY_FAIL = 0x10005, ///< Verify is failed 329 FSP_ERR_CRYPTO_SCE_ALREADY_OPEN = 0x10006, ///< HW SCE module is already opened 330 FSP_ERR_CRYPTO_NOT_OPEN = 0x10007, ///< Hardware module is not initialized 331 FSP_ERR_CRYPTO_UNKNOWN = 0x10008, ///< Some unknown error occurred 332 FSP_ERR_CRYPTO_NULL_POINTER = 0x10009, ///< Null pointer input as a parameter 333 FSP_ERR_CRYPTO_NOT_IMPLEMENTED = 0x1000a, ///< Algorithm/size not implemented 334 FSP_ERR_CRYPTO_RNG_INVALID_PARAM = 0x1000b, ///< An invalid parameter is specified 335 FSP_ERR_CRYPTO_RNG_FATAL_ERROR = 0x1000c, ///< A fatal error occurred 336 FSP_ERR_CRYPTO_INVALID_SIZE = 0x1000d, ///< Size specified is invalid 337 FSP_ERR_CRYPTO_INVALID_STATE = 0x1000e, ///< Function used in an valid state 338 FSP_ERR_CRYPTO_ALREADY_OPEN = 0x1000f, ///< control block is already opened 339 FSP_ERR_CRYPTO_INSTALL_KEY_FAILED = 0x10010, ///< Specified input key is invalid. 340 FSP_ERR_CRYPTO_AUTHENTICATION_FAILED = 0x10011, ///< Authentication failed 341 FSP_ERR_CRYPTO_SCE_KEY_SET_FAIL = 0x10012, ///< Failure to Init Cipher 342 FSP_ERR_CRYPTO_SCE_AUTHENTICATION = 0x10013, ///< Authentication failed 343 FSP_ERR_CRYPTO_SCE_PARAMETER = 0x10014, ///< Input date is illegal. 344 FSP_ERR_CRYPTO_SCE_PROHIBIT_FUNCTION = 0x10015, ///< An invalid function call occurred. 345 346 /* Start of SF_CRYPTO specific */ 347 FSP_ERR_CRYPTO_COMMON_NOT_OPENED = 0x20000, ///< Crypto Framework Common is not opened 348 FSP_ERR_CRYPTO_HAL_ERROR = 0x20001, ///< Cryoto HAL module returned an error 349 FSP_ERR_CRYPTO_KEY_BUF_NOT_ENOUGH = 0x20002, ///< Key buffer size is not enough to generate a key 350 FSP_ERR_CRYPTO_BUF_OVERFLOW = 0x20003, ///< Attempt to write data larger than what the buffer can hold 351 FSP_ERR_CRYPTO_INVALID_OPERATION_MODE = 0x20004, ///< Invalid operation mode. 352 FSP_ERR_MESSAGE_TOO_LONG = 0x20005, ///< Message for RSA encryption is too long. 353 FSP_ERR_RSA_DECRYPTION_ERROR = 0x20006, ///< RSA Decryption error. 354 355 /** @note SF_CRYPTO APIs may return an error code starting from 0x10000 which is of Crypto module. 356 * Refer to sf_cryoto_err.h for Crypto error codes. 357 */ 358 359 /* Start of Sensor specific */ 360 FSP_ERR_SENSOR_INVALID_DATA = 0x30000, ///< Data is invalid. 361 FSP_ERR_SENSOR_IN_STABILIZATION = 0x30001, ///< Sensor is stabilizing. 362 FSP_ERR_SENSOR_MEASUREMENT_NOT_FINISHED = 0x30002, ///< Measurement is not finished. 363 364 /* Start of COMMS specific */ 365 FSP_ERR_COMMS_BUS_NOT_OPEN = 0x40000, ///< Bus is not open. 366 } fsp_err_t; 367 368 /** @} */ 369 370 /*********************************************************************************************************************** 371 * Function prototypes 372 **********************************************************************************************************************/ 373 374 /* Common macro for FSP header files. There is also a corresponding FSP_HEADER macro at the top of this file. */ 375 FSP_FOOTER 376 377 #endif 378