Zephyr Project API 4.2.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
mspi.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025, Ambiq Micro Inc. <www.ambiq.com>
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
13#ifndef ZEPHYR_INCLUDE_MSPI_H_
14#define ZEPHYR_INCLUDE_MSPI_H_
15
16#include <errno.h>
17
18#include <zephyr/sys/__assert.h>
19#include <zephyr/types.h>
20#include <zephyr/kernel.h>
21#include <zephyr/device.h>
22#include <zephyr/drivers/gpio.h>
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
45
53
76
93
103
111
119
133
146
154
164
172
196
204
217
222#ifdef __cplusplus
223 /* For C++ compatibility. */
224 uint8_t dummy;
225#endif
226};
227
239
265
271 const struct device *bus;
274};
275
317
333
347
378
396
428
452
462
472
480typedef void (*mspi_callback_handler_t)(struct mspi_callback_context *mspi_cb_ctx, ...);
481
487typedef int (*mspi_api_config)(const struct mspi_dt_spec *spec);
488
489typedef int (*mspi_api_dev_config)(const struct device *controller,
490 const struct mspi_dev_id *dev_id,
491 const enum mspi_dev_cfg_mask param_mask,
492 const struct mspi_dev_cfg *cfg);
493
494typedef int (*mspi_api_get_channel_status)(const struct device *controller, uint8_t ch);
495
496typedef int (*mspi_api_transceive)(const struct device *controller,
497 const struct mspi_dev_id *dev_id,
498 const struct mspi_xfer *req);
499
500typedef int (*mspi_api_register_callback)(const struct device *controller,
501 const struct mspi_dev_id *dev_id,
502 const enum mspi_bus_event evt_type,
504 struct mspi_callback_context *ctx);
505
506typedef int (*mspi_api_xip_config)(const struct device *controller,
507 const struct mspi_dev_id *dev_id,
508 const struct mspi_xip_cfg *xip_cfg);
509
510typedef int (*mspi_api_scramble_config)(const struct device *controller,
511 const struct mspi_dev_id *dev_id,
512 const struct mspi_scramble_cfg *scramble_cfg);
513
514typedef int (*mspi_api_timing_config)(const struct device *controller,
515 const struct mspi_dev_id *dev_id, const uint32_t param_mask,
516 void *timing_cfg);
517
528
555__syscall int mspi_config(const struct mspi_dt_spec *spec);
556
557static inline int z_impl_mspi_config(const struct mspi_dt_spec *spec)
558{
559 const struct mspi_driver_api *api = (const struct mspi_driver_api *)spec->bus->api;
560
561 return api->config(spec);
562}
563
591__syscall int mspi_dev_config(const struct device *controller,
592 const struct mspi_dev_id *dev_id,
593 const enum mspi_dev_cfg_mask param_mask,
594 const struct mspi_dev_cfg *cfg);
595
596static inline int z_impl_mspi_dev_config(const struct device *controller,
597 const struct mspi_dev_id *dev_id,
598 const enum mspi_dev_cfg_mask param_mask,
599 const struct mspi_dev_cfg *cfg)
600{
601 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api;
602
603 return api->dev_config(controller, dev_id, param_mask, cfg);
604}
605
617__syscall int mspi_get_channel_status(const struct device *controller, uint8_t ch);
618
619static inline int z_impl_mspi_get_channel_status(const struct device *controller, uint8_t ch)
620{
621 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api;
622
623 return api->get_channel_status(controller, ch);
624}
625
657__syscall int mspi_transceive(const struct device *controller,
658 const struct mspi_dev_id *dev_id,
659 const struct mspi_xfer *req);
660
661static inline int z_impl_mspi_transceive(const struct device *controller,
662 const struct mspi_dev_id *dev_id,
663 const struct mspi_xfer *req)
664{
665 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api;
666
667 if (!api->transceive) {
668 return -ENOTSUP;
669 }
670
671 return api->transceive(controller, dev_id, req);
672}
673
695__syscall int mspi_xip_config(const struct device *controller,
696 const struct mspi_dev_id *dev_id,
697 const struct mspi_xip_cfg *cfg);
698
699static inline int z_impl_mspi_xip_config(const struct device *controller,
700 const struct mspi_dev_id *dev_id,
701 const struct mspi_xip_cfg *cfg)
702{
703 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api;
704
705 if (!api->xip_config) {
706 return -ENOTSUP;
707 }
708
709 return api->xip_config(controller, dev_id, cfg);
710}
711
727__syscall int mspi_scramble_config(const struct device *controller,
728 const struct mspi_dev_id *dev_id,
729 const struct mspi_scramble_cfg *cfg);
730
731static inline int z_impl_mspi_scramble_config(const struct device *controller,
732 const struct mspi_dev_id *dev_id,
733 const struct mspi_scramble_cfg *cfg)
734{
735 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api;
736
737 if (!api->scramble_config) {
738 return -ENOTSUP;
739 }
740
741 return api->scramble_config(controller, dev_id, cfg);
742}
743
760__syscall int mspi_timing_config(const struct device *controller,
761 const struct mspi_dev_id *dev_id,
762 const uint32_t param_mask, void *cfg);
763
764static inline int z_impl_mspi_timing_config(const struct device *controller,
765 const struct mspi_dev_id *dev_id,
766 const uint32_t param_mask, void *cfg)
767{
768 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api;
769
770 if (!api->timing_config) {
771 return -ENOTSUP;
772 }
773
774 return api->timing_config(controller, dev_id, param_mask, cfg);
775}
776
799static inline int mspi_register_callback(const struct device *controller,
800 const struct mspi_dev_id *dev_id,
801 const enum mspi_bus_event evt_type,
803 struct mspi_callback_context *ctx)
804{
805 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api;
806
807 if (!api->register_callback) {
808 return -ENOTSUP;
809 }
810
811 return api->register_callback(controller, dev_id, evt_type, cb, ctx);
812}
813
816#ifdef __cplusplus
817}
818#endif
819
821
827
831#define MSPI_XIP_CFG_STRUCT_DECLARE(_name) \
832 IF_ENABLED(CONFIG_MSPI_XIP, (struct mspi_xip_cfg _name;))
833
837#define MSPI_XIP_BASE_ADDR_DECLARE(_name) \
838 IF_ENABLED(CONFIG_MSPI_XIP, (uint32_t _name;))
839
843#define MSPI_SCRAMBLE_CFG_STRUCT_DECLARE(_name) \
844 IF_ENABLED(CONFIG_MSPI_SCRAMBLE, (struct mspi_scramble_cfg _name;))
845
849#define MSPI_TIMING_CFG_STRUCT_DECLARE(_name) \
850 IF_ENABLED(CONFIG_MSPI_TIMING, (mspi_timing_cfg _name;))
851
855#define MSPI_TIMING_PARAM_DECLARE(_name) \
856 IF_ENABLED(CONFIG_MSPI_TIMING, (mspi_timing_param _name;))
857
861#define MSPI_OPTIONAL_CFG_STRUCT_INIT(code, _name, _object) \
862 IF_ENABLED(code, (._name = _object,))
863
867#define MSPI_XIP_BASE_ADDR_INIT(_name, _bus) \
868 IF_ENABLED(CONFIG_MSPI_XIP, (._name = DT_REG_ADDR_BY_IDX(_bus, 1),))
869
875#include <zephyr/syscalls/mspi.h>
876#endif /* ZEPHYR_INCLUDE_MSPI_H_ */
Main header file for GPIO driver API.
System error numbers.
void(* mspi_callback_handler_t)(struct mspi_callback_context *mspi_cb_ctx,...)
Define the application callback handler function signature.
Definition mspi.h:480
static int mspi_register_callback(const struct device *controller, const struct mspi_dev_id *dev_id, const enum mspi_bus_event evt_type, mspi_callback_handler_t cb, struct mspi_callback_context *ctx)
Register the mspi callback functions.
Definition mspi.h:799
int mspi_config(const struct mspi_dt_spec *spec)
Configure a MSPI controller.
int mspi_get_channel_status(const struct device *controller, uint8_t ch)
Query to see if it a channel is ready.
mspi_timing_param
Stub for timing parameter.
Definition mspi.h:214
int mspi_dev_config(const struct device *controller, const struct mspi_dev_id *dev_id, const enum mspi_dev_cfg_mask param_mask, const struct mspi_dev_cfg *cfg)
Configure a MSPI controller with device specific parameters.
int mspi_xip_config(const struct device *controller, const struct mspi_dev_id *dev_id, const struct mspi_xip_cfg *cfg)
Configure a MSPI XIP settings.
int mspi_scramble_config(const struct device *controller, const struct mspi_dev_id *dev_id, const struct mspi_scramble_cfg *cfg)
Configure a MSPI scrambling settings.
int mspi_timing_config(const struct device *controller, const struct mspi_dev_id *dev_id, const uint32_t param_mask, void *cfg)
Configure a MSPI timing settings.
@ MSPI_TIMING_PARAM_DUMMY
Definition mspi.h:215
mspi_xip_permit
MSPI XIP access permissions.
Definition mspi.h:200
int(* mspi_api_scramble_config)(const struct device *controller, const struct mspi_dev_id *dev_id, const struct mspi_scramble_cfg *scramble_cfg)
Definition mspi.h:510
mspi_xfer_mode
MSPI transfer modes.
Definition mspi.h:150
int(* mspi_api_transceive)(const struct device *controller, const struct mspi_dev_id *dev_id, const struct mspi_xfer *req)
Definition mspi.h:496
mspi_duplex
MSPI duplex mode.
Definition mspi.h:49
mspi_ce_polarity
MSPI chip enable polarity.
Definition mspi.h:115
int(* mspi_api_config)(const struct mspi_dt_spec *spec)
MSPI driver API definition and system call entry points.
Definition mspi.h:487
mspi_endian
MSPI Endian.
Definition mspi.h:107
mspi_op_mode
MSPI operational mode.
Definition mspi.h:41
int(* mspi_api_timing_config)(const struct device *controller, const struct mspi_dev_id *dev_id, const uint32_t param_mask, void *timing_cfg)
Definition mspi.h:514
mspi_xfer_direction
MSPI transfer directions.
Definition mspi.h:168
mspi_bus_event
MSPI bus event.
Definition mspi.h:125
mspi_xfer_priority
MSPI transfer priority This is a preliminary list of priorities that are typically used with DMA.
Definition mspi.h:159
mspi_cpp_mode
MSPI Polarity & Phase Modes.
Definition mspi.h:97
mspi_dev_cfg_mask
MSPI controller device specific configuration mask.
Definition mspi.h:176
int(* mspi_api_dev_config)(const struct device *controller, const struct mspi_dev_id *dev_id, const enum mspi_dev_cfg_mask param_mask, const struct mspi_dev_cfg *cfg)
Definition mspi.h:489
int(* mspi_api_xip_config)(const struct device *controller, const struct mspi_dev_id *dev_id, const struct mspi_xip_cfg *xip_cfg)
Definition mspi.h:506
mspi_io_mode
MSPI I/O mode capabilities Postfix like 1_4_4 stands for the number of lines used for command,...
Definition mspi.h:60
mspi_data_rate
MSPI data rate capabilities SINGLE stands for single data rate for all phases.
Definition mspi.h:86
mspi_bus_event_cb_mask
MSPI bus event callback mask This is a preliminary list same as mspi_bus_event.
Definition mspi.h:139
int(* mspi_api_register_callback)(const struct device *controller, const struct mspi_dev_id *dev_id, const enum mspi_bus_event evt_type, mspi_callback_handler_t cb, struct mspi_callback_context *ctx)
Definition mspi.h:500
int(* mspi_api_get_channel_status)(const struct device *controller, uint8_t ch)
Definition mspi.h:494
@ MSPI_XIP_READ_WRITE
Definition mspi.h:201
@ MSPI_XIP_READ_ONLY
Definition mspi.h:202
@ MSPI_DMA
Definition mspi.h:152
@ MSPI_PIO
Definition mspi.h:151
@ MSPI_FULL_DUPLEX
Definition mspi.h:51
@ MSPI_HALF_DUPLEX
Definition mspi.h:50
@ MSPI_CE_ACTIVE_HIGH
Definition mspi.h:117
@ MSPI_CE_ACTIVE_LOW
Definition mspi.h:116
@ MSPI_XFER_BIG_ENDIAN
Definition mspi.h:109
@ MSPI_XFER_LITTLE_ENDIAN
Definition mspi.h:108
@ MSPI_OP_MODE_PERIPHERAL
Definition mspi.h:43
@ MSPI_OP_MODE_CONTROLLER
Definition mspi.h:42
@ MSPI_RX
Definition mspi.h:169
@ MSPI_TX
Definition mspi.h:170
@ MSPI_BUS_EVENT_MAX
Definition mspi.h:131
@ MSPI_BUS_TIMEOUT
When a request or xfer has timed out.
Definition mspi.h:130
@ MSPI_BUS_XFER_COMPLETE
Definition mspi.h:128
@ MSPI_BUS_ERROR
Definition mspi.h:127
@ MSPI_BUS_RESET
Definition mspi.h:126
@ MSPI_XFER_PRIORITY_HIGH
Definition mspi.h:162
@ MSPI_XFER_PRIORITY_LOW
Definition mspi.h:160
@ MSPI_XFER_PRIORITY_MEDIUM
Definition mspi.h:161
@ MSPI_CPP_MODE_3
Definition mspi.h:101
@ MSPI_CPP_MODE_1
Definition mspi.h:99
@ MSPI_CPP_MODE_2
Definition mspi.h:100
@ MSPI_CPP_MODE_0
Definition mspi.h:98
@ MSPI_DEVICE_CONFIG_CPP
Definition mspi.h:182
@ MSPI_DEVICE_CONFIG_DATA_RATE
Definition mspi.h:181
@ MSPI_DEVICE_CONFIG_RX_DUMMY
Definition mspi.h:186
@ MSPI_DEVICE_CONFIG_FREQUENCY
Definition mspi.h:179
@ MSPI_DEVICE_CONFIG_CMD_LEN
Definition mspi.h:190
@ MSPI_DEVICE_CONFIG_CE_NUM
Definition mspi.h:178
@ MSPI_DEVICE_CONFIG_IO_MODE
Definition mspi.h:180
@ MSPI_DEVICE_CONFIG_CE_POL
Definition mspi.h:184
@ MSPI_DEVICE_CONFIG_DQS
Definition mspi.h:185
@ MSPI_DEVICE_CONFIG_TX_DUMMY
Definition mspi.h:187
@ MSPI_DEVICE_CONFIG_ALL
Definition mspi.h:194
@ MSPI_DEVICE_CONFIG_WRITE_CMD
Definition mspi.h:189
@ MSPI_DEVICE_CONFIG_ADDR_LEN
Definition mspi.h:191
@ MSPI_DEVICE_CONFIG_ENDIAN
Definition mspi.h:183
@ MSPI_DEVICE_CONFIG_NONE
Definition mspi.h:177
@ MSPI_DEVICE_CONFIG_BREAK_TIME
Definition mspi.h:193
@ MSPI_DEVICE_CONFIG_MEM_BOUND
Definition mspi.h:192
@ MSPI_DEVICE_CONFIG_READ_CMD
Definition mspi.h:188
@ MSPI_IO_MODE_HEX
Definition mspi.h:71
@ MSPI_IO_MODE_QUAD_1_4_4
Definition mspi.h:67
@ MSPI_IO_MODE_OCTAL_1_8_8
Definition mspi.h:70
@ MSPI_IO_MODE_HEX_8_16_16
Definition mspi.h:73
@ MSPI_IO_MODE_SINGLE
Definition mspi.h:61
@ MSPI_IO_MODE_DUAL_1_1_2
Definition mspi.h:63
@ MSPI_IO_MODE_DUAL
Definition mspi.h:62
@ MSPI_IO_MODE_MAX
Definition mspi.h:74
@ MSPI_IO_MODE_DUAL_1_2_2
Definition mspi.h:64
@ MSPI_IO_MODE_QUAD_1_1_4
Definition mspi.h:66
@ MSPI_IO_MODE_OCTAL_1_1_8
Definition mspi.h:69
@ MSPI_IO_MODE_OCTAL
Definition mspi.h:68
@ MSPI_IO_MODE_HEX_8_8_16
Definition mspi.h:72
@ MSPI_IO_MODE_QUAD
Definition mspi.h:65
@ MSPI_DATA_RATE_SINGLE
Definition mspi.h:87
@ MSPI_DATA_RATE_S_S_D
Definition mspi.h:88
@ MSPI_DATA_RATE_MAX
Definition mspi.h:91
@ MSPI_DATA_RATE_S_D_D
Definition mspi.h:89
@ MSPI_DATA_RATE_DUAL
Definition mspi.h:90
@ MSPI_BUS_ERROR_CB
Definition mspi.h:142
@ MSPI_BUS_RESET_CB
Definition mspi.h:141
@ MSPI_BUS_XFER_COMPLETE_CB
Definition mspi.h:143
@ MSPI_BUS_NO_CB
Definition mspi.h:140
@ MSPI_BUS_TIMEOUT_CB
Definition mspi.h:144
int mspi_transceive(const struct device *controller, const struct mspi_dev_id *dev_id, const struct mspi_xfer *req)
Transfer request over MSPI.
#define BIT(n)
Unsigned integer with bit position n set (signed in assembly language).
Definition util_macro.h:44
#define BIT_MASK(n)
Bit mask with bits 0 through n-1 (inclusive) set, or 0 if n is 0.
Definition util_macro.h:68
#define ENOTSUP
Unsupported value.
Definition errno.h:114
Public kernel APIs.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
Runtime device structure (in ROM) per driver instance.
Definition device.h:510
const void * api
Address of the API structure exposed by the device instance.
Definition device.h:516
Container for GPIO pin information specified in devicetree.
Definition gpio.h:296
MSPI callback context.
Definition mspi.h:466
struct mspi_event mspi_evt
MSPI event
Definition mspi.h:468
void * ctx
user defined context
Definition mspi.h:470
MSPI Chip Select control structure.
Definition mspi.h:363
struct gpio_dt_spec gpio
GPIO devicetree specification of CE GPIO.
Definition mspi.h:370
uint32_t delay
Delay to wait.
Definition mspi.h:376
MSPI controller configuration.
Definition mspi.h:243
bool sw_multi_periph
Software managed multi peripheral enable.
Definition mspi.h:253
uint32_t num_ce_gpios
GPIO chip-select line numbers (optional)
Definition mspi.h:257
bool dqs_support
DQS support flag.
Definition mspi.h:251
struct gpio_dt_spec * ce_group
GPIO chip select lines (optional)
Definition mspi.h:255
enum mspi_duplex duplex
Configure duplex mode.
Definition mspi.h:249
uint32_t num_periph
Peripheral number from 0 to host controller peripheral limit.
Definition mspi.h:259
uint32_t max_freq
Maximum supported frequency in MHz.
Definition mspi.h:261
enum mspi_op_mode op_mode
Configure operation mode.
Definition mspi.h:247
uint8_t channel_num
mspi channel number
Definition mspi.h:245
bool re_init
Whether to re-initialize controller.
Definition mspi.h:263
MSPI controller device specific configuration.
Definition mspi.h:279
uint8_t cmd_length
Configure command length
Definition mspi.h:309
enum mspi_data_rate data_rate
Configure data rate.
Definition mspi.h:287
enum mspi_endian endian
Configure transfer endian.
Definition mspi.h:291
enum mspi_cpp_mode cpp
Configure clock polarity and phase.
Definition mspi.h:289
uint32_t mem_boundary
Configure memory boundary
Definition mspi.h:313
uint32_t time_to_break
Configure the time to break up a transfer into 2.
Definition mspi.h:315
uint8_t addr_length
Configure address length
Definition mspi.h:311
uint32_t freq
Configure frequency.
Definition mspi.h:283
uint16_t tx_dummy
Configure number of clock cycles between addr and data in TX direction.
Definition mspi.h:303
uint16_t rx_dummy
Configure number of clock cycles between addr and data in RX direction.
Definition mspi.h:299
enum mspi_ce_polarity ce_polarity
Configure chip enable polarity.
Definition mspi.h:293
uint8_t ce_num
Configure CE0 or CE1 or more.
Definition mspi.h:281
uint32_t read_cmd
Configure read command
Definition mspi.h:305
uint32_t write_cmd
Configure write command
Definition mspi.h:307
enum mspi_io_mode io_mode
Configure I/O mode.
Definition mspi.h:285
bool dqs_enable
Configure DQS mode.
Definition mspi.h:295
MSPI device ID The controller can identify its devices and determine whether the access is allowed in...
Definition mspi.h:233
uint16_t dev_idx
device index on DT
Definition mspi.h:237
struct gpio_dt_spec ce
device gpio ce
Definition mspi.h:235
Definition mspi.h:518
mspi_api_config config
Definition mspi.h:519
mspi_api_register_callback register_callback
Definition mspi.h:523
mspi_api_dev_config dev_config
Definition mspi.h:520
mspi_api_get_channel_status get_channel_status
Definition mspi.h:521
mspi_api_timing_config timing_config
Definition mspi.h:526
mspi_api_scramble_config scramble_config
Definition mspi.h:525
mspi_api_transceive transceive
Definition mspi.h:522
mspi_api_xip_config xip_config
Definition mspi.h:524
MSPI DT information.
Definition mspi.h:269
struct mspi_cfg config
MSPI hardware specific configuration.
Definition mspi.h:273
const struct device * bus
MSPI bus.
Definition mspi.h:271
MSPI event data.
Definition mspi.h:440
const struct mspi_xfer_packet * packet
Pointer to a transfer packet.
Definition mspi.h:446
uint32_t status
MSPI event status.
Definition mspi.h:448
uint32_t packet_idx
Packet index.
Definition mspi.h:450
const struct mspi_dev_id * dev_id
Pointer to the peripheral device ID.
Definition mspi.h:444
const struct device * controller
Pointer to the bus controller.
Definition mspi.h:442
MSPI event.
Definition mspi.h:456
enum mspi_bus_event evt_type
Event type.
Definition mspi.h:458
struct mspi_event_data evt_data
Data associated to the event.
Definition mspi.h:460
MSPI controller scramble configuration.
Definition mspi.h:337
bool enable
scramble enable
Definition mspi.h:339
uint32_t size
scramble region size
Definition mspi.h:345
uint32_t address_offset
scramble region start address = hardware default + address offset
Definition mspi.h:343
Stub for struct timing_cfg.
Definition mspi.h:221
MSPI peripheral xfer packet format.
Definition mspi.h:382
uint32_t num_bytes
Number of bytes to transfer
Definition mspi.h:392
uint32_t address
Transfer Address
Definition mspi.h:390
uint8_t * data_buf
Data Buffer
Definition mspi.h:394
uint32_t cmd
Transfer command
Definition mspi.h:388
enum mspi_bus_event_cb_mask cb_mask
Bus event callback masks
Definition mspi.h:386
enum mspi_xfer_direction dir
Direction (Transmit/Receive)
Definition mspi.h:384
MSPI peripheral xfer format This includes transfer related settings that may require configuring the ...
Definition mspi.h:402
bool hold_ce
Hold CE active after xfer
Definition mspi.h:416
uint8_t cmd_length
Configure command length
Definition mspi.h:412
uint32_t num_packet
Number of transfer packets
Definition mspi.h:424
const struct mspi_xfer_packet * packets
Transfer packets
Definition mspi.h:422
uint16_t rx_dummy
Configure RX dummy cycles
Definition mspi.h:410
enum mspi_xfer_priority priority
MSPI transfer priority
Definition mspi.h:420
bool async
Async or sync transfer
Definition mspi.h:404
uint8_t addr_length
Configure address length
Definition mspi.h:414
uint16_t tx_dummy
Configure TX dummy cycles
Definition mspi.h:408
struct mspi_ce_control ce_sw_ctrl
Software CE control
Definition mspi.h:418
enum mspi_xfer_mode xfer_mode
Transfer Mode
Definition mspi.h:406
uint32_t timeout
Transfer timeout value(ms)
Definition mspi.h:426
MSPI controller XIP configuration.
Definition mspi.h:321
enum mspi_xip_permit permission
XIP access permission.
Definition mspi.h:331
bool enable
XIP enable.
Definition mspi.h:323
uint32_t address_offset
XIP region start address = hardware default + address offset.
Definition mspi.h:327
uint32_t size
XIP region size.
Definition mspi.h:329
Macro utilities.