1 /*
2  * Copyright (c) 2023 Nordic Semiconductor ASA
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 #ifndef _NRF_HW_MODEL_NHW_NVMC_H
7 #define _NRF_HW_MODEL_NHW_NVMC_H
8 
9 #include "bs_types.h"
10 
11 #ifdef __cplusplus
12 extern "C"{
13 #endif
14 
15 void nhw_nvmc_regw_sideeffects_ERASEPAGE(uint inst);
16 void nhw_nvmc_regw_sideeffects_ERASEPCR0(uint inst);
17 void nhw_nvmc_regw_sideeffects_ERASEUICR(uint inst);
18 void nhw_nvmc_regw_sideeffects_ERASEALL(uint inst);
19 void nhw_nvmc_regw_sideeffects_ERASEPAGEPARTIAL(uint inst);
20 void* nrfhw_nmvc_flash_get_base_address(uint inst);
21 bs_time_t nhw_nvmc_time_to_ready(uint inst);
22 
23 void nhw_nvmc_erase_page(uint inst, uint32_t address);
24 void nhw_nvmc_erase_page_partial(uint inst, uint32_t address);
25 
26 void nhw_nmvc_write_word(uint32_t address, uint32_t value);
27 uint32_t nhw_nmvc_read_word(uint32_t address);
28 uint16_t nhw_nmvc_read_halfword(uint32_t address);
29 uint8_t nhw_nmvc_read_byte(uint32_t address);
30 void nhw_nmvc_read_buffer(void *dest, uint32_t address, size_t size);
31 
32 #ifdef __cplusplus
33 }
34 #endif
35 
36 #endif /* _NRF_HW_MODEL_NHW_NVMC_H */
37