MAX32690 Peripheral Driver API
Peripheral Driver API for the MAX32690
spixfm_regs.h
Go to the documentation of this file.
1
8/******************************************************************************
9 *
10 * Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
11 * Analog Devices, Inc.),
12 * Copyright (C) 2023-2024 Analog Devices, Inc.
13 *
14 * Licensed under the Apache License, Version 2.0 (the "License");
15 * you may not use this file except in compliance with the License.
16 * You may obtain a copy of the License at
17 *
18 * http://www.apache.org/licenses/LICENSE-2.0
19 *
20 * Unless required by applicable law or agreed to in writing, software
21 * distributed under the License is distributed on an "AS IS" BASIS,
22 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23 * See the License for the specific language governing permissions and
24 * limitations under the License.
25 *
26 ******************************************************************************/
27
28#ifndef LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32690_INCLUDE_SPIXFM_REGS_H_
29#define LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32690_INCLUDE_SPIXFM_REGS_H_
30
31/* **** Includes **** */
32#include <stdint.h>
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
38#if defined (__ICCARM__)
39 #pragma system_include
40#endif
41
42#if defined (__CC_ARM)
43 #pragma anon_unions
44#endif
46/*
47 If types are not defined elsewhere (CMSIS) define them here
48*/
49#ifndef __IO
50#define __IO volatile
51#endif
52#ifndef __I
53#define __I volatile const
54#endif
55#ifndef __O
56#define __O volatile
57#endif
58#ifndef __R
59#define __R volatile const
60#endif
62
63/* **** Definitions **** */
64
76typedef struct {
77 __IO uint32_t ctrl;
78 __IO uint32_t fetchctrl;
79 __IO uint32_t modectrl;
80 __IO uint32_t modedata;
81 __IO uint32_t fbctrl;
82 __R uint32_t rsv_0x14_0x1b[2];
83 __IO uint32_t ioctrl;
84 __IO uint32_t memsecctrl;
85 __IO uint32_t busidle;
86 __IO uint32_t authoffset;
88
89/* Register offsets for module SPIXFM */
96#define MXC_R_SPIXFM_CTRL ((uint32_t)0x00000000UL)
97#define MXC_R_SPIXFM_FETCHCTRL ((uint32_t)0x00000004UL)
98#define MXC_R_SPIXFM_MODECTRL ((uint32_t)0x00000008UL)
99#define MXC_R_SPIXFM_MODEDATA ((uint32_t)0x0000000CUL)
100#define MXC_R_SPIXFM_FBCTRL ((uint32_t)0x00000010UL)
101#define MXC_R_SPIXFM_IOCTRL ((uint32_t)0x0000001CUL)
102#define MXC_R_SPIXFM_MEMSECCTRL ((uint32_t)0x00000020UL)
103#define MXC_R_SPIXFM_BUSIDLE ((uint32_t)0x00000024UL)
104#define MXC_R_SPIXFM_AUTHOFFSET ((uint32_t)0x00000028UL)
113#define MXC_F_SPIXFM_CTRL_MODE_POS 0
114#define MXC_F_SPIXFM_CTRL_MODE ((uint32_t)(0x3UL << MXC_F_SPIXFM_CTRL_MODE_POS))
115#define MXC_V_SPIXFM_CTRL_MODE_SCLK_HI_SAMPLE_RISING ((uint32_t)0x0UL)
116#define MXC_S_SPIXFM_CTRL_MODE_SCLK_HI_SAMPLE_RISING (MXC_V_SPIXFM_CTRL_MODE_SCLK_HI_SAMPLE_RISING << MXC_F_SPIXFM_CTRL_MODE_POS)
117#define MXC_V_SPIXFM_CTRL_MODE_SCLK_LO_SAMPLE_FAILLING ((uint32_t)0x3UL)
118#define MXC_S_SPIXFM_CTRL_MODE_SCLK_LO_SAMPLE_FAILLING (MXC_V_SPIXFM_CTRL_MODE_SCLK_LO_SAMPLE_FAILLING << MXC_F_SPIXFM_CTRL_MODE_POS)
120#define MXC_F_SPIXFM_CTRL_SSPOL_POS 2
121#define MXC_F_SPIXFM_CTRL_SSPOL ((uint32_t)(0x1UL << MXC_F_SPIXFM_CTRL_SSPOL_POS))
123#define MXC_F_SPIXFM_CTRL_SSEL_POS 4
124#define MXC_F_SPIXFM_CTRL_SSEL ((uint32_t)(0x7UL << MXC_F_SPIXFM_CTRL_SSEL_POS))
126#define MXC_F_SPIXFM_CTRL_LOCLK_POS 8
127#define MXC_F_SPIXFM_CTRL_LOCLK ((uint32_t)(0xFUL << MXC_F_SPIXFM_CTRL_LOCLK_POS))
129#define MXC_F_SPIXFM_CTRL_HICLK_POS 12
130#define MXC_F_SPIXFM_CTRL_HICLK ((uint32_t)(0xFUL << MXC_F_SPIXFM_CTRL_HICLK_POS))
132#define MXC_F_SPIXFM_CTRL_SSACT_POS 16
133#define MXC_F_SPIXFM_CTRL_SSACT ((uint32_t)(0x3UL << MXC_F_SPIXFM_CTRL_SSACT_POS))
134#define MXC_V_SPIXFM_CTRL_SSACT_OFF ((uint32_t)0x0UL)
135#define MXC_S_SPIXFM_CTRL_SSACT_OFF (MXC_V_SPIXFM_CTRL_SSACT_OFF << MXC_F_SPIXFM_CTRL_SSACT_POS)
136#define MXC_V_SPIXFM_CTRL_SSACT_FOR_2_MOD_CLK ((uint32_t)0x1UL)
137#define MXC_S_SPIXFM_CTRL_SSACT_FOR_2_MOD_CLK (MXC_V_SPIXFM_CTRL_SSACT_FOR_2_MOD_CLK << MXC_F_SPIXFM_CTRL_SSACT_POS)
138#define MXC_V_SPIXFM_CTRL_SSACT_FOR_4_MOD_CLK ((uint32_t)0x2UL)
139#define MXC_S_SPIXFM_CTRL_SSACT_FOR_4_MOD_CLK (MXC_V_SPIXFM_CTRL_SSACT_FOR_4_MOD_CLK << MXC_F_SPIXFM_CTRL_SSACT_POS)
140#define MXC_V_SPIXFM_CTRL_SSACT_FOR_8_MOD_CLK ((uint32_t)0x3UL)
141#define MXC_S_SPIXFM_CTRL_SSACT_FOR_8_MOD_CLK (MXC_V_SPIXFM_CTRL_SSACT_FOR_8_MOD_CLK << MXC_F_SPIXFM_CTRL_SSACT_POS)
143#define MXC_F_SPIXFM_CTRL_SSIACT_POS 18
144#define MXC_F_SPIXFM_CTRL_SSIACT ((uint32_t)(0x3UL << MXC_F_SPIXFM_CTRL_SSIACT_POS))
145#define MXC_V_SPIXFM_CTRL_SSIACT_FOR_1_MOD_CLK ((uint32_t)0x0UL)
146#define MXC_S_SPIXFM_CTRL_SSIACT_FOR_1_MOD_CLK (MXC_V_SPIXFM_CTRL_SSIACT_FOR_1_MOD_CLK << MXC_F_SPIXFM_CTRL_SSIACT_POS)
147#define MXC_V_SPIXFM_CTRL_SSIACT_FOR_3_MOD_CLK ((uint32_t)0x1UL)
148#define MXC_S_SPIXFM_CTRL_SSIACT_FOR_3_MOD_CLK (MXC_V_SPIXFM_CTRL_SSIACT_FOR_3_MOD_CLK << MXC_F_SPIXFM_CTRL_SSIACT_POS)
149#define MXC_V_SPIXFM_CTRL_SSIACT_FOR_5_MOD_CLK ((uint32_t)0x2UL)
150#define MXC_S_SPIXFM_CTRL_SSIACT_FOR_5_MOD_CLK (MXC_V_SPIXFM_CTRL_SSIACT_FOR_5_MOD_CLK << MXC_F_SPIXFM_CTRL_SSIACT_POS)
151#define MXC_V_SPIXFM_CTRL_SSIACT_FOR_9_MOD_CLK ((uint32_t)0x3UL)
152#define MXC_S_SPIXFM_CTRL_SSIACT_FOR_9_MOD_CLK (MXC_V_SPIXFM_CTRL_SSIACT_FOR_9_MOD_CLK << MXC_F_SPIXFM_CTRL_SSIACT_POS)
162#define MXC_F_SPIXFM_FETCHCTRL_CMDVAL_POS 0
163#define MXC_F_SPIXFM_FETCHCTRL_CMDVAL ((uint32_t)(0xFFUL << MXC_F_SPIXFM_FETCHCTRL_CMDVAL_POS))
165#define MXC_F_SPIXFM_FETCHCTRL_CMDWTH_POS 8
166#define MXC_F_SPIXFM_FETCHCTRL_CMDWTH ((uint32_t)(0x3UL << MXC_F_SPIXFM_FETCHCTRL_CMDWTH_POS))
167#define MXC_V_SPIXFM_FETCHCTRL_CMDWTH_SINGLE ((uint32_t)0x0UL)
168#define MXC_S_SPIXFM_FETCHCTRL_CMDWTH_SINGLE (MXC_V_SPIXFM_FETCHCTRL_CMDWTH_SINGLE << MXC_F_SPIXFM_FETCHCTRL_CMDWTH_POS)
169#define MXC_V_SPIXFM_FETCHCTRL_CMDWTH_DUAL_IO ((uint32_t)0x1UL)
170#define MXC_S_SPIXFM_FETCHCTRL_CMDWTH_DUAL_IO (MXC_V_SPIXFM_FETCHCTRL_CMDWTH_DUAL_IO << MXC_F_SPIXFM_FETCHCTRL_CMDWTH_POS)
171#define MXC_V_SPIXFM_FETCHCTRL_CMDWTH_QUAD_IO ((uint32_t)0x2UL)
172#define MXC_S_SPIXFM_FETCHCTRL_CMDWTH_QUAD_IO (MXC_V_SPIXFM_FETCHCTRL_CMDWTH_QUAD_IO << MXC_F_SPIXFM_FETCHCTRL_CMDWTH_POS)
173#define MXC_V_SPIXFM_FETCHCTRL_CMDWTH_INVALID ((uint32_t)0x3UL)
174#define MXC_S_SPIXFM_FETCHCTRL_CMDWTH_INVALID (MXC_V_SPIXFM_FETCHCTRL_CMDWTH_INVALID << MXC_F_SPIXFM_FETCHCTRL_CMDWTH_POS)
176#define MXC_F_SPIXFM_FETCHCTRL_ADDR_WIDTH_POS 10
177#define MXC_F_SPIXFM_FETCHCTRL_ADDR_WIDTH ((uint32_t)(0x3UL << MXC_F_SPIXFM_FETCHCTRL_ADDR_WIDTH_POS))
178#define MXC_V_SPIXFM_FETCHCTRL_ADDR_WIDTH_SINGLE ((uint32_t)0x0UL)
179#define MXC_S_SPIXFM_FETCHCTRL_ADDR_WIDTH_SINGLE (MXC_V_SPIXFM_FETCHCTRL_ADDR_WIDTH_SINGLE << MXC_F_SPIXFM_FETCHCTRL_ADDR_WIDTH_POS)
180#define MXC_V_SPIXFM_FETCHCTRL_ADDR_WIDTH_DUAL_IO ((uint32_t)0x1UL)
181#define MXC_S_SPIXFM_FETCHCTRL_ADDR_WIDTH_DUAL_IO (MXC_V_SPIXFM_FETCHCTRL_ADDR_WIDTH_DUAL_IO << MXC_F_SPIXFM_FETCHCTRL_ADDR_WIDTH_POS)
182#define MXC_V_SPIXFM_FETCHCTRL_ADDR_WIDTH_QUAD_IO ((uint32_t)0x2UL)
183#define MXC_S_SPIXFM_FETCHCTRL_ADDR_WIDTH_QUAD_IO (MXC_V_SPIXFM_FETCHCTRL_ADDR_WIDTH_QUAD_IO << MXC_F_SPIXFM_FETCHCTRL_ADDR_WIDTH_POS)
184#define MXC_V_SPIXFM_FETCHCTRL_ADDR_WIDTH_INVALID ((uint32_t)0x3UL)
185#define MXC_S_SPIXFM_FETCHCTRL_ADDR_WIDTH_INVALID (MXC_V_SPIXFM_FETCHCTRL_ADDR_WIDTH_INVALID << MXC_F_SPIXFM_FETCHCTRL_ADDR_WIDTH_POS)
187#define MXC_F_SPIXFM_FETCHCTRL_DATA_WIDTH_POS 12
188#define MXC_F_SPIXFM_FETCHCTRL_DATA_WIDTH ((uint32_t)(0x3UL << MXC_F_SPIXFM_FETCHCTRL_DATA_WIDTH_POS))
189#define MXC_V_SPIXFM_FETCHCTRL_DATA_WIDTH_SINGLE ((uint32_t)0x0UL)
190#define MXC_S_SPIXFM_FETCHCTRL_DATA_WIDTH_SINGLE (MXC_V_SPIXFM_FETCHCTRL_DATA_WIDTH_SINGLE << MXC_F_SPIXFM_FETCHCTRL_DATA_WIDTH_POS)
191#define MXC_V_SPIXFM_FETCHCTRL_DATA_WIDTH_DUAL_IO ((uint32_t)0x1UL)
192#define MXC_S_SPIXFM_FETCHCTRL_DATA_WIDTH_DUAL_IO (MXC_V_SPIXFM_FETCHCTRL_DATA_WIDTH_DUAL_IO << MXC_F_SPIXFM_FETCHCTRL_DATA_WIDTH_POS)
193#define MXC_V_SPIXFM_FETCHCTRL_DATA_WIDTH_QUAD_IO ((uint32_t)0x2UL)
194#define MXC_S_SPIXFM_FETCHCTRL_DATA_WIDTH_QUAD_IO (MXC_V_SPIXFM_FETCHCTRL_DATA_WIDTH_QUAD_IO << MXC_F_SPIXFM_FETCHCTRL_DATA_WIDTH_POS)
195#define MXC_V_SPIXFM_FETCHCTRL_DATA_WIDTH_INVALID ((uint32_t)0x3UL)
196#define MXC_S_SPIXFM_FETCHCTRL_DATA_WIDTH_INVALID (MXC_V_SPIXFM_FETCHCTRL_DATA_WIDTH_INVALID << MXC_F_SPIXFM_FETCHCTRL_DATA_WIDTH_POS)
198#define MXC_F_SPIXFM_FETCHCTRL_4BADDR_POS 16
199#define MXC_F_SPIXFM_FETCHCTRL_4BADDR ((uint32_t)(0x1UL << MXC_F_SPIXFM_FETCHCTRL_4BADDR_POS))
209#define MXC_F_SPIXFM_MODECTRL_MDCLK_POS 0
210#define MXC_F_SPIXFM_MODECTRL_MDCLK ((uint32_t)(0xFUL << MXC_F_SPIXFM_MODECTRL_MDCLK_POS))
212#define MXC_F_SPIXFM_MODECTRL_NOCMD_POS 8
213#define MXC_F_SPIXFM_MODECTRL_NOCMD ((uint32_t)(0x1UL << MXC_F_SPIXFM_MODECTRL_NOCMD_POS))
215#define MXC_F_SPIXFM_MODECTRL_EXIT_NOCMD_POS 9
216#define MXC_F_SPIXFM_MODECTRL_EXIT_NOCMD ((uint32_t)(0x1UL << MXC_F_SPIXFM_MODECTRL_EXIT_NOCMD_POS))
226#define MXC_F_SPIXFM_MODEDATA_MDDATA_POS 0
227#define MXC_F_SPIXFM_MODEDATA_MDDATA ((uint32_t)(0xFFFFUL << MXC_F_SPIXFM_MODEDATA_MDDATA_POS))
229#define MXC_F_SPIXFM_MODEDATA_MDOUT_EN_POS 16
230#define MXC_F_SPIXFM_MODEDATA_MDOUT_EN ((uint32_t)(0xFFFFUL << MXC_F_SPIXFM_MODEDATA_MDOUT_EN_POS))
240#define MXC_F_SPIXFM_FBCTRL_FB_EN_POS 0
241#define MXC_F_SPIXFM_FBCTRL_FB_EN ((uint32_t)(0x1UL << MXC_F_SPIXFM_FBCTRL_FB_EN_POS))
243#define MXC_F_SPIXFM_FBCTRL_INVERT_POS 1
244#define MXC_F_SPIXFM_FBCTRL_INVERT ((uint32_t)(0x1UL << MXC_F_SPIXFM_FBCTRL_INVERT_POS))
254#define MXC_F_SPIXFM_IOCTRL_SCLK_DS_POS 0
255#define MXC_F_SPIXFM_IOCTRL_SCLK_DS ((uint32_t)(0x1UL << MXC_F_SPIXFM_IOCTRL_SCLK_DS_POS))
257#define MXC_F_SPIXFM_IOCTRL_SS_DS_POS 1
258#define MXC_F_SPIXFM_IOCTRL_SS_DS ((uint32_t)(0x1UL << MXC_F_SPIXFM_IOCTRL_SS_DS_POS))
260#define MXC_F_SPIXFM_IOCTRL_SDIO_DS_POS 2
261#define MXC_F_SPIXFM_IOCTRL_SDIO_DS ((uint32_t)(0x1UL << MXC_F_SPIXFM_IOCTRL_SDIO_DS_POS))
263#define MXC_F_SPIXFM_IOCTRL_PADCTRL_POS 3
264#define MXC_F_SPIXFM_IOCTRL_PADCTRL ((uint32_t)(0x3UL << MXC_F_SPIXFM_IOCTRL_PADCTRL_POS))
265#define MXC_V_SPIXFM_IOCTRL_PADCTRL_TRI_STATE ((uint32_t)0x0UL)
266#define MXC_S_SPIXFM_IOCTRL_PADCTRL_TRI_STATE (MXC_V_SPIXFM_IOCTRL_PADCTRL_TRI_STATE << MXC_F_SPIXFM_IOCTRL_PADCTRL_POS)
267#define MXC_V_SPIXFM_IOCTRL_PADCTRL_PULL_UP ((uint32_t)0x1UL)
268#define MXC_S_SPIXFM_IOCTRL_PADCTRL_PULL_UP (MXC_V_SPIXFM_IOCTRL_PADCTRL_PULL_UP << MXC_F_SPIXFM_IOCTRL_PADCTRL_POS)
269#define MXC_V_SPIXFM_IOCTRL_PADCTRL_PULL_DOWN ((uint32_t)0x2UL)
270#define MXC_S_SPIXFM_IOCTRL_PADCTRL_PULL_DOWN (MXC_V_SPIXFM_IOCTRL_PADCTRL_PULL_DOWN << MXC_F_SPIXFM_IOCTRL_PADCTRL_POS)
280#define MXC_F_SPIXFM_MEMSECCTRL_DEC_EN_POS 0
281#define MXC_F_SPIXFM_MEMSECCTRL_DEC_EN ((uint32_t)(0x1UL << MXC_F_SPIXFM_MEMSECCTRL_DEC_EN_POS))
283#define MXC_F_SPIXFM_MEMSECCTRL_AUTH_DISABLE_POS 1
284#define MXC_F_SPIXFM_MEMSECCTRL_AUTH_DISABLE ((uint32_t)(0x1UL << MXC_F_SPIXFM_MEMSECCTRL_AUTH_DISABLE_POS))
286#define MXC_F_SPIXFM_MEMSECCTRL_CNTOPT_EN_POS 2
287#define MXC_F_SPIXFM_MEMSECCTRL_CNTOPT_EN ((uint32_t)(0x1UL << MXC_F_SPIXFM_MEMSECCTRL_CNTOPT_EN_POS))
289#define MXC_F_SPIXFM_MEMSECCTRL_INTERL_DIS_POS 3
290#define MXC_F_SPIXFM_MEMSECCTRL_INTERL_DIS ((uint32_t)(0x1UL << MXC_F_SPIXFM_MEMSECCTRL_INTERL_DIS_POS))
292#define MXC_F_SPIXFM_MEMSECCTRL_AUTHERR_FL_POS 4
293#define MXC_F_SPIXFM_MEMSECCTRL_AUTHERR_FL ((uint32_t)(0x1UL << MXC_F_SPIXFM_MEMSECCTRL_AUTHERR_FL_POS))
303#define MXC_F_SPIXFM_BUSIDLE_BUSIDLE_POS 0
304#define MXC_F_SPIXFM_BUSIDLE_BUSIDLE ((uint32_t)(0xFFFFUL << MXC_F_SPIXFM_BUSIDLE_BUSIDLE_POS))
308#ifdef __cplusplus
309}
310#endif
311
312#endif // LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32690_INCLUDE_SPIXFM_REGS_H_
__IO uint32_t modectrl
Definition: spixfm_regs.h:79
__IO uint32_t ioctrl
Definition: spixfm_regs.h:83
__IO uint32_t memsecctrl
Definition: spixfm_regs.h:84
__IO uint32_t modedata
Definition: spixfm_regs.h:80
__IO uint32_t ctrl
Definition: spixfm_regs.h:77
__IO uint32_t fetchctrl
Definition: spixfm_regs.h:78
__IO uint32_t busidle
Definition: spixfm_regs.h:85
__IO uint32_t fbctrl
Definition: spixfm_regs.h:81
__IO uint32_t authoffset
Definition: spixfm_regs.h:86
Definition: spixfm_regs.h:76