1 /* 2 * Copyright (c) 2018, Nordic Semiconductor ASA 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #include <nrfx.h> 8 #include <zephyr/kernel.h> 9 #include <soc/nrfx_coredep.h> 10 nrfx_isr(const void * irq_handler)11void nrfx_isr(const void *irq_handler) 12 { 13 ((nrfx_irq_handler_t)irq_handler)(); 14 } 15 nrfx_busy_wait(uint32_t usec_to_wait)16void nrfx_busy_wait(uint32_t usec_to_wait) 17 { 18 if (IS_ENABLED(CONFIG_SYS_CLOCK_EXISTS)) { 19 k_busy_wait(usec_to_wait); 20 } else { 21 nrfx_coredep_delay_us(usec_to_wait); 22 } 23 } 24 nrfx_error_string_get(nrfx_err_t code)25char const *nrfx_error_string_get(nrfx_err_t code) 26 { 27 #define NRFX_ERROR_STRING_CASE(code) case code: return #code 28 switch (code) { 29 NRFX_ERROR_STRING_CASE(NRFX_SUCCESS); 30 NRFX_ERROR_STRING_CASE(NRFX_ERROR_INTERNAL); 31 NRFX_ERROR_STRING_CASE(NRFX_ERROR_NO_MEM); 32 NRFX_ERROR_STRING_CASE(NRFX_ERROR_NOT_SUPPORTED); 33 NRFX_ERROR_STRING_CASE(NRFX_ERROR_INVALID_PARAM); 34 NRFX_ERROR_STRING_CASE(NRFX_ERROR_INVALID_STATE); 35 NRFX_ERROR_STRING_CASE(NRFX_ERROR_INVALID_LENGTH); 36 NRFX_ERROR_STRING_CASE(NRFX_ERROR_TIMEOUT); 37 NRFX_ERROR_STRING_CASE(NRFX_ERROR_FORBIDDEN); 38 NRFX_ERROR_STRING_CASE(NRFX_ERROR_NULL); 39 NRFX_ERROR_STRING_CASE(NRFX_ERROR_INVALID_ADDR); 40 NRFX_ERROR_STRING_CASE(NRFX_ERROR_BUSY); 41 NRFX_ERROR_STRING_CASE(NRFX_ERROR_ALREADY_INITIALIZED); 42 NRFX_ERROR_STRING_CASE(NRFX_ERROR_DRV_TWI_ERR_OVERRUN); 43 NRFX_ERROR_STRING_CASE(NRFX_ERROR_DRV_TWI_ERR_ANACK); 44 NRFX_ERROR_STRING_CASE(NRFX_ERROR_DRV_TWI_ERR_DNACK); 45 default: return "unknown"; 46 } 47 } 48