MAX32665 Peripheral Driver API
Peripheral Driver API for the MAX32665
spixfm_regs.h
1 
6 /* ****************************************************************************
7  * Copyright (C) 2016 Maxim Integrated Products, Inc., All Rights Reserved.
8  *
9  * Permission is hereby granted, free of charge, to any person obtaining a
10  * copy of this software and associated documentation files (the "Software"),
11  * to deal in the Software without restriction, including without limitation
12  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
13  * and/or sell copies of the Software, and to permit persons to whom the
14  * Software is furnished to do so, subject to the following conditions:
15  *
16  * The above copyright notice and this permission notice shall be included
17  * in all copies or substantial portions of the Software.
18  *
19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
20  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22  * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
23  * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
24  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25  * OTHER DEALINGS IN THE SOFTWARE.
26  *
27  * Except as contained in this notice, the name of Maxim Integrated
28  * Products, Inc. shall not be used except as stated in the Maxim Integrated
29  * Products, Inc. Branding Policy.
30  *
31  * The mere transfer of this software does not imply any licenses
32  * of trade secrets, proprietary technology, copyrights, patents,
33  * trademarks, maskwork rights, or any other form of intellectual
34  * property whatsoever. Maxim Integrated Products, Inc. retains all
35  * ownership rights.
36  *
37  *
38  *************************************************************************** */
39 
40 #ifndef _SPIXFM_REGS_H_
41 #define _SPIXFM_REGS_H_
42 
43 /* **** Includes **** */
44 #include <stdint.h>
45 
46 #ifdef __cplusplus
47 extern "C" {
48 #endif
49 
50 #if defined (__ICCARM__)
51  #pragma system_include
52 #endif
53 
54 #if defined (__CC_ARM)
55  #pragma anon_unions
56 #endif
57 /*
59  If types are not defined elsewhere (CMSIS) define them here
60 */
61 #ifndef __IO
62 #define __IO volatile
63 #endif
64 #ifndef __I
65 #define __I volatile const
66 #endif
67 #ifndef __O
68 #define __O volatile
69 #endif
70 #ifndef __R
71 #define __R volatile const
72 #endif
73 
75 /* **** Definitions **** */
76 
88 typedef struct {
89  __IO uint32_t cfg;
90  __IO uint32_t fetch_ctrl;
91  __IO uint32_t mode_ctrl;
92  __IO uint32_t mode_data;
93  __IO uint32_t sclk_fb_ctrl;
94  __R uint32_t rsv_0x14_0x1b[2];
95  __IO uint32_t io_ctrl;
96  __IO uint32_t memseccn;
97  __IO uint32_t bus_idle;
99 
100 /* Register offsets for module SPIXFM */
107  #define MXC_R_SPIXFM_CFG ((uint32_t)0x00000000UL)
108  #define MXC_R_SPIXFM_FETCH_CTRL ((uint32_t)0x00000004UL)
109  #define MXC_R_SPIXFM_MODE_CTRL ((uint32_t)0x00000008UL)
110  #define MXC_R_SPIXFM_MODE_DATA ((uint32_t)0x0000000CUL)
111  #define MXC_R_SPIXFM_SCLK_FB_CTRL ((uint32_t)0x00000010UL)
112  #define MXC_R_SPIXFM_IO_CTRL ((uint32_t)0x0000001CUL)
113  #define MXC_R_SPIXFM_MEMSECCN ((uint32_t)0x00000020UL)
114  #define MXC_R_SPIXFM_BUS_IDLE ((uint32_t)0x00000024UL)
123  #define MXC_F_SPIXFM_CFG_MODE_POS 0
124  #define MXC_F_SPIXFM_CFG_MODE ((uint32_t)(0x3UL << MXC_F_SPIXFM_CFG_MODE_POS))
125  #define MXC_V_SPIXFM_CFG_MODE_SCLK_HI_SAMPLE_RISING ((uint32_t)0x0UL)
126  #define MXC_S_SPIXFM_CFG_MODE_SCLK_HI_SAMPLE_RISING (MXC_V_SPIXFM_CFG_MODE_SCLK_HI_SAMPLE_RISING << MXC_F_SPIXFM_CFG_MODE_POS)
127  #define MXC_V_SPIXFM_CFG_MODE_SCLK_LO_SAMPLE_FAILLING ((uint32_t)0x3UL)
128  #define MXC_S_SPIXFM_CFG_MODE_SCLK_LO_SAMPLE_FAILLING (MXC_V_SPIXFM_CFG_MODE_SCLK_LO_SAMPLE_FAILLING << MXC_F_SPIXFM_CFG_MODE_POS)
130  #define MXC_F_SPIXFM_CFG_SSPOL_POS 2
131  #define MXC_F_SPIXFM_CFG_SSPOL ((uint32_t)(0x1UL << MXC_F_SPIXFM_CFG_SSPOL_POS))
133  #define MXC_F_SPIXFM_CFG_SSEL_POS 4
134  #define MXC_F_SPIXFM_CFG_SSEL ((uint32_t)(0x7UL << MXC_F_SPIXFM_CFG_SSEL_POS))
136  #define MXC_F_SPIXFM_CFG_LO_CLK_POS 8
137  #define MXC_F_SPIXFM_CFG_LO_CLK ((uint32_t)(0xFUL << MXC_F_SPIXFM_CFG_LO_CLK_POS))
139  #define MXC_F_SPIXFM_CFG_HI_CLK_POS 12
140  #define MXC_F_SPIXFM_CFG_HI_CLK ((uint32_t)(0xFUL << MXC_F_SPIXFM_CFG_HI_CLK_POS))
142  #define MXC_F_SPIXFM_CFG_SSACT_POS 16
143  #define MXC_F_SPIXFM_CFG_SSACT ((uint32_t)(0x3UL << MXC_F_SPIXFM_CFG_SSACT_POS))
144  #define MXC_V_SPIXFM_CFG_SSACT_OFF ((uint32_t)0x0UL)
145  #define MXC_S_SPIXFM_CFG_SSACT_OFF (MXC_V_SPIXFM_CFG_SSACT_OFF << MXC_F_SPIXFM_CFG_SSACT_POS)
146  #define MXC_V_SPIXFM_CFG_SSACT_FOR_2_MOD_CLK ((uint32_t)0x1UL)
147  #define MXC_S_SPIXFM_CFG_SSACT_FOR_2_MOD_CLK (MXC_V_SPIXFM_CFG_SSACT_FOR_2_MOD_CLK << MXC_F_SPIXFM_CFG_SSACT_POS)
148  #define MXC_V_SPIXFM_CFG_SSACT_FOR_4_MOD_CLK ((uint32_t)0x2UL)
149  #define MXC_S_SPIXFM_CFG_SSACT_FOR_4_MOD_CLK (MXC_V_SPIXFM_CFG_SSACT_FOR_4_MOD_CLK << MXC_F_SPIXFM_CFG_SSACT_POS)
150  #define MXC_V_SPIXFM_CFG_SSACT_FOR_8_MOD_CLK ((uint32_t)0x3UL)
151  #define MXC_S_SPIXFM_CFG_SSACT_FOR_8_MOD_CLK (MXC_V_SPIXFM_CFG_SSACT_FOR_8_MOD_CLK << MXC_F_SPIXFM_CFG_SSACT_POS)
153  #define MXC_F_SPIXFM_CFG_SSIACT_POS 18
154  #define MXC_F_SPIXFM_CFG_SSIACT ((uint32_t)(0x3UL << MXC_F_SPIXFM_CFG_SSIACT_POS))
155  #define MXC_V_SPIXFM_CFG_SSIACT_FOR_1_MOD_CLK ((uint32_t)0x0UL)
156  #define MXC_S_SPIXFM_CFG_SSIACT_FOR_1_MOD_CLK (MXC_V_SPIXFM_CFG_SSIACT_FOR_1_MOD_CLK << MXC_F_SPIXFM_CFG_SSIACT_POS)
157  #define MXC_V_SPIXFM_CFG_SSIACT_FOR_3_MOD_CLK ((uint32_t)0x1UL)
158  #define MXC_S_SPIXFM_CFG_SSIACT_FOR_3_MOD_CLK (MXC_V_SPIXFM_CFG_SSIACT_FOR_3_MOD_CLK << MXC_F_SPIXFM_CFG_SSIACT_POS)
159  #define MXC_V_SPIXFM_CFG_SSIACT_FOR_5_MOD_CLK ((uint32_t)0x2UL)
160  #define MXC_S_SPIXFM_CFG_SSIACT_FOR_5_MOD_CLK (MXC_V_SPIXFM_CFG_SSIACT_FOR_5_MOD_CLK << MXC_F_SPIXFM_CFG_SSIACT_POS)
161  #define MXC_V_SPIXFM_CFG_SSIACT_FOR_9_MOD_CLK ((uint32_t)0x3UL)
162  #define MXC_S_SPIXFM_CFG_SSIACT_FOR_9_MOD_CLK (MXC_V_SPIXFM_CFG_SSIACT_FOR_9_MOD_CLK << MXC_F_SPIXFM_CFG_SSIACT_POS)
172  #define MXC_F_SPIXFM_FETCH_CTRL_CMDVAL_POS 0
173  #define MXC_F_SPIXFM_FETCH_CTRL_CMDVAL ((uint32_t)(0xFFUL << MXC_F_SPIXFM_FETCH_CTRL_CMDVAL_POS))
175  #define MXC_F_SPIXFM_FETCH_CTRL_CMD_WIDTH_POS 8
176  #define MXC_F_SPIXFM_FETCH_CTRL_CMD_WIDTH ((uint32_t)(0x3UL << MXC_F_SPIXFM_FETCH_CTRL_CMD_WIDTH_POS))
177  #define MXC_V_SPIXFM_FETCH_CTRL_CMD_WIDTH_SINGLE ((uint32_t)0x0UL)
178  #define MXC_S_SPIXFM_FETCH_CTRL_CMD_WIDTH_SINGLE (MXC_V_SPIXFM_FETCH_CTRL_CMD_WIDTH_SINGLE << MXC_F_SPIXFM_FETCH_CTRL_CMD_WIDTH_POS)
179  #define MXC_V_SPIXFM_FETCH_CTRL_CMD_WIDTH_DUAL_IO ((uint32_t)0x1UL)
180  #define MXC_S_SPIXFM_FETCH_CTRL_CMD_WIDTH_DUAL_IO (MXC_V_SPIXFM_FETCH_CTRL_CMD_WIDTH_DUAL_IO << MXC_F_SPIXFM_FETCH_CTRL_CMD_WIDTH_POS)
181  #define MXC_V_SPIXFM_FETCH_CTRL_CMD_WIDTH_QUAD_IO ((uint32_t)0x2UL)
182  #define MXC_S_SPIXFM_FETCH_CTRL_CMD_WIDTH_QUAD_IO (MXC_V_SPIXFM_FETCH_CTRL_CMD_WIDTH_QUAD_IO << MXC_F_SPIXFM_FETCH_CTRL_CMD_WIDTH_POS)
183  #define MXC_V_SPIXFM_FETCH_CTRL_CMD_WIDTH_INVALID ((uint32_t)0x3UL)
184  #define MXC_S_SPIXFM_FETCH_CTRL_CMD_WIDTH_INVALID (MXC_V_SPIXFM_FETCH_CTRL_CMD_WIDTH_INVALID << MXC_F_SPIXFM_FETCH_CTRL_CMD_WIDTH_POS)
186  #define MXC_F_SPIXFM_FETCH_CTRL_ADDR_WIDTH_POS 10
187  #define MXC_F_SPIXFM_FETCH_CTRL_ADDR_WIDTH ((uint32_t)(0x3UL << MXC_F_SPIXFM_FETCH_CTRL_ADDR_WIDTH_POS))
188  #define MXC_V_SPIXFM_FETCH_CTRL_ADDR_WIDTH_SINGLE ((uint32_t)0x0UL)
189  #define MXC_S_SPIXFM_FETCH_CTRL_ADDR_WIDTH_SINGLE (MXC_V_SPIXFM_FETCH_CTRL_ADDR_WIDTH_SINGLE << MXC_F_SPIXFM_FETCH_CTRL_ADDR_WIDTH_POS)
190  #define MXC_V_SPIXFM_FETCH_CTRL_ADDR_WIDTH_DUAL_IO ((uint32_t)0x1UL)
191  #define MXC_S_SPIXFM_FETCH_CTRL_ADDR_WIDTH_DUAL_IO (MXC_V_SPIXFM_FETCH_CTRL_ADDR_WIDTH_DUAL_IO << MXC_F_SPIXFM_FETCH_CTRL_ADDR_WIDTH_POS)
192  #define MXC_V_SPIXFM_FETCH_CTRL_ADDR_WIDTH_QUAD_IO ((uint32_t)0x2UL)
193  #define MXC_S_SPIXFM_FETCH_CTRL_ADDR_WIDTH_QUAD_IO (MXC_V_SPIXFM_FETCH_CTRL_ADDR_WIDTH_QUAD_IO << MXC_F_SPIXFM_FETCH_CTRL_ADDR_WIDTH_POS)
194  #define MXC_V_SPIXFM_FETCH_CTRL_ADDR_WIDTH_INVALID ((uint32_t)0x3UL)
195  #define MXC_S_SPIXFM_FETCH_CTRL_ADDR_WIDTH_INVALID (MXC_V_SPIXFM_FETCH_CTRL_ADDR_WIDTH_INVALID << MXC_F_SPIXFM_FETCH_CTRL_ADDR_WIDTH_POS)
197  #define MXC_F_SPIXFM_FETCH_CTRL_DATA_WIDTH_POS 12
198  #define MXC_F_SPIXFM_FETCH_CTRL_DATA_WIDTH ((uint32_t)(0x3UL << MXC_F_SPIXFM_FETCH_CTRL_DATA_WIDTH_POS))
199  #define MXC_V_SPIXFM_FETCH_CTRL_DATA_WIDTH_SINGLE ((uint32_t)0x0UL)
200  #define MXC_S_SPIXFM_FETCH_CTRL_DATA_WIDTH_SINGLE (MXC_V_SPIXFM_FETCH_CTRL_DATA_WIDTH_SINGLE << MXC_F_SPIXFM_FETCH_CTRL_DATA_WIDTH_POS)
201  #define MXC_V_SPIXFM_FETCH_CTRL_DATA_WIDTH_DUAL_IO ((uint32_t)0x1UL)
202  #define MXC_S_SPIXFM_FETCH_CTRL_DATA_WIDTH_DUAL_IO (MXC_V_SPIXFM_FETCH_CTRL_DATA_WIDTH_DUAL_IO << MXC_F_SPIXFM_FETCH_CTRL_DATA_WIDTH_POS)
203  #define MXC_V_SPIXFM_FETCH_CTRL_DATA_WIDTH_QUAD_IO ((uint32_t)0x2UL)
204  #define MXC_S_SPIXFM_FETCH_CTRL_DATA_WIDTH_QUAD_IO (MXC_V_SPIXFM_FETCH_CTRL_DATA_WIDTH_QUAD_IO << MXC_F_SPIXFM_FETCH_CTRL_DATA_WIDTH_POS)
205  #define MXC_V_SPIXFM_FETCH_CTRL_DATA_WIDTH_INVALID ((uint32_t)0x3UL)
206  #define MXC_S_SPIXFM_FETCH_CTRL_DATA_WIDTH_INVALID (MXC_V_SPIXFM_FETCH_CTRL_DATA_WIDTH_INVALID << MXC_F_SPIXFM_FETCH_CTRL_DATA_WIDTH_POS)
208  #define MXC_F_SPIXFM_FETCH_CTRL_FOUR_BYTE_ADDR_POS 16
209  #define MXC_F_SPIXFM_FETCH_CTRL_FOUR_BYTE_ADDR ((uint32_t)(0x1UL << MXC_F_SPIXFM_FETCH_CTRL_FOUR_BYTE_ADDR_POS))
219  #define MXC_F_SPIXFM_MODE_CTRL_MDCLK_POS 0
220  #define MXC_F_SPIXFM_MODE_CTRL_MDCLK ((uint32_t)(0xFUL << MXC_F_SPIXFM_MODE_CTRL_MDCLK_POS))
222  #define MXC_F_SPIXFM_MODE_CTRL_NO_CMD_POS 8
223  #define MXC_F_SPIXFM_MODE_CTRL_NO_CMD ((uint32_t)(0x1UL << MXC_F_SPIXFM_MODE_CTRL_NO_CMD_POS))
225  #define MXC_F_SPIXFM_MODE_CTRL_MODE_SEND_POS 9
226  #define MXC_F_SPIXFM_MODE_CTRL_MODE_SEND ((uint32_t)(0x1UL << MXC_F_SPIXFM_MODE_CTRL_MODE_SEND_POS))
236  #define MXC_F_SPIXFM_MODE_DATA_DATA_POS 0
237  #define MXC_F_SPIXFM_MODE_DATA_DATA ((uint32_t)(0xFFFFUL << MXC_F_SPIXFM_MODE_DATA_DATA_POS))
239  #define MXC_F_SPIXFM_MODE_DATA_OUT_EN_POS 16
240  #define MXC_F_SPIXFM_MODE_DATA_OUT_EN ((uint32_t)(0xFFFFUL << MXC_F_SPIXFM_MODE_DATA_OUT_EN_POS))
250  #define MXC_F_SPIXFM_SCLK_FB_CTRL_FB_EN_POS 0
251  #define MXC_F_SPIXFM_SCLK_FB_CTRL_FB_EN ((uint32_t)(0x1UL << MXC_F_SPIXFM_SCLK_FB_CTRL_FB_EN_POS))
253  #define MXC_F_SPIXFM_SCLK_FB_CTRL_INVERT_EN_POS 1
254  #define MXC_F_SPIXFM_SCLK_FB_CTRL_INVERT_EN ((uint32_t)(0x1UL << MXC_F_SPIXFM_SCLK_FB_CTRL_INVERT_EN_POS))
256  #define MXC_F_SPIXFM_SCLK_FB_CTRL_IGNORE_CLKS_POS 4
257  #define MXC_F_SPIXFM_SCLK_FB_CTRL_IGNORE_CLKS ((uint32_t)(0x3FUL << MXC_F_SPIXFM_SCLK_FB_CTRL_IGNORE_CLKS_POS))
259  #define MXC_F_SPIXFM_SCLK_FB_CTRL_IGNORE_CLKS_NO_CMD_POS 12
260  #define MXC_F_SPIXFM_SCLK_FB_CTRL_IGNORE_CLKS_NO_CMD ((uint32_t)(0x3FUL << MXC_F_SPIXFM_SCLK_FB_CTRL_IGNORE_CLKS_NO_CMD_POS))
270  #define MXC_F_SPIXFM_IO_CTRL_SCLK_DS_POS 0
271  #define MXC_F_SPIXFM_IO_CTRL_SCLK_DS ((uint32_t)(0x1UL << MXC_F_SPIXFM_IO_CTRL_SCLK_DS_POS))
273  #define MXC_F_SPIXFM_IO_CTRL_SS_DS_POS 1
274  #define MXC_F_SPIXFM_IO_CTRL_SS_DS ((uint32_t)(0x1UL << MXC_F_SPIXFM_IO_CTRL_SS_DS_POS))
276  #define MXC_F_SPIXFM_IO_CTRL_SDIO_DS_POS 2
277  #define MXC_F_SPIXFM_IO_CTRL_SDIO_DS ((uint32_t)(0x1UL << MXC_F_SPIXFM_IO_CTRL_SDIO_DS_POS))
279  #define MXC_F_SPIXFM_IO_CTRL_PU_PD_CTRL_POS 3
280  #define MXC_F_SPIXFM_IO_CTRL_PU_PD_CTRL ((uint32_t)(0x3UL << MXC_F_SPIXFM_IO_CTRL_PU_PD_CTRL_POS))
281  #define MXC_V_SPIXFM_IO_CTRL_PU_PD_CTRL_TRI_STATE ((uint32_t)0x0UL)
282  #define MXC_S_SPIXFM_IO_CTRL_PU_PD_CTRL_TRI_STATE (MXC_V_SPIXFM_IO_CTRL_PU_PD_CTRL_TRI_STATE << MXC_F_SPIXFM_IO_CTRL_PU_PD_CTRL_POS)
283  #define MXC_V_SPIXFM_IO_CTRL_PU_PD_CTRL_PULL_UP ((uint32_t)0x1UL)
284  #define MXC_S_SPIXFM_IO_CTRL_PU_PD_CTRL_PULL_UP (MXC_V_SPIXFM_IO_CTRL_PU_PD_CTRL_PULL_UP << MXC_F_SPIXFM_IO_CTRL_PU_PD_CTRL_POS)
285  #define MXC_V_SPIXFM_IO_CTRL_PU_PD_CTRL_PULL_DOWN ((uint32_t)0x2UL)
286  #define MXC_S_SPIXFM_IO_CTRL_PU_PD_CTRL_PULL_DOWN (MXC_V_SPIXFM_IO_CTRL_PU_PD_CTRL_PULL_DOWN << MXC_F_SPIXFM_IO_CTRL_PU_PD_CTRL_POS)
296  #define MXC_F_SPIXFM_MEMSECCN_DECEN_POS 0
297  #define MXC_F_SPIXFM_MEMSECCN_DECEN ((uint32_t)(0x1UL << MXC_F_SPIXFM_MEMSECCN_DECEN_POS))
299  #define MXC_F_SPIXFM_MEMSECCN_AUTH_DISABLE_POS 1
300  #define MXC_F_SPIXFM_MEMSECCN_AUTH_DISABLE ((uint32_t)(0x1UL << MXC_F_SPIXFM_MEMSECCN_AUTH_DISABLE_POS))
310  #define MXC_F_SPIXFM_BUS_IDLE_BUSIDLE_POS 0
311  #define MXC_F_SPIXFM_BUS_IDLE_BUSIDLE ((uint32_t)(0xFFFFUL << MXC_F_SPIXFM_BUS_IDLE_BUSIDLE_POS))
315 #ifdef __cplusplus
316 }
317 #endif
318 
319 #endif /* _SPIXFM_REGS_H_ */
mxc_spixfm_regs_t::sclk_fb_ctrl
__IO uint32_t sclk_fb_ctrl
Definition: spixfm_regs.h:93
mxc_spixfm_regs_t::fetch_ctrl
__IO uint32_t fetch_ctrl
Definition: spixfm_regs.h:90
mxc_spixfm_regs_t::memseccn
__IO uint32_t memseccn
Definition: spixfm_regs.h:96
mxc_spixfm_regs_t::io_ctrl
__IO uint32_t io_ctrl
Definition: spixfm_regs.h:95
mxc_spixfm_regs_t::mode_ctrl
__IO uint32_t mode_ctrl
Definition: spixfm_regs.h:91
mxc_spixfm_regs_t::cfg
__IO uint32_t cfg
Definition: spixfm_regs.h:89
mxc_spixfm_regs_t::bus_idle
__IO uint32_t bus_idle
Definition: spixfm_regs.h:97
mxc_spixfm_regs_t
Definition: spixfm_regs.h:88
mxc_spixfm_regs_t::mode_data
__IO uint32_t mode_data
Definition: spixfm_regs.h:92