16#define SOFTPERIPHERAL_QSPI (1)
17#if SOFTPERIPHERAL_QSPI
19#define NRF_QSPI2_Type NRF_SP_QSPI_Type
21#define NRF_QSPI2_Type NRF_QSPI_Type
73#define NRF_QSPI2_CORE_CTRLR0_DEFAULT_CONF \
74 {.dfs = QSPI_CORE_CORE_CTRLR0_DFS_DFS08BIT, \
75 .frf = QSPI_CORE_CORE_CTRLR0_FRF_SPI, \
76 .scph = QSPI_CORE_CORE_CTRLR0_SCPH_MIDDLEBIT, \
77 .scpol = QSPI_CORE_CORE_CTRLR0_SCPOL_INACTIVEHIGH, \
78 .tmod = QSPI_CORE_CORE_CTRLR0_TMOD_TXONLY, \
79 .slvoe = QSPI_CORE_CORE_CTRLR0_SLVOE_ENABLED, \
80 .srl = QSPI_CORE_CORE_CTRLR0_SRL_NORMALMODE, \
81 .sste = QSPI_CORE_CORE_CTRLR0_SSTE_TOGGLEDISABLE, \
82 .cfs = QSPI_CORE_CORE_CTRLR0_CFS_SIZE08BIT, \
83 .spifrf = QSPI_CORE_CORE_CTRLR0_SPIFRF_SPISTANDARD, \
84 .hyperbusen = QSPI_CORE_CORE_CTRLR0_SPIHYPERBUSEN_DISABLE, \
85 .spidwsen = QSPI_CORE_CORE_CTRLR0_SPIDWSEN_DISABLE, \
86 .clkloopen = QSPI_CORE_CORE_CTRLR0_CLKLOOPEN_DISABLE, \
87 .sqspiismst = QSPI_CORE_CORE_CTRLR0_SQSPIISMST_CONTROLLER}
187#ifndef NRF_DECLARE_ONLY
191 *((
volatile uint32_t *)((uint8_t *)p_reg + (uint32_t)task)) = 0x1UL;
200 return (
bool)p_reg->ENABLE;
205 *((
volatile uint32_t *)((uint8_t *)p_reg + (uint32_t)event)) = 0x0UL;
206 nrf_event_readback((uint8_t *)p_reg + (uint32_t)event);
211 return nrf_event_check(p_reg, event);
217 return nrf_task_event_address_get(p_reg, event);
236 p_reg->CORE.CORE.DR[0] = val;
241 p_reg->CORE.CORE.DR[idx] = val;
246 return p_reg->CORE.CORE.DR[idx];
251 p_reg->CORE.CORE.BAUDR =
263 p_reg->CORE.CORE.CTRLR1 =
273 p_reg->CORE.CORE.RXSAMPLEDELAY = sclk;
278 p_reg->INTEN = p_reg->INTEN | mask;
283 return p_reg->INTENSET & mask;
288 p_reg->INTENCLR = mask;
293 p_reg->FORMAT.BPP = (uint32_t)val;
298 p_reg->FORMAT.DFS = (uint32_t)val;
303 p_reg->FORMAT.CILEN = (uint32_t)val;
314 p_reg->FORMAT.PIXELS = val;
320 p_reg->CORE.CORE.CTRLR0 =
369 p_reg->CORE.CORE.SPICTRLR0 =
437 p_reg->SPSYNC.AUX[idx] = val;
442 return p_reg->SPSYNC.AUX[idx];
NRF_STATIC_INLINE uint32_t nrf_qspi2_core_dr_x_get(NRF_SP_QSPI_Type *p_reg, uint8_t idx)
Definition nrf_qspi2.h:244
NRF_STATIC_INLINE void nrf_qspi2_handshake_set(NRF_SP_QSPI_Type *p_reg, uint32_t val, uint8_t idx)
Definition nrf_qspi2.h:435
NRF_STATIC_INLINE void nrf_qspi2_core_enable(NRF_SP_QSPI_Type *p_reg)
Definition nrf_qspi2.h:220
NRF_STATIC_INLINE void nrf_qspi2_event_clear(NRF_SP_QSPI_Type *p_reg, nrf_qspi2_event_t event)
Definition nrf_qspi2.h:203
nrf_qspi2_task_t
QSPI tasks.
Definition nrf_qspi2.h:32
@ NRF_QSPI2_TASK_START
Definition nrf_qspi2.h:33
@ NRF_QSPI2_TASK_RESET
Definition nrf_qspi2.h:34
NRF_STATIC_INLINE void nrf_qspi2_format_bpp(NRF_SP_QSPI_Type *p_reg, uint8_t val)
Definition nrf_qspi2.h:291
NRF_STATIC_INLINE void nrf_qspi2_core_baudr(NRF_SP_QSPI_Type *p_reg, uint16_t sckdiv)
Definition nrf_qspi2.h:249
NRF_STATIC_INLINE void nrf_qspi2_int_disable(NRF_SP_QSPI_Type *p_reg, uint32_t mask)
Definition nrf_qspi2.h:286
NRF_STATIC_INLINE void nrf_qspi2_core_spictrlr0_set(NRF_SP_QSPI_Type *p_reg, nrf_qspi2_core_spictrlr0_t conf)
Definition nrf_qspi2.h:366
NRF_STATIC_INLINE void nrf_qspi2_core_dr_x(NRF_SP_QSPI_Type *p_reg, uint32_t val, uint8_t idx)
Definition nrf_qspi2.h:239
NRF_STATIC_INLINE uint32_t nrf_qspi2_event_address_get(NRF_SP_QSPI_Type const *p_reg, nrf_qspi2_event_t event)
Definition nrf_qspi2.h:214
NRF_STATIC_INLINE void nrf_qspi2_core_ctrlr1_ndf(NRF_SP_QSPI_Type *p_reg, uint16_t ndf)
Definition nrf_qspi2.h:261
NRF_STATIC_INLINE void nrf_qspi2_format_pixels(NRF_SP_QSPI_Type *p_reg, uint32_t val)
Definition nrf_qspi2.h:312
NRF_STATIC_INLINE void nrf_qspi2_core_rx_sample_delay(NRF_SP_QSPI_Type *p_reg, uint8_t sclk)
Definition nrf_qspi2.h:271
NRF_STATIC_INLINE void nrf_qspi2_format_cilen(NRF_SP_QSPI_Type *p_reg, uint8_t val)
Definition nrf_qspi2.h:301
nrf_qspi2_event_t
QSPI events.
Definition nrf_qspi2.h:40
@ NRF_QSPI2_EVENT_DMA_DONE
Definition nrf_qspi2.h:41
@ NRF_QSPI2_EVENT_DMA_ABORTED
Definition nrf_qspi2.h:43
@ NRF_QSPI2_EVENT_DMA_DONEJOB
Definition nrf_qspi2.h:42
NRF_STATIC_INLINE bool nrf_qspi2_enable_check(NRF_SP_QSPI_Type const *p_reg)
Definition nrf_qspi2.h:198
NRF_STATIC_INLINE uint32_t nrf_qspi2_handshake_get(NRF_SP_QSPI_Type const *p_reg, uint8_t idx)
Definition nrf_qspi2.h:440
NRF_STATIC_INLINE void nrf_qspi2_enable(NRF_SP_QSPI_Type *p_reg)
Definition nrf_qspi2.h:194
NRF_STATIC_INLINE void nrf_qspi2_core_dr_0(NRF_SP_QSPI_Type *p_reg, uint32_t val)
Definition nrf_qspi2.h:234
NRF_STATIC_INLINE void nrf_qspi2_task_trigger(NRF_SP_QSPI_Type *p_reg, nrf_qspi2_task_t task)
Definition nrf_qspi2.h:189
NRF_STATIC_INLINE void nrf_qspi2_format_dfs(NRF_SP_QSPI_Type *p_reg, uint8_t val)
Definition nrf_qspi2.h:296
NRF_STATIC_INLINE void nrf_qspi2_format_bitorder(NRF_SP_QSPI_Type *p_reg, int cmd_val, int data_val)
Definition nrf_qspi2.h:306
NRF_STATIC_INLINE void nrf_qspi2_int_enable(NRF_SP_QSPI_Type *p_reg, uint32_t mask)
Definition nrf_qspi2.h:276
NRF_STATIC_INLINE void nrf_qspi2_disable(NRF_SP_QSPI_Type *p_reg)
Definition nrf_qspi2.h:196
NRF_STATIC_INLINE bool nrf_qspi2_event_check(NRF_SP_QSPI_Type const *p_reg, nrf_qspi2_event_t event)
Definition nrf_qspi2.h:209
NRF_STATIC_INLINE void nrf_qspi2_core_ctrlr0_set(NRF_SP_QSPI_Type *p_reg, nrf_qspi2_core_ctrlr0_t conf)
Definition nrf_qspi2.h:317
NRF_STATIC_INLINE uint32_t nrf_qspi2_int_enable_check(NRF_SP_QSPI_Type const *p_reg, uint32_t mask)
Definition nrf_qspi2.h:281
NRF_STATIC_INLINE void nrf_qspi2_core_disable(NRF_SP_QSPI_Type *p_reg)
Definition nrf_qspi2.h:227
#define NRF_QSPI2_Type
Definition nrf_qspi2.h:19
#define QSPI_CORE_CORE_SPICTRLR0_ADDRL_Pos
Definition nrf_sp_qspi.h:2167
#define QSPI_CORE_CORE_SPICTRLR0_RSVDSPICTRLR022_Msk
Definition nrf_sp_qspi.h:2315
#define QSPI_CORE_CORE_SPICTRLR0_XIPINSTEN_Msk
Definition nrf_sp_qspi.h:2298
#define QSPI_CORE_CORE_CTRLR0_RSVDCTRLR05_Pos
Definition nrf_sp_qspi.h:820
#define QSPI_CORE_CORE_CTRLR1_NDF_Msk
Definition nrf_sp_qspi.h:1081
#define QSPI_CORE_CORE_CTRLR0_SPIDWSEN_Msk
Definition nrf_sp_qspi.h:1027
#define QSPI_CORE_CORE_CTRLR0_CFS_Msk
Definition nrf_sp_qspi.h:943
#define QSPI_CORE_CORE_SPICTRLR0_RSVDSPICTRLR0_Pos
Definition nrf_sp_qspi.h:2381
#define QSPI_CORE_CORE_CTRLR0_RSVDCTRLR02730_Pos
Definition nrf_sp_qspi.h:1055
#define QSPI_CORE_CORE_CTRLR0_SRL_Pos
Definition nrf_sp_qspi.h:903
#define QSPI_CORE_CORE_SPICTRLR0_SPIRXDSSIGEN_Msk
Definition nrf_sp_qspi.h:2335
#define QSPI_CORE_CORE_SPICTRLR0_INSTL_Pos
Definition nrf_sp_qspi.h:2225
#define QSPI_CORE_CORE_SPICTRLR0_XIPMBL_Pos
Definition nrf_sp_qspi.h:2342
#define QSPI_CORE_CORE_SPICTRLR0_SQSPICXIPCONTXFEREN_Pos
Definition nrf_sp_qspi.h:2306
#define QSPI_CORE_CORE_SPICTRLR0_INSTL_Msk
Definition nrf_sp_qspi.h:2227
#define QSPI_CORE_CORE_CTRLR1_NDF_Pos
Definition nrf_sp_qspi.h:1080
#define QSPI_CORE_CORE_CTRLR0_SPIHYPERBUSEN_Pos
Definition nrf_sp_qspi.h:1008
#define QSPI_CORE_CORE_SQSPIENR_SQSPICEN_Msk
Definition nrf_sp_qspi.h:1098
#define QSPI_CORE_CORE_SPICTRLR0_RSVDSPICTRLR022_Pos
Definition nrf_sp_qspi.h:2313
#define QSPI_CORE_CORE_SPICTRLR0_RXDSVLEN_Msk
Definition nrf_sp_qspi.h:2322
#define QSPI_CORE_CORE_SPICTRLR0_SPIDDREN_Msk
Definition nrf_sp_qspi.h:2261
#define QSPI_CORE_CORE_SPICTRLR0_SPIRXDSEN_Msk
Definition nrf_sp_qspi.h:2277
#define QSPI_CORE_CORE_SPICTRLR0_TRANSTYPE_Msk
Definition nrf_sp_qspi.h:2145
#define QSPI_CORE_CORE_SPICTRLR0_XIPPREFETCHEN_Pos
Definition nrf_sp_qspi.h:2367
#define QSPI_CORE_CORE_SPICTRLR0_TRANSTYPE_Pos
Definition nrf_sp_qspi.h:2143
#define QSPI_CORE_CORE_CTRLR0_RSVDCTRLR02021_Pos
Definition nrf_sp_qspi.h:983
#define QSPI_CORE_CORE_CTRLR0_SSTE_Msk
Definition nrf_sp_qspi.h:919
#define QSPI_CORE_CORE_SPICTRLR0_XIPDFSHC_Msk
Definition nrf_sp_qspi.h:2288
#define QSPI_CORE_CORE_CTRLR0_SRL_Msk
Definition nrf_sp_qspi.h:905
#define QSPI_CORE_CORE_SPICTRLR0_SPIDMEN_Msk
Definition nrf_sp_qspi.h:2329
#define QSPI_CORE_CORE_SPICTRLR0_SPIDMEN_Pos
Definition nrf_sp_qspi.h:2327
#define QSPI_CORE_CORE_SPICTRLR0_RSVDSPICTRLR0_Msk
Definition nrf_sp_qspi.h:2383
#define QSPI_CORE_CORE_CTRLR0_DFS_Pos
Definition nrf_sp_qspi.h:753
#define QSPI_CORE_CORE_SPICTRLR0_XIPINSTEN_Pos
Definition nrf_sp_qspi.h:2296
#define QSPI_CORE_CORE_CTRLR0_SPIFRF_Msk
Definition nrf_sp_qspi.h:992
#define QSPI_CORE_CORE_SPICTRLR0_RSVDSPICTRLR028_Msk
Definition nrf_sp_qspi.h:2362
#define QSPI_CORE_CORE_BAUDR_RSVDBAUDR0_Pos
Definition nrf_sp_qspi.h:1181
#define QSPI_CORE_CORE_CTRLR0_SPIHYPERBUSEN_Msk
Definition nrf_sp_qspi.h:1010
#define QSPI_CORE_CORE_SPICTRLR0_RXDSVLEN_Pos
Definition nrf_sp_qspi.h:2320
#define QSPI_CORE_CORE_SQSPIENR_SQSPICEN_Pos
Definition nrf_sp_qspi.h:1096
#define QSPI_CORE_CORE_CTRLR0_SPIFRF_Pos
Definition nrf_sp_qspi.h:990
#define QSPI_CORE_CORE_SPICTRLR0_RSVDSPICTRLR010_Pos
Definition nrf_sp_qspi.h:2243
#define QSPI_CORE_CORE_SPICTRLR0_SPIDDREN_Pos
Definition nrf_sp_qspi.h:2259
#define QSPI_CORE_CORE_SQSPIENR_SQSPICEN_DISABLE
Definition nrf_sp_qspi.h:1104
#define QSPI_CORE_CORE_CTRLR0_SQSPIISMST_Msk
Definition nrf_sp_qspi.h:1064
#define QSPI_CORE_CORE_SPICTRLR0_SPIRXDSSIGEN_Pos
Definition nrf_sp_qspi.h:2333
#define QSPI_CORE_CORE_SQSPIENR_SQSPICEN_ENABLED
Definition nrf_sp_qspi.h:1106
#define QSPI_CORE_CORE_CTRLR0_TMOD_Pos
Definition nrf_sp_qspi.h:870
#define QSPI_CORE_CORE_CTRLR1_RSVDCTRLR1_Msk
Definition nrf_sp_qspi.h:1087
#define QSPI_CORE_CORE_BAUDR_SCKDV_Pos
Definition nrf_sp_qspi.h:1187
#define QSPI_CORE_CORE_CTRLR0_SLVOE_Msk
Definition nrf_sp_qspi.h:891
#define QSPI_CORE_CORE_CTRLR0_SPIDWSEN_Pos
Definition nrf_sp_qspi.h:1025
#define QSPI_CORE_CORE_BAUDR_RSVDBAUDR0_Msk
Definition nrf_sp_qspi.h:1183
#define QSPI_CORE_CORE_SPICTRLR0_XIPPREFETCHEN_Msk
Definition nrf_sp_qspi.h:2369
#define QSPI_CORE_CORE_CTRLR0_CLKLOOPEN_Pos
Definition nrf_sp_qspi.h:1041
#define QSPI_CORE_CORE_SPICTRLR0_INSTDDREN_Pos
Definition nrf_sp_qspi.h:2266
#define QSPI_CORE_CORE_CTRLR0_RSVDCTRLR02021_Msk
Definition nrf_sp_qspi.h:985
#define QSPI_CORE_CORE_SPICTRLR0_CLKSTRETCHEN_Pos
Definition nrf_sp_qspi.h:2374
#define QSPI_CORE_CORE_CTRLR0_SCPOL_Msk
Definition nrf_sp_qspi.h:858
#define QSPI_CORE_CORE_SPICTRLR0_RSVDSPICTRLR010_Msk
Definition nrf_sp_qspi.h:2245
#define QSPI_CORE_CORE_CTRLR1_RSVDCTRLR1_Pos
Definition nrf_sp_qspi.h:1085
#define QSPI_CORE_CORE_CTRLR0_FRF_Pos
Definition nrf_sp_qspi.h:827
#define QSPI_CORE_CORE_CTRLR0_RSVDCTRLR015_Msk
Definition nrf_sp_qspi.h:936
#define QSPI_CORE_CORE_CTRLR0_SCPH_Pos
Definition nrf_sp_qspi.h:842
#define QSPI_CORE_CORE_SPICTRLR0_SQSPICXIPCONTXFEREN_Msk
Definition nrf_sp_qspi.h:2308
#define QSPI_CORE_CORE_SPICTRLR0_XIPMDBITEN_Pos
Definition nrf_sp_qspi.h:2218
#define QSPI_CORE_CORE_SPICTRLR0_ADDRL_Msk
Definition nrf_sp_qspi.h:2169
#define QSPI_CORE_CORE_SPICTRLR0_WAITCYCLES_Pos
Definition nrf_sp_qspi.h:2252
#define QSPI_CORE_CORE_SPICTRLR0_RSVDSPICTRLR06_Msk
Definition nrf_sp_qspi.h:2211
#define QSPI_CORE_CORE_CTRLR0_SQSPIISMST_Pos
Definition nrf_sp_qspi.h:1062
#define QSPI_CORE_CORE_SPICTRLR0_SPIRXDSEN_Pos
Definition nrf_sp_qspi.h:2275
#define QSPI_CORE_CORE_BAUDR_RSVDBAUDR1631_Msk
Definition nrf_sp_qspi.h:1195
#define QSPI_CORE_CORE_CTRLR0_SCPH_Msk
Definition nrf_sp_qspi.h:844
#define QSPI_CORE_CORE_CTRLR0_SCPOL_Pos
Definition nrf_sp_qspi.h:856
#define QSPI_FORMAT_BITORDER_DATA_Pos
Definition nrf_sp_qspi.h:505
#define QSPI_CORE_CORE_SPICTRLR0_RSVDSPICTRLR028_Pos
Definition nrf_sp_qspi.h:2360
#define QSPI_CORE_CORE_CTRLR0_FRF_Msk
Definition nrf_sp_qspi.h:828
#define QSPI_CORE_CORE_CTRLR0_CLKLOOPEN_Msk
Definition nrf_sp_qspi.h:1043
#define QSPI_CORE_CORE_BAUDR_RSVDBAUDR1631_Pos
Definition nrf_sp_qspi.h:1193
#define QSPI_CORE_CORE_CTRLR0_CFS_Pos
Definition nrf_sp_qspi.h:941
#define QSPI_CORE_CORE_CTRLR0_RSVDCTRLR02730_Msk
Definition nrf_sp_qspi.h:1057
#define QSPI_CORE_CORE_SPICTRLR0_XIPMDBITEN_Msk
Definition nrf_sp_qspi.h:2220
#define QSPI_FORMAT_BITORDER_COMMAND_Pos
Definition nrf_sp_qspi.h:502
#define QSPI_CORE_CORE_CTRLR0_SLVOE_Pos
Definition nrf_sp_qspi.h:889
#define QSPI_CORE_CORE_SPICTRLR0_CLKSTRETCHEN_Msk
Definition nrf_sp_qspi.h:2376
#define QSPI_CORE_CORE_CTRLR0_SSTE_Pos
Definition nrf_sp_qspi.h:917
#define QSPI_CORE_CORE_SPICTRLR0_RSVDSPICTRLR06_Pos
Definition nrf_sp_qspi.h:2209
#define QSPI_CORE_CORE_SPICTRLR0_WAITCYCLES_Msk
Definition nrf_sp_qspi.h:2254
#define QSPI_CORE_CORE_BAUDR_SCKDV_Msk
Definition nrf_sp_qspi.h:1189
#define QSPI_CORE_CORE_CTRLR0_RSVDCTRLR015_Pos
Definition nrf_sp_qspi.h:934
#define QSPI_CORE_CORE_SPICTRLR0_XIPMBL_Msk
Definition nrf_sp_qspi.h:2344
#define QSPI_CORE_CORE_SPICTRLR0_INSTDDREN_Msk
Definition nrf_sp_qspi.h:2268
#define QSPI_CORE_CORE_SPICTRLR0_XIPDFSHC_Pos
Definition nrf_sp_qspi.h:2286
#define QSPI_CORE_CORE_CTRLR0_RSVDCTRLR05_Msk
Definition nrf_sp_qspi.h:822
#define QSPI_CORE_CORE_CTRLR0_TMOD_Msk
Definition nrf_sp_qspi.h:872
#define QSPI_CORE_CORE_CTRLR0_DFS_Msk
Definition nrf_sp_qspi.h:754
uint32_t scpol
Definition nrf_qspi2.h:54
uint32_t cfs
Definition nrf_qspi2.h:60
uint32_t reserved3
Definition nrf_qspi2.h:66
uint32_t sste
Definition nrf_qspi2.h:58
uint32_t reserved0
Definition nrf_qspi2.h:51
uint32_t hyperbusen
Definition nrf_qspi2.h:63
uint32_t scph
Definition nrf_qspi2.h:53
uint32_t reserved2
Definition nrf_qspi2.h:61
uint32_t spifrf
Definition nrf_qspi2.h:62
uint32_t frf
Definition nrf_qspi2.h:52
uint32_t sqspiismst
Definition nrf_qspi2.h:67
uint32_t tmod
Definition nrf_qspi2.h:55
uint32_t raw
Definition nrf_qspi2.h:70
uint32_t clkloopen
Definition nrf_qspi2.h:65
uint32_t reserved1
Definition nrf_qspi2.h:59
uint32_t dfs
Definition nrf_qspi2.h:50
uint32_t srl
Definition nrf_qspi2.h:57
uint32_t slvoe
Definition nrf_qspi2.h:56
uint32_t spidwsen
Definition nrf_qspi2.h:64
Definition nrf_qspi2.h:47
uint32_t reserved1
Definition nrf_qspi2.h:98
uint32_t raw
Definition nrf_qspi2.h:117
uint32_t rxdsvlen
Definition nrf_qspi2.h:107
uint32_t spirxdssigen
Definition nrf_qspi2.h:109
uint32_t xipprefetchen
Definition nrf_qspi2.h:112
uint32_t reserved4
Definition nrf_qspi2.h:114
uint32_t instl
Definition nrf_qspi2.h:97
uint32_t spiddren
Definition nrf_qspi2.h:100
uint32_t addrl
Definition nrf_qspi2.h:94
uint32_t xipmbl
Definition nrf_qspi2.h:110
uint32_t instddren
Definition nrf_qspi2.h:101
uint32_t spirxdsen
Definition nrf_qspi2.h:102
uint32_t clkstretchen
Definition nrf_qspi2.h:113
uint32_t reserved3
Definition nrf_qspi2.h:111
uint32_t waitcycles
Definition nrf_qspi2.h:99
uint32_t reserved0
Definition nrf_qspi2.h:95
uint32_t xipmdbiten
Definition nrf_qspi2.h:96
uint32_t reserved2
Definition nrf_qspi2.h:106
uint32_t transtype
Definition nrf_qspi2.h:93
uint32_t xipinsten
Definition nrf_qspi2.h:104
uint32_t xipdfshc
Definition nrf_qspi2.h:103
uint32_t xipcontxferen
Definition nrf_qspi2.h:105
uint32_t spidmen
Definition nrf_qspi2.h:108
Definition nrf_qspi2.h:90