| /* |
| * Copyright (c) 2018, Nordic Semiconductor ASA |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #include <nrfx.h> |
| #include <zephyr/kernel.h> |
| #include <soc/nrfx_coredep.h> |
| |
| void nrfx_isr(const void *irq_handler) |
| { |
| ((nrfx_irq_handler_t)irq_handler)(); |
| } |
| |
| void nrfx_busy_wait(uint32_t usec_to_wait) |
| { |
| if (IS_ENABLED(CONFIG_SYS_CLOCK_EXISTS)) { |
| k_busy_wait(usec_to_wait); |
| } else { |
| nrfx_coredep_delay_us(usec_to_wait); |
| } |
| } |
| |
| char const *nrfx_error_string_get(nrfx_err_t code) |
| { |
| #define NRFX_ERROR_STRING_CASE(code) case code: return #code |
| switch (code) { |
| NRFX_ERROR_STRING_CASE(NRFX_SUCCESS); |
| NRFX_ERROR_STRING_CASE(NRFX_ERROR_INTERNAL); |
| NRFX_ERROR_STRING_CASE(NRFX_ERROR_NO_MEM); |
| NRFX_ERROR_STRING_CASE(NRFX_ERROR_NOT_SUPPORTED); |
| NRFX_ERROR_STRING_CASE(NRFX_ERROR_INVALID_PARAM); |
| NRFX_ERROR_STRING_CASE(NRFX_ERROR_INVALID_STATE); |
| NRFX_ERROR_STRING_CASE(NRFX_ERROR_INVALID_LENGTH); |
| NRFX_ERROR_STRING_CASE(NRFX_ERROR_TIMEOUT); |
| NRFX_ERROR_STRING_CASE(NRFX_ERROR_FORBIDDEN); |
| NRFX_ERROR_STRING_CASE(NRFX_ERROR_NULL); |
| NRFX_ERROR_STRING_CASE(NRFX_ERROR_INVALID_ADDR); |
| NRFX_ERROR_STRING_CASE(NRFX_ERROR_BUSY); |
| NRFX_ERROR_STRING_CASE(NRFX_ERROR_ALREADY_INITIALIZED); |
| NRFX_ERROR_STRING_CASE(NRFX_ERROR_DRV_TWI_ERR_OVERRUN); |
| NRFX_ERROR_STRING_CASE(NRFX_ERROR_DRV_TWI_ERR_ANACK); |
| NRFX_ERROR_STRING_CASE(NRFX_ERROR_DRV_TWI_ERR_DNACK); |
| default: return "unknown"; |
| } |
| } |