Branch data Line data Source code
1 : : /* 2 : : * Copyright (c) 2020 - 2022, Nordic Semiconductor ASA 3 : : * All rights reserved. 4 : : * 5 : : * SPDX-License-Identifier: BSD-3-Clause 6 : : * 7 : : * Redistribution and use in source and binary forms, with or without 8 : : * modification, are permitted provided that the following conditions are met: 9 : : * 10 : : * 1. Redistributions of source code must retain the above copyright notice, this 11 : : * list of conditions and the following disclaimer. 12 : : * 13 : : * 2. Redistributions in binary form must reproduce the above copyright 14 : : * notice, this list of conditions and the following disclaimer in the 15 : : * documentation and/or other materials provided with the distribution. 16 : : * 17 : : * 3. Neither the name of the copyright holder nor the names of its 18 : : * contributors may be used to endorse or promote products derived from this 19 : : * software without specific prior written permission. 20 : : * 21 : : * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 : : * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 : : * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 : : * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 25 : : * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 26 : : * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 27 : : * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28 : : * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 : : * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30 : : * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 : : * POSSIBILITY OF SUCH DAMAGE. 32 : : */ 33 : : 34 : : #ifndef NRF_COMMON_H__ 35 : : #define NRF_COMMON_H__ 36 : : 37 : : #ifdef __cplusplus 38 : : extern "C" { 39 : : #endif 40 : : 41 : : #ifndef NRFX_EVENT_READBACK_ENABLED 42 : : #define NRFX_EVENT_READBACK_ENABLED 1 43 : : #endif 44 : : 45 : : #if defined(NRFX_CLZ) 46 : : #define NRF_CLZ(value) NRFX_CLZ(value) 47 : : #else 48 : : #define NRF_CLZ(value) __CLZ(value) 49 : : #endif 50 : : 51 : : #if defined(NRFX_CTZ) 52 : : #define NRF_CTZ(value) NRFX_CTZ(value) 53 : : #else 54 : : #define NRF_CTZ(value) __CLZ(__RBIT(value)) 55 : : #endif 56 : : 57 : : #ifndef NRF_DECLARE_ONLY 58 : : 59 : 382318 : NRF_STATIC_INLINE void nrf_event_readback(void * p_event_reg) 60 : : { 61 : : #if NRFX_CHECK(NRFX_EVENT_READBACK_ENABLED) && !defined(NRF51) 62 : 382318 : (void)*((volatile uint32_t *)(p_event_reg)); 63 : : #else 64 : : (void)p_event_reg; 65 : : #endif 66 : 382318 : } 67 : : 68 : : #endif // NRF_DECLARE_ONLY 69 : : 70 : : #ifdef __cplusplus 71 : : } 72 : : #endif 73 : : 74 : : #endif // NRF_COMMON_H__