1 /* 2 * Copyright (c) 2022 Nordic Semiconductor ASA 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #ifndef __ZEPHYR_INCLUDE_DRIVERS_FLASH_NRF_QSPI_NOR_H__ 8 #define __ZEPHYR_INCLUDE_DRIVERS_FLASH_NRF_QSPI_NOR_H__ 9 10 #ifdef __cplusplus 11 extern "C" { 12 #endif 13 14 /** 15 * @brief Specifies whether XIP (execute in place) operation should be possible 16 * 17 * Normally, the driver deactivates the QSPI peripheral for periods when 18 * no QSPI operation is performed. This is done to avoid increased current 19 * consumption when the peripheral is idle. For the same reason, the base 20 * clock on nRF53 Series SoCs (HFCLK192M) is configured for those periods 21 * with the default /4 divider that cannot be used otherwise. However, when 22 * XIP accesses are used, the driver must be prevented from doing both these 23 * things as that would make XIP to fail. Hence, the application should use 24 * this function to signal to the driver that XIP accesses are expected to 25 * occur so that it keeps the QSPI peripheral operable. When XIP operation 26 * is no longer needed, it should be disabled with this function. 27 * 28 * @param dev flash device 29 * @param enable if true, the driver enables XIP operation and suppresses 30 * idle actions that would make XIP to fail 31 */ 32 __syscall void nrf_qspi_nor_xip_enable(const struct device *dev, bool enable); 33 34 #ifdef __cplusplus 35 } 36 #endif 37 38 #include <syscalls/nrf_qspi_nor.h> 39 40 #endif /* __ZEPHYR_INCLUDE_DRIVERS_FLASH_NRF_QSPI_NOR_H__ */ 41