28#ifndef LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32660_INCLUDE_SPI_REGS_H_
29#define LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32660_INCLUDE_SPI_REGS_H_
38#if defined (__ICCARM__)
39 #pragma system_include
53#define __I volatile const
59#define __R volatile const
83 __R uint32_t rsv_0x18;
99#define MXC_R_SPI_DATA ((uint32_t)0x00000000UL)
100#define MXC_R_SPI_CTRL0 ((uint32_t)0x00000004UL)
101#define MXC_R_SPI_CTRL1 ((uint32_t)0x00000008UL)
102#define MXC_R_SPI_CTRL2 ((uint32_t)0x0000000CUL)
103#define MXC_R_SPI_SS_TIME ((uint32_t)0x00000010UL)
104#define MXC_R_SPI_CLK_CFG ((uint32_t)0x00000014UL)
105#define MXC_R_SPI_DMA ((uint32_t)0x0000001CUL)
106#define MXC_R_SPI_INT_FL ((uint32_t)0x00000020UL)
107#define MXC_R_SPI_INT_EN ((uint32_t)0x00000024UL)
108#define MXC_R_SPI_WAKE_FL ((uint32_t)0x00000028UL)
109#define MXC_R_SPI_WAKE_EN ((uint32_t)0x0000002CUL)
110#define MXC_R_SPI_STAT ((uint32_t)0x00000030UL)
127#define MXC_F_SPI_CTRL0_SPI_EN_POS 0
128#define MXC_F_SPI_CTRL0_SPI_EN ((uint32_t)(0x1UL << MXC_F_SPI_CTRL0_SPI_EN_POS))
130#define MXC_F_SPI_CTRL0_MM_EN_POS 1
131#define MXC_F_SPI_CTRL0_MM_EN ((uint32_t)(0x1UL << MXC_F_SPI_CTRL0_MM_EN_POS))
133#define MXC_F_SPI_CTRL0_SS_IO_POS 4
134#define MXC_F_SPI_CTRL0_SS_IO ((uint32_t)(0x1UL << MXC_F_SPI_CTRL0_SS_IO_POS))
136#define MXC_F_SPI_CTRL0_START_POS 5
137#define MXC_F_SPI_CTRL0_START ((uint32_t)(0x1UL << MXC_F_SPI_CTRL0_START_POS))
139#define MXC_F_SPI_CTRL0_SS_CTRL_POS 8
140#define MXC_F_SPI_CTRL0_SS_CTRL ((uint32_t)(0x1UL << MXC_F_SPI_CTRL0_SS_CTRL_POS))
142#define MXC_F_SPI_CTRL0_SS_SEL_POS 16
143#define MXC_F_SPI_CTRL0_SS_SEL ((uint32_t)(0xFUL << MXC_F_SPI_CTRL0_SS_SEL_POS))
144#define MXC_V_SPI_CTRL0_SS_SEL_SS0 ((uint32_t)0x1UL)
145#define MXC_S_SPI_CTRL0_SS_SEL_SS0 (MXC_V_SPI_CTRL0_SS_SEL_SS0 << MXC_F_SPI_CTRL0_SS_SEL_POS)
146#define MXC_V_SPI_CTRL0_SS_SEL_SS1 ((uint32_t)0x2UL)
147#define MXC_S_SPI_CTRL0_SS_SEL_SS1 (MXC_V_SPI_CTRL0_SS_SEL_SS1 << MXC_F_SPI_CTRL0_SS_SEL_POS)
148#define MXC_V_SPI_CTRL0_SS_SEL_SS2 ((uint32_t)0x4UL)
149#define MXC_S_SPI_CTRL0_SS_SEL_SS2 (MXC_V_SPI_CTRL0_SS_SEL_SS2 << MXC_F_SPI_CTRL0_SS_SEL_POS)
150#define MXC_V_SPI_CTRL0_SS_SEL_SS3 ((uint32_t)0x8UL)
151#define MXC_S_SPI_CTRL0_SS_SEL_SS3 (MXC_V_SPI_CTRL0_SS_SEL_SS3 << MXC_F_SPI_CTRL0_SS_SEL_POS)
161#define MXC_F_SPI_CTRL1_TX_NUM_CHAR_POS 0
162#define MXC_F_SPI_CTRL1_TX_NUM_CHAR ((uint32_t)(0xFFFFUL << MXC_F_SPI_CTRL1_TX_NUM_CHAR_POS))
164#define MXC_F_SPI_CTRL1_RX_NUM_CHAR_POS 16
165#define MXC_F_SPI_CTRL1_RX_NUM_CHAR ((uint32_t)(0xFFFFUL << MXC_F_SPI_CTRL1_RX_NUM_CHAR_POS))
175#define MXC_F_SPI_CTRL2_CLK_PHA_POS 0
176#define MXC_F_SPI_CTRL2_CLK_PHA ((uint32_t)(0x1UL << MXC_F_SPI_CTRL2_CLK_PHA_POS))
178#define MXC_F_SPI_CTRL2_CLK_POL_POS 1
179#define MXC_F_SPI_CTRL2_CLK_POL ((uint32_t)(0x1UL << MXC_F_SPI_CTRL2_CLK_POL_POS))
181#define MXC_F_SPI_CTRL2_NUM_BITS_POS 8
182#define MXC_F_SPI_CTRL2_NUM_BITS ((uint32_t)(0xFUL << MXC_F_SPI_CTRL2_NUM_BITS_POS))
183#define MXC_V_SPI_CTRL2_NUM_BITS_0 ((uint32_t)0x0UL)
184#define MXC_S_SPI_CTRL2_NUM_BITS_0 (MXC_V_SPI_CTRL2_NUM_BITS_0 << MXC_F_SPI_CTRL2_NUM_BITS_POS)
186#define MXC_F_SPI_CTRL2_DATA_WIDTH_POS 12
187#define MXC_F_SPI_CTRL2_DATA_WIDTH ((uint32_t)(0x3UL << MXC_F_SPI_CTRL2_DATA_WIDTH_POS))
188#define MXC_V_SPI_CTRL2_DATA_WIDTH_MONO ((uint32_t)0x0UL)
189#define MXC_S_SPI_CTRL2_DATA_WIDTH_MONO (MXC_V_SPI_CTRL2_DATA_WIDTH_MONO << MXC_F_SPI_CTRL2_DATA_WIDTH_POS)
190#define MXC_V_SPI_CTRL2_DATA_WIDTH_DUAL ((uint32_t)0x1UL)
191#define MXC_S_SPI_CTRL2_DATA_WIDTH_DUAL (MXC_V_SPI_CTRL2_DATA_WIDTH_DUAL << MXC_F_SPI_CTRL2_DATA_WIDTH_POS)
192#define MXC_V_SPI_CTRL2_DATA_WIDTH_QUAD ((uint32_t)0x2UL)
193#define MXC_S_SPI_CTRL2_DATA_WIDTH_QUAD (MXC_V_SPI_CTRL2_DATA_WIDTH_QUAD << MXC_F_SPI_CTRL2_DATA_WIDTH_POS)
195#define MXC_F_SPI_CTRL2_THREE_WIRE_POS 15
196#define MXC_F_SPI_CTRL2_THREE_WIRE ((uint32_t)(0x1UL << MXC_F_SPI_CTRL2_THREE_WIRE_POS))
198#define MXC_F_SPI_CTRL2_SS_POL_POS 16
199#define MXC_F_SPI_CTRL2_SS_POL ((uint32_t)(0x1UL << MXC_F_SPI_CTRL2_SS_POL_POS))
209#define MXC_F_SPI_SS_TIME_SSACT1_POS 0
210#define MXC_F_SPI_SS_TIME_SSACT1 ((uint32_t)(0xFFUL << MXC_F_SPI_SS_TIME_SSACT1_POS))
211#define MXC_V_SPI_SS_TIME_SSACT1_256 ((uint32_t)0x0UL)
212#define MXC_S_SPI_SS_TIME_SSACT1_256 (MXC_V_SPI_SS_TIME_SSACT1_256 << MXC_F_SPI_SS_TIME_SSACT1_POS)
214#define MXC_F_SPI_SS_TIME_SSACT2_POS 8
215#define MXC_F_SPI_SS_TIME_SSACT2 ((uint32_t)(0xFFUL << MXC_F_SPI_SS_TIME_SSACT2_POS))
216#define MXC_V_SPI_SS_TIME_SSACT2_256 ((uint32_t)0x0UL)
217#define MXC_S_SPI_SS_TIME_SSACT2_256 (MXC_V_SPI_SS_TIME_SSACT2_256 << MXC_F_SPI_SS_TIME_SSACT2_POS)
219#define MXC_F_SPI_SS_TIME_SSINACT_POS 16
220#define MXC_F_SPI_SS_TIME_SSINACT ((uint32_t)(0xFFUL << MXC_F_SPI_SS_TIME_SSINACT_POS))
221#define MXC_V_SPI_SS_TIME_SSINACT_256 ((uint32_t)0x0UL)
222#define MXC_S_SPI_SS_TIME_SSINACT_256 (MXC_V_SPI_SS_TIME_SSINACT_256 << MXC_F_SPI_SS_TIME_SSINACT_POS)
232#define MXC_F_SPI_CLK_CFG_LO_POS 0
233#define MXC_F_SPI_CLK_CFG_LO ((uint32_t)(0xFFUL << MXC_F_SPI_CLK_CFG_LO_POS))
234#define MXC_V_SPI_CLK_CFG_LO_DIS ((uint32_t)0x0UL)
235#define MXC_S_SPI_CLK_CFG_LO_DIS (MXC_V_SPI_CLK_CFG_LO_DIS << MXC_F_SPI_CLK_CFG_LO_POS)
237#define MXC_F_SPI_CLK_CFG_HI_POS 8
238#define MXC_F_SPI_CLK_CFG_HI ((uint32_t)(0xFFUL << MXC_F_SPI_CLK_CFG_HI_POS))
239#define MXC_V_SPI_CLK_CFG_HI_DIS ((uint32_t)0x0UL)
240#define MXC_S_SPI_CLK_CFG_HI_DIS (MXC_V_SPI_CLK_CFG_HI_DIS << MXC_F_SPI_CLK_CFG_HI_POS)
242#define MXC_F_SPI_CLK_CFG_SCALE_POS 16
243#define MXC_F_SPI_CLK_CFG_SCALE ((uint32_t)(0xFUL << MXC_F_SPI_CLK_CFG_SCALE_POS))
253#define MXC_F_SPI_DMA_TX_FIFO_LEVEL_POS 0
254#define MXC_F_SPI_DMA_TX_FIFO_LEVEL ((uint32_t)(0x1FUL << MXC_F_SPI_DMA_TX_FIFO_LEVEL_POS))
256#define MXC_F_SPI_DMA_TX_FIFO_EN_POS 6
257#define MXC_F_SPI_DMA_TX_FIFO_EN ((uint32_t)(0x1UL << MXC_F_SPI_DMA_TX_FIFO_EN_POS))
259#define MXC_F_SPI_DMA_TX_FIFO_CLEAR_POS 7
260#define MXC_F_SPI_DMA_TX_FIFO_CLEAR ((uint32_t)(0x1UL << MXC_F_SPI_DMA_TX_FIFO_CLEAR_POS))
262#define MXC_F_SPI_DMA_TX_FIFO_CNT_POS 8
263#define MXC_F_SPI_DMA_TX_FIFO_CNT ((uint32_t)(0x3FUL << MXC_F_SPI_DMA_TX_FIFO_CNT_POS))
265#define MXC_F_SPI_DMA_TX_DMA_EN_POS 15
266#define MXC_F_SPI_DMA_TX_DMA_EN ((uint32_t)(0x1UL << MXC_F_SPI_DMA_TX_DMA_EN_POS))
268#define MXC_F_SPI_DMA_RX_FIFO_LEVEL_POS 16
269#define MXC_F_SPI_DMA_RX_FIFO_LEVEL ((uint32_t)(0x1FUL << MXC_F_SPI_DMA_RX_FIFO_LEVEL_POS))
271#define MXC_F_SPI_DMA_RX_FIFO_EN_POS 22
272#define MXC_F_SPI_DMA_RX_FIFO_EN ((uint32_t)(0x1UL << MXC_F_SPI_DMA_RX_FIFO_EN_POS))
274#define MXC_F_SPI_DMA_RX_FIFO_CLEAR_POS 23
275#define MXC_F_SPI_DMA_RX_FIFO_CLEAR ((uint32_t)(0x1UL << MXC_F_SPI_DMA_RX_FIFO_CLEAR_POS))
277#define MXC_F_SPI_DMA_RX_FIFO_CNT_POS 24
278#define MXC_F_SPI_DMA_RX_FIFO_CNT ((uint32_t)(0x3FUL << MXC_F_SPI_DMA_RX_FIFO_CNT_POS))
280#define MXC_F_SPI_DMA_RX_DMA_EN_POS 31
281#define MXC_F_SPI_DMA_RX_DMA_EN ((uint32_t)(0x1UL << MXC_F_SPI_DMA_RX_DMA_EN_POS))
292#define MXC_F_SPI_INT_FL_TX_LEVEL_POS 0
293#define MXC_F_SPI_INT_FL_TX_LEVEL ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_TX_LEVEL_POS))
295#define MXC_F_SPI_INT_FL_TX_EMPTY_POS 1
296#define MXC_F_SPI_INT_FL_TX_EMPTY ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_TX_EMPTY_POS))
298#define MXC_F_SPI_INT_FL_RX_LEVEL_POS 2
299#define MXC_F_SPI_INT_FL_RX_LEVEL ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_RX_LEVEL_POS))
301#define MXC_F_SPI_INT_FL_RX_FULL_POS 3
302#define MXC_F_SPI_INT_FL_RX_FULL ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_RX_FULL_POS))
304#define MXC_F_SPI_INT_FL_SSA_POS 4
305#define MXC_F_SPI_INT_FL_SSA ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_SSA_POS))
307#define MXC_F_SPI_INT_FL_SSD_POS 5
308#define MXC_F_SPI_INT_FL_SSD ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_SSD_POS))
310#define MXC_F_SPI_INT_FL_ABORT_POS 9
311#define MXC_F_SPI_INT_FL_ABORT ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_ABORT_POS))
313#define MXC_F_SPI_INT_FL_M_DONE_POS 11
314#define MXC_F_SPI_INT_FL_M_DONE ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_M_DONE_POS))
316#define MXC_F_SPI_INT_FL_TX_OVR_POS 12
317#define MXC_F_SPI_INT_FL_TX_OVR ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_TX_OVR_POS))
319#define MXC_F_SPI_INT_FL_TX_UND_POS 13
320#define MXC_F_SPI_INT_FL_TX_UND ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_TX_UND_POS))
322#define MXC_F_SPI_INT_FL_RX_OVR_POS 14
323#define MXC_F_SPI_INT_FL_RX_OVR ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_RX_OVR_POS))
325#define MXC_F_SPI_INT_FL_RX_UND_POS 15
326#define MXC_F_SPI_INT_FL_RX_UND ((uint32_t)(0x1UL << MXC_F_SPI_INT_FL_RX_UND_POS))
336#define MXC_F_SPI_INT_EN_TX_LEVEL_POS 0
337#define MXC_F_SPI_INT_EN_TX_LEVEL ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_TX_LEVEL_POS))
339#define MXC_F_SPI_INT_EN_TX_EMPTY_POS 1
340#define MXC_F_SPI_INT_EN_TX_EMPTY ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_TX_EMPTY_POS))
342#define MXC_F_SPI_INT_EN_RX_LEVEL_POS 2
343#define MXC_F_SPI_INT_EN_RX_LEVEL ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_RX_LEVEL_POS))
345#define MXC_F_SPI_INT_EN_RX_FULL_POS 3
346#define MXC_F_SPI_INT_EN_RX_FULL ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_RX_FULL_POS))
348#define MXC_F_SPI_INT_EN_SSA_POS 4
349#define MXC_F_SPI_INT_EN_SSA ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_SSA_POS))
351#define MXC_F_SPI_INT_EN_SSD_POS 5
352#define MXC_F_SPI_INT_EN_SSD ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_SSD_POS))
354#define MXC_F_SPI_INT_EN_FAULT_POS 8
355#define MXC_F_SPI_INT_EN_FAULT ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_FAULT_POS))
357#define MXC_F_SPI_INT_EN_ABORT_POS 9
358#define MXC_F_SPI_INT_EN_ABORT ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_ABORT_POS))
360#define MXC_F_SPI_INT_EN_M_DONE_POS 11
361#define MXC_F_SPI_INT_EN_M_DONE ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_M_DONE_POS))
363#define MXC_F_SPI_INT_EN_TX_OVR_POS 12
364#define MXC_F_SPI_INT_EN_TX_OVR ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_TX_OVR_POS))
366#define MXC_F_SPI_INT_EN_TX_UND_POS 13
367#define MXC_F_SPI_INT_EN_TX_UND ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_TX_UND_POS))
369#define MXC_F_SPI_INT_EN_RX_OVR_POS 14
370#define MXC_F_SPI_INT_EN_RX_OVR ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_RX_OVR_POS))
372#define MXC_F_SPI_INT_EN_RX_UND_POS 15
373#define MXC_F_SPI_INT_EN_RX_UND ((uint32_t)(0x1UL << MXC_F_SPI_INT_EN_RX_UND_POS))
383#define MXC_F_SPI_WAKE_FL_TX_LEVEL_POS 0
384#define MXC_F_SPI_WAKE_FL_TX_LEVEL ((uint32_t)(0x1UL << MXC_F_SPI_WAKE_FL_TX_LEVEL_POS))
386#define MXC_F_SPI_WAKE_FL_TX_EMPTY_POS 1
387#define MXC_F_SPI_WAKE_FL_TX_EMPTY ((uint32_t)(0x1UL << MXC_F_SPI_WAKE_FL_TX_EMPTY_POS))
389#define MXC_F_SPI_WAKE_FL_RX_LEVEL_POS 2
390#define MXC_F_SPI_WAKE_FL_RX_LEVEL ((uint32_t)(0x1UL << MXC_F_SPI_WAKE_FL_RX_LEVEL_POS))
392#define MXC_F_SPI_WAKE_FL_RX_FULL_POS 3
393#define MXC_F_SPI_WAKE_FL_RX_FULL ((uint32_t)(0x1UL << MXC_F_SPI_WAKE_FL_RX_FULL_POS))
403#define MXC_F_SPI_WAKE_EN_TX_LEVEL_POS 0
404#define MXC_F_SPI_WAKE_EN_TX_LEVEL ((uint32_t)(0x1UL << MXC_F_SPI_WAKE_EN_TX_LEVEL_POS))
406#define MXC_F_SPI_WAKE_EN_TX_EMPTY_POS 1
407#define MXC_F_SPI_WAKE_EN_TX_EMPTY ((uint32_t)(0x1UL << MXC_F_SPI_WAKE_EN_TX_EMPTY_POS))
409#define MXC_F_SPI_WAKE_EN_RX_LEVEL_POS 2
410#define MXC_F_SPI_WAKE_EN_RX_LEVEL ((uint32_t)(0x1UL << MXC_F_SPI_WAKE_EN_RX_LEVEL_POS))
412#define MXC_F_SPI_WAKE_EN_RX_FULL_POS 3
413#define MXC_F_SPI_WAKE_EN_RX_FULL ((uint32_t)(0x1UL << MXC_F_SPI_WAKE_EN_RX_FULL_POS))
423#define MXC_F_SPI_STAT_BUSY_POS 0
424#define MXC_F_SPI_STAT_BUSY ((uint32_t)(0x1UL << MXC_F_SPI_STAT_BUSY_POS))
__IO uint32_t ctrl0
Definition: spi_regs.h:78
__IO uint32_t int_fl
Definition: spi_regs.h:85
__IO uint32_t data
Definition: spi_regs.h:77
__I uint32_t stat
Definition: spi_regs.h:89
__IO uint32_t wake_fl
Definition: spi_regs.h:87
__IO uint32_t int_en
Definition: spi_regs.h:86
__IO uint32_t ss_time
Definition: spi_regs.h:81
__IO uint32_t dma
Definition: spi_regs.h:84
__IO uint32_t ctrl1
Definition: spi_regs.h:79
__IO uint32_t clk_cfg
Definition: spi_regs.h:82
__IO uint32_t ctrl2
Definition: spi_regs.h:80
__IO uint32_t wake_en
Definition: spi_regs.h:88
Definition: spi_regs.h:76