Line data Source code
1 0 : /*
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 1 : __syscall void nrf_qspi_nor_xip_enable(const struct device *dev, bool enable);
33 :
34 : #ifdef __cplusplus
35 : }
36 : #endif
37 :
38 : #include <zephyr/syscalls/nrf_qspi_nor.h>
39 :
40 : #endif /* __ZEPHYR_INCLUDE_DRIVERS_FLASH_NRF_QSPI_NOR_H__ */
|