28#ifndef LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32520_INCLUDE_SPI_REGS_H_
29#define LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32520_INCLUDE_SPI_REGS_H_
38#if defined (__ICCARM__)
39 #pragma system_include
53#define __I volatile const
59#define __R volatile const
79 __IO uint16_t data16[2];
80 __IO uint8_t data8[4];
87 __R uint32_t rsv_0x18;
103#define MXC_R_SPI_DATA32 ((uint32_t)0x00000000UL)
104#define MXC_R_SPI_DATA16 ((uint32_t)0x00000000UL)
105#define MXC_R_SPI_DATA8 ((uint32_t)0x00000000UL)
106#define MXC_R_SPI_MSTR_CNTL ((uint32_t)0x00000004UL)
107#define MXC_R_SPI_TRNMT_SIZE ((uint32_t)0x00000008UL)
108#define MXC_R_SPI_STATIC_CONFIG ((uint32_t)0x0000000CUL)
109#define MXC_R_SPI_SS_TIME ((uint32_t)0x00000010UL)
110#define MXC_R_SPI_CLK_CONFIG ((uint32_t)0x00000014UL)
111#define MXC_R_SPI_DMA ((uint32_t)0x0000001CUL)
112#define MXC_R_SPI_INT_FL ((uint32_t)0x00000020UL)
113#define MXC_R_SPI_INT_EN ((uint32_t)0x00000024UL)
114#define MXC_R_SPI_WAKE_FL ((uint32_t)0x00000028UL)
115#define MXC_R_SPI_WAKE_EN ((uint32_t)0x0000002CUL)
116#define MXC_R_SPI_STAT ((uint32_t)0x00000030UL)
125#define MXC_F_SPI_DATA32_DATA_POS 0
126#define MXC_F_SPI_DATA32_DATA ((uint32_t)(0xFFFFFFFFUL << MXC_F_SPI_DATA32_DATA_POS))
136#define MXC_F_SPI_DATA16_DATA_POS 0
137#define MXC_F_SPI_DATA16_DATA ((uint16_t)(0xFFFFUL << MXC_F_SPI_DATA16_DATA_POS))
147#define MXC_F_SPI_DATA8_DATA_POS 0
148#define MXC_F_SPI_DATA8_DATA ((uint8_t)(0xFFUL << MXC_F_SPI_DATA8_DATA_POS))
158#define MXC_F_SPI_MSTR_CNTL_SPIEN_POS 0
159#define MXC_F_SPI_MSTR_CNTL_SPIEN ((uint32_t)(0x1UL << MXC_F_SPI_MSTR_CNTL_SPIEN_POS))
161#define MXC_F_SPI_MSTR_CNTL_MMEN_POS 1
162#define MXC_F_SPI_MSTR_CNTL_MMEN ((uint32_t)(0x1UL << MXC_F_SPI_MSTR_CNTL_MMEN_POS))
164#define MXC_F_SPI_MSTR_CNTL_SSIO_POS 4
165#define MXC_F_SPI_MSTR_CNTL_SSIO ((uint32_t)(0x1UL << MXC_F_SPI_MSTR_CNTL_SSIO_POS))
167#define MXC_F_SPI_MSTR_CNTL_START_POS 5
168#define MXC_F_SPI_MSTR_CNTL_START ((uint32_t)(0x1UL << MXC_F_SPI_MSTR_CNTL_START_POS))
170#define MXC_F_SPI_MSTR_CNTL_SSCTRL_POS 8
171#define MXC_F_SPI_MSTR_CNTL_SSCTRL ((uint32_t)(0x1UL << MXC_F_SPI_MSTR_CNTL_SSCTRL_POS))
173#define MXC_F_SPI_MSTR_CNTL_SS_POS 16
174#define MXC_F_SPI_MSTR_CNTL_SS ((uint32_t)(0x7UL << MXC_F_SPI_MSTR_CNTL_SS_POS))
175#define MXC_V_SPI_MSTR_CNTL_SS_SS0 ((uint32_t)0x1UL)
176#define MXC_S_SPI_MSTR_CNTL_SS_SS0 (MXC_V_SPI_MSTR_CNTL_SS_SS0 << MXC_F_SPI_MSTR_CNTL_SS_POS)
177#define MXC_V_SPI_MSTR_CNTL_SS_SS1 ((uint32_t)0x2UL)
178#define MXC_S_SPI_MSTR_CNTL_SS_SS1 (MXC_V_SPI_MSTR_CNTL_SS_SS1 << MXC_F_SPI_MSTR_CNTL_SS_POS)
179#define MXC_V_SPI_MSTR_CNTL_SS_SS2 ((uint32_t)0x4UL)
180#define MXC_S_SPI_MSTR_CNTL_SS_SS2 (MXC_V_SPI_MSTR_CNTL_SS_SS2 << MXC_F_SPI_MSTR_CNTL_SS_POS)
190#define MXC_F_SPI_TRNMT_SIZE_TX_NUM_CHAR_POS 0
191#define MXC_F_SPI_TRNMT_SIZE_TX_NUM_CHAR ((uint32_t)(0xFFFFUL << MXC_F_SPI_TRNMT_SIZE_TX_NUM_CHAR_POS))
193#define MXC_F_SPI_TRNMT_SIZE_RX_NUM_CHAR_POS 16
194#define MXC_F_SPI_TRNMT_SIZE_RX_NUM_CHAR ((uint32_t)(0xFFFFUL << MXC_F_SPI_TRNMT_SIZE_RX_NUM_CHAR_POS))
204#define MXC_F_SPI_STATIC_CONFIG_PHASE_POS 0
205#define MXC_F_SPI_STATIC_CONFIG_PHASE ((uint32_t)(0x1UL << MXC_F_SPI_STATIC_CONFIG_PHASE_POS))
207#define MXC_F_SPI_STATIC_CONFIG_CLKPOL_POS 1
208#define MXC_F_SPI_STATIC_CONFIG_CLKPOL ((uint32_t)(0x1UL << MXC_F_SPI_STATIC_CONFIG_CLKPOL_POS))
210#define MXC_F_SPI_STATIC_CONFIG_NUMBITS_POS 8
211#define MXC_F_SPI_STATIC_CONFIG_NUMBITS ((uint32_t)(0xFUL << MXC_F_SPI_STATIC_CONFIG_NUMBITS_POS))
212#define MXC_V_SPI_STATIC_CONFIG_NUMBITS_0 ((uint32_t)0x0UL)
213#define MXC_S_SPI_STATIC_CONFIG_NUMBITS_0 (MXC_V_SPI_STATIC_CONFIG_NUMBITS_0 << MXC_F_SPI_STATIC_CONFIG_NUMBITS_POS)
215#define MXC_F_SPI_STATIC_CONFIG_DATAWIDTH_POS 12
216#define MXC_F_SPI_STATIC_CONFIG_DATAWIDTH ((uint32_t)(0x3UL << MXC_F_SPI_STATIC_CONFIG_DATAWIDTH_POS))
217#define MXC_V_SPI_STATIC_CONFIG_DATAWIDTH_MONO ((uint32_t)0x0UL)
218#define MXC_S_SPI_STATIC_CONFIG_DATAWIDTH_MONO (MXC_V_SPI_STATIC_CONFIG_DATAWIDTH_MONO << MXC_F_SPI_STATIC_CONFIG_DATAWIDTH_POS)
219#define MXC_V_SPI_STATIC_CONFIG_DATAWIDTH_DUAL ((uint32_t)0x1UL)
220#define MXC_S_SPI_STATIC_CONFIG_DATAWIDTH_DUAL (MXC_V_SPI_STATIC_CONFIG_DATAWIDTH_DUAL << MXC_F_SPI_STATIC_CONFIG_DATAWIDTH_POS)
221#define MXC_V_SPI_STATIC_CONFIG_DATAWIDTH_QUAD ((uint32_t)0x2UL)
222#define MXC_S_SPI_STATIC_CONFIG_DATAWIDTH_QUAD (MXC_V_SPI_STATIC_CONFIG_DATAWIDTH_QUAD << MXC_F_SPI_STATIC_CONFIG_DATAWIDTH_POS)
224#define MXC_F_SPI_STATIC_CONFIG_3WIRE_POS 15
225#define MXC_F_SPI_STATIC_CONFIG_3WIRE ((uint32_t)(0x1UL << MXC_F_SPI_STATIC_CONFIG_3WIRE_POS))
227#define MXC_F_SPI_STATIC_CONFIG_SSPOL_POS 16
228#define MXC_F_SPI_STATIC_CONFIG_SSPOL ((uint32_t)(0xFFUL << MXC_F_SPI_STATIC_CONFIG_SSPOL_POS))
229#define MXC_V_SPI_STATIC_CONFIG_SSPOL_SS0_HIGH ((uint32_t)0x1UL)
230#define MXC_S_SPI_STATIC_CONFIG_SSPOL_SS0_HIGH (MXC_V_SPI_STATIC_CONFIG_SSPOL_SS0_HIGH << MXC_F_SPI_STATIC_CONFIG_SSPOL_POS)
231#define MXC_V_SPI_STATIC_CONFIG_SSPOL_SS1_HIGH ((uint32_t)0x2UL)
232#define MXC_S_SPI_STATIC_CONFIG_SSPOL_SS1_HIGH (MXC_V_SPI_STATIC_CONFIG_SSPOL_SS1_HIGH << MXC_F_SPI_STATIC_CONFIG_SSPOL_POS)
233#define MXC_V_SPI_STATIC_CONFIG_SSPOL_SS2_HIGH ((uint32_t)0x4UL)
234#define MXC_S_SPI_STATIC_CONFIG_SSPOL_SS2_HIGH (MXC_V_SPI_STATIC_CONFIG_SSPOL_SS2_HIGH << MXC_F_SPI_STATIC_CONFIG_SSPOL_POS)
244#define MXC_F_SPI_SS_TIME_PRE_POS 0
245#define MXC_F_SPI_SS_TIME_PRE ((uint32_t)(0xFFUL << MXC_F_SPI_SS_TIME_PRE_POS))
246#define MXC_V_SPI_SS_TIME_PRE_256 ((uint32_t)0x0UL)
247#define MXC_S_SPI_SS_TIME_PRE_256 (MXC_V_SPI_SS_TIME_PRE_256 << MXC_F_SPI_SS_TIME_PRE_POS)
249#define MXC_F_SPI_SS_TIME_POST_POS 8
250#define MXC_F_SPI_SS_TIME_POST ((uint32_t)(0xFFUL << MXC_F_SPI_SS_TIME_POST_POS))
251#define MXC_V_SPI_SS_TIME_POST_256 ((uint32_t)0x0UL)
252#define MXC_S_SPI_SS_TIME_POST_256 (MXC_V_SPI_SS_TIME_POST_256 << MXC_F_SPI_SS_TIME_POST_POS)
254#define MXC_F_SPI_SS_TIME_INACT_POS 16
255#define MXC_F_SPI_SS_TIME_INACT ((uint32_t)(0xFFUL << MXC_F_SPI_SS_TIME_INACT_POS))
256#define MXC_V_SPI_SS_TIME_INACT_256 ((uint32_t)0x0UL)
257#define MXC_S_SPI_SS_TIME_INACT_256 (MXC_V_SPI_SS_TIME_INACT_256 << MXC_F_SPI_SS_TIME_INACT_POS)
267#define MXC_F_SPI_CLK_CONFIG_LOW_POS 0
268#define MXC_F_SPI_CLK_CONFIG_LOW ((uint32_t)(0xFFUL << MXC_F_SPI_CLK_CONFIG_LOW_POS))
269#define MXC_V_SPI_CLK_CONFIG_LOW_DIS ((uint32_t)0x0UL)
270#define MXC_S_SPI_CLK_CONFIG_LOW_DIS (MXC_V_SPI_CLK_CONFIG_LOW_DIS << MXC_F_SPI_CLK_CONFIG_LOW_POS)
272#define MXC_F_SPI_CLK_CONFIG_HIGH_POS 8
273#define MXC_F_SPI_CLK_CONFIG_HIGH ((uint32_t)(0xFFUL << MXC_F_SPI_CLK_CONFIG_HIGH_POS))
274#define MXC_V_SPI_CLK_CONFIG_HIGH_DIS ((uint32_t)0x0UL)
275#define MXC_S_SPI_CLK_CONFIG_HIGH_DIS (MXC_V_SPI_CLK_CONFIG_HIGH_DIS << MXC_F_SPI_CLK_CONFIG_HIGH_POS)
277#define MXC_F_SPI_CLK_CONFIG_SCALE_POS 16
278#define MXC_F_SPI_CLK_CONFIG_SCALE ((uint32_t)(0xFUL << MXC_F_SPI_CLK_CONFIG_SCALE_POS))
288#define MXC_F_SPI_DMA_TX_FIFO_LEVEL_POS 0
289#define MXC_F_SPI_DMA_TX_FIFO_LEVEL ((uint32_t)(0x1FUL << MXC_F_SPI_DMA_TX_FIFO_LEVEL_POS))
291#define MXC_F_SPI_DMA_TX_FIFO_EN_POS 6
292#define MXC_F_SPI_DMA_TX_FIFO_EN ((uint32_t)(0x1UL << MXC_F_SPI_DMA_TX_FIFO_EN_POS))
294#define MXC_F_SPI_DMA_TX_FIFO_CLEAR_POS 7
295#define MXC_F_SPI_DMA_TX_FIFO_CLEAR ((uint32_t)(0x1UL << MXC_F_SPI_DMA_TX_FIFO_CLEAR_POS))
297#define MXC_F_SPI_DMA_TX_FIFO_CNT_POS 8
298#define MXC_F_SPI_DMA_TX_FIFO_CNT ((uint32_t)(0x3FUL << MXC_F_SPI_DMA_TX_FIFO_CNT_POS))
300#define MXC_F_SPI_DMA_TX_DMA_EN_POS 15
301#define MXC_F_SPI_DMA_TX_DMA_EN ((uint32_t)(0x1UL << MXC_F_SPI_DMA_TX_DMA_EN_POS))
303#define MXC_F_SPI_DMA_RX_FIFO_LEVEL_POS 16
304#define MXC_F_SPI_DMA_RX_FIFO_LEVEL ((uint32_t)(0x1FUL << MXC_F_SPI_DMA_RX_FIFO_LEVEL_POS))
306#define MXC_F_SPI_DMA_RX_FIFO_EN_POS 22
307#define MXC_F_SPI_DMA_RX_FIFO_EN ((uint32_t)(0x1UL << MXC_F_SPI_DMA_RX_FIFO_EN_POS))
309#define MXC_F_SPI_DMA_RX_FIFO_CLEAR_POS 23
310#define MXC_F_SPI_DMA_RX_FIFO_CLEAR ((uint32_t)(0x1UL << MXC_F_SPI_DMA_RX_FIFO_CLEAR_POS))
312#define MXC_F_SPI_DMA_RX_FIFO_CNT_POS 24
313#define MXC_F_SPI_DMA_RX_FIFO_CNT ((uint32_t)(0x3FUL << MXC_F_SPI_DMA_RX_FIFO_CNT_POS))
315#define MXC_F_SPI_DMA_RX_DMA_EN_POS 31
316#define MXC_F_SPI_DMA_RX_DMA_EN ((uint32_t)(0x1UL << MXC_F_SPI_DMA_RX_DMA_EN_POS))
327#define MXC_F_SPI_INT_FL_TXTHRLD_POS 0
328#define MXC_F_SPI_INT_FL_TXTHRLD ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_TXTHRLD_POS))
330#define MXC_F_SPI_INT_FL_TXEMPTY_POS 1
331#define MXC_F_SPI_INT_FL_TXEMPTY ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_TXEMPTY_POS))
333#define MXC_F_SPI_INT_FL_RXTHRLD_POS 2
334#define MXC_F_SPI_INT_FL_RXTHRLD ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_RXTHRLD_POS))
336#define MXC_F_SPI_INT_FL_RXFULL_POS 3
337#define MXC_F_SPI_INT_FL_RXFULL ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_RXFULL_POS))
339#define MXC_F_SPI_INT_FL_SSA_POS 4
340#define MXC_F_SPI_INT_FL_SSA ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_SSA_POS))
342#define MXC_F_SPI_INT_FL_SSD_POS 5
343#define MXC_F_SPI_INT_FL_SSD ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_SSD_POS))
345#define MXC_F_SPI_INT_FL_FAULT_POS 8
346#define MXC_F_SPI_INT_FL_FAULT ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_FAULT_POS))
348#define MXC_F_SPI_INT_FL_ABORT_POS 9
349#define MXC_F_SPI_INT_FL_ABORT ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_ABORT_POS))
351#define MXC_F_SPI_INT_FL_MSTRDONE_POS 11
352#define MXC_F_SPI_INT_FL_MSTRDONE ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_MSTRDONE_POS))
354#define MXC_F_SPI_INT_FL_TXOVR_POS 12
355#define MXC_F_SPI_INT_FL_TXOVR ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_TXOVR_POS))
357#define MXC_F_SPI_INT_FL_TXUNDR_POS 13
358#define MXC_F_SPI_INT_FL_TXUNDR ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_TXUNDR_POS))
360#define MXC_F_SPI_INT_FL_RXOVR_POS 14
361#define MXC_F_SPI_INT_FL_RXOVR ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_RXOVR_POS))
363#define MXC_F_SPI_INT_FL_RXUNDR_POS 15
364#define MXC_F_SPI_INT_FL_RXUNDR ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_RXUNDR_POS))
374#define MXC_F_SPI_INT_EN_TXTHRLD_POS 0
375#define MXC_F_SPI_INT_EN_TXTHRLD ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_TXTHRLD_POS))
377#define MXC_F_SPI_INT_EN_TXEMPTY_POS 1
378#define MXC_F_SPI_INT_EN_TXEMPTY ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_TXEMPTY_POS))
380#define MXC_F_SPI_INT_EN_RXTHRLD_POS 2
381#define MXC_F_SPI_INT_EN_RXTHRLD ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_RXTHRLD_POS))
383#define MXC_F_SPI_INT_EN_RXFULL_POS 3
384#define MXC_F_SPI_INT_EN_RXFULL ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_RXFULL_POS))
386#define MXC_F_SPI_INT_EN_SSA_POS 4
387#define MXC_F_SPI_INT_EN_SSA ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_SSA_POS))
389#define MXC_F_SPI_INT_EN_SSD_POS 5
390#define MXC_F_SPI_INT_EN_SSD ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_SSD_POS))
392#define MXC_F_SPI_INT_EN_FAULT_POS 8
393#define MXC_F_SPI_INT_EN_FAULT ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_FAULT_POS))
395#define MXC_F_SPI_INT_EN_ABORT_POS 9
396#define MXC_F_SPI_INT_EN_ABORT ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_ABORT_POS))
398#define MXC_F_SPI_INT_EN_MSTRDONE_POS 11
399#define MXC_F_SPI_INT_EN_MSTRDONE ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_MSTRDONE_POS))
401#define MXC_F_SPI_INT_EN_TXOVR_POS 12
402#define MXC_F_SPI_INT_EN_TXOVR ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_TXOVR_POS))
404#define MXC_F_SPI_INT_EN_TXUNDR_POS 13
405#define MXC_F_SPI_INT_EN_TXUNDR ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_TXUNDR_POS))
407#define MXC_F_SPI_INT_EN_RXOVR_POS 14
408#define MXC_F_SPI_INT_EN_RXOVR ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_RXOVR_POS))
410#define MXC_F_SPI_INT_EN_RXUNDR_POS 15
411#define MXC_F_SPI_INT_EN_RXUNDR ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_RXUNDR_POS))
421#define MXC_F_SPI_WAKE_FL_TXTHRLD_POS 0
422#define MXC_F_SPI_WAKE_FL_TXTHRLD ((uint32_t)(0x1UL << MXC_F_SPI_WAKE_FL_TXTHRLD_POS))
424#define MXC_F_SPI_WAKE_FL_TXEMPTY_POS 1
425#define MXC_F_SPI_WAKE_FL_TXEMPTY ((uint32_t)(0x1UL << MXC_F_SPI_WAKE_FL_TXEMPTY_POS))
427#define MXC_F_SPI_WAKE_FL_RXTHRLD_POS 2
428#define MXC_F_SPI_WAKE_FL_RXTHRLD ((uint32_t)(0x1UL << MXC_F_SPI_WAKE_FL_RXTHRLD_POS))
430#define MXC_F_SPI_WAKE_FL_RXFULL_POS 3
431#define MXC_F_SPI_WAKE_FL_RXFULL ((uint32_t)(0x1UL << MXC_F_SPI_WAKE_FL_RXFULL_POS))
441#define MXC_F_SPI_WAKE_EN_TXTHRLD_POS 0
442#define MXC_F_SPI_WAKE_EN_TXTHRLD ((uint32_t)(0x1UL << MXC_F_SPI_WAKE_EN_TXTHRLD_POS))
444#define MXC_F_SPI_WAKE_EN_TXEMPTY_POS 1
445#define MXC_F_SPI_WAKE_EN_TXEMPTY ((uint32_t)(0x1UL << MXC_F_SPI_WAKE_EN_TXEMPTY_POS))
447#define MXC_F_SPI_WAKE_EN_RXTHRLD_POS 2
448#define MXC_F_SPI_WAKE_EN_RXTHRLD ((uint32_t)(0x1UL << MXC_F_SPI_WAKE_EN_RXTHRLD_POS))
450#define MXC_F_SPI_WAKE_EN_RXFULL_POS 3
451#define MXC_F_SPI_WAKE_EN_RXFULL ((uint32_t)(0x1UL << MXC_F_SPI_WAKE_EN_RXFULL_POS))
461#define MXC_F_SPI_STAT_BUSY_POS 0
462#define MXC_F_SPI_STAT_BUSY ((uint32_t)(0x1UL << MXC_F_SPI_STAT_BUSY_POS))
__IO uint32_t static_config
Definition: spi_regs.h:84
__IO uint32_t int_fl
Definition: spi_regs.h:89
__I uint32_t stat
Definition: spi_regs.h:93
__IO uint32_t data32
Definition: spi_regs.h:78
__IO uint32_t wake_fl
Definition: spi_regs.h:91
__IO uint32_t int_en
Definition: spi_regs.h:90
__IO uint32_t clk_config
Definition: spi_regs.h:86
__IO uint32_t ss_time
Definition: spi_regs.h:85
__IO uint32_t trnmt_size
Definition: spi_regs.h:83
__IO uint32_t dma
Definition: spi_regs.h:88
__IO uint32_t mstr_cntl
Definition: spi_regs.h:82
__IO uint32_t wake_en
Definition: spi_regs.h:92
Definition: spi_regs.h:76