Struct mimxrt500_hal::bootrom::FlexSpiMemConfig
source · #[repr(C)]pub struct FlexSpiMemConfig {Show 40 fields
pub tag: u32,
pub version: u32,
pub reserved0: u32,
pub read_sample_clk_src: u8,
pub cs_hold_time: u8,
pub cs_setup_time: u8,
pub column_address_width: u8,
pub device_mode_cfg_enable: u8,
pub device_mode_type: u8,
pub wait_time_cfg_commands: u16,
pub device_mode_seq: FlexSpiLutSeq,
pub device_mode_arg: u32,
pub config_cmd_enable: u8,
pub config_mode_type: [u8; 3],
pub config_cmd_seqs: [FlexSpiLutSeq; 3],
pub reserved1: u32,
pub config_cmd_args: [u32; 3],
pub reserved2: u32,
pub controller_misc_option: u32,
pub device_type: u8,
pub serial_flash_pad_type: u8,
pub serial_clk_freq: u8,
pub lut_custom_seq_enable: u8,
pub reserved3: [u32; 2],
pub serial_flash_a1_size: u32,
pub serial_flash_a2_size: u32,
pub serial_flash_b1_size: u32,
pub serial_flash_b2_size: u32,
pub cs_pad_setting_override: u32,
pub sclk_pad_setting_override: u32,
pub data_pad_setting_override: u32,
pub dqs_pad_setting_override: u32,
pub timeout_in_ms: u32,
pub command_interval: u32,
pub data_valid_time: [FlexSpiDllTime; 2],
pub busy_offset: u16,
pub busy_bit_polarity: u16,
pub lookup_table: [u32; 64],
pub lut_custom_seq: [FlexSpiLutSeq; 12],
pub reserved4: [u32; 4],
}Fields§
§tag: u32Tag, fixed value 0x42464346.
version: u32Version,[31:24] -‘V’, [23:16] - Major, [15:8] - Minor, [7:0] - bugfix.
reserved0: u32Reserved for future use.
read_sample_clk_src: u8Read Sample Clock Source, valid value: 0/1/3.
cs_hold_time: u8CS hold time, default value: 3.
cs_setup_time: u8CS setup time, default value: 3.
column_address_width: u8Column Address with, for HyperBus protocol, it is fixed to 3, For Serial NAND, need to refer to datasheet.
device_mode_cfg_enable: u8Device Mode Configure enable flag, 1 - Enable, 0 - Disable.
device_mode_type: u8Specify the configuration command type:Quad Enable, DPI/QPI/OPI switch, Generic configuration, etc.
wait_time_cfg_commands: u16Wait time for all configuration commands, unit: 100us, Used for DPI/QPI/OPI switch or reset command.
device_mode_seq: FlexSpiLutSeqDevice mode sequence info, [7:0] - LUT sequence id, [15:8] - LUt sequence number, [31:16] Reserved.
device_mode_arg: u32Argument/Parameter for device configuration.
config_cmd_enable: u8Configure command Enable Flag, 1 - Enable, 0 - Disable.
config_mode_type: [u8; 3]Configure Mode Type, similar as device_mode_type.
config_cmd_seqs: [FlexSpiLutSeq; 3]Sequence info for Device Configuration command, similar as device_mode_seq.
reserved1: u32Reserved for future use.
config_cmd_args: [u32; 3]Arguments/Parameters for device Configuration commands.
reserved2: u32Reserved for future use.
controller_misc_option: u32Controller Misc Options, see Misc feature bit definitions for more details.
device_type: u8Device Type: See Flash Type Definition for more details.
serial_flash_pad_type: u8Serial Flash Pad Type: 1 - Single, 2 - Dual, 4 - Quad, 8 - Octal.
serial_clk_freq: u8Serial Flash Frequencey, device specific definitions, See System Boot Chapter for more details.
lut_custom_seq_enable: u8LUT customization Enable, it is required if the program/erase cannot be done using 1 LUT sequence, currently, only applicable to HyperFLASH.
reserved3: [u32; 2]Reserved for future use.
serial_flash_a1_size: u32Size of Flash connected to A1.
serial_flash_a2_size: u32Size of Flash connected to A2.
serial_flash_b1_size: u32Size of Flash connected to B1.
serial_flash_b2_size: u32Size of Flash connected to B2.
cs_pad_setting_override: u32CS pad setting override value.
sclk_pad_setting_override: u32SCLK pad setting override value.
data_pad_setting_override: u32Data pad setting override value.
dqs_pad_setting_override: u32DQS pad setting override value.
timeout_in_ms: u32Timeout threshold for read status command.
command_interval: u32CS deselect interval between two commands.
data_valid_time: [FlexSpiDllTime; 2]CLK edge to data valid time for PORT A and PORT B.
busy_offset: u16Busy offset, valid value: 0-31.
busy_bit_polarity: u16Busy flag polarity, 0 - busy flag is 1 when flash device is busy, 1 - busy flag is 0 when flash device is busy.
lookup_table: [u32; 64]Lookup table holds Flash command sequences.
lut_custom_seq: [FlexSpiLutSeq; 12]Customizable LUT Sequences.
reserved4: [u32; 4]Reserved for future use.
Implementations§
Trait Implementations§
source§impl Clone for FlexSpiMemConfig
impl Clone for FlexSpiMemConfig
source§fn clone(&self) -> FlexSpiMemConfig
fn clone(&self) -> FlexSpiMemConfig
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more