#[repr(C)]
pub struct FlexSpiNorFlashConfig {
Show 14 fields pub mem_config: FlexSpiMemConfig, pub page_size: u32, pub sector_size: u32, pub ip_cmd_serial_clk_freq: u8, pub is_uniform_block_size: u8, pub is_data_order_swapped: u8, pub reserved0: [u8; 1], pub serial_nor_type: u8, pub need_exit_no_cmd_mode: u8, pub half_clk_for_non_read_cmd: u8, pub need_restore_no_cmd_mode: u8, pub block_size: u32, pub flash_state_ctx: u32, pub reserved2: [u32; 10],
}
Expand description

Describes the shape of the flash configuration header that the Boot ROM expects to find at offset 0x0400 in the flash memory connected to FlexSPI0, if booting from that device.

The board support package for a board that boots from flash memory on FlexSPI0 should arrange for a suitable value of this type to be placed at 0x0400 in the flash image (0x08000400 if the Flash will be memory mapped) and then the on-chip Boot ROM will retrieve it during boot.

See i.MX RT500 Reference Manual section 18.6.1.2: FlexSPI NOR Configuration Block(FCB).

Fields§

§mem_config: FlexSpiMemConfig

Common memory configuration info via FlexSPI.

§page_size: u32

Page size of serial NOR.

§sector_size: u32

Sector size of serial NOR.

§ip_cmd_serial_clk_freq: u8

Clock frequency for IP command.

§is_uniform_block_size: u8

Sector/block size is the same.

§is_data_order_swapped: u8

Data order (D0, D1, D2, D3) is swapped (D1, D0, D3, D2).

§reserved0: [u8; 1]

Reserved for future use.

§serial_nor_type: u8

Serial NOR flash type: 0/1/2/3.

§need_exit_no_cmd_mode: u8

Need to exit NoCmd mode before other IP command.

§half_clk_for_non_read_cmd: u8

Half the Serial Clock for non-read command: true/false.

§need_restore_no_cmd_mode: u8

Need to Restore NoCmd mode after IP commmand execution.

§block_size: u32

Block size.

§flash_state_ctx: u32

Flash state context.

§reserved2: [u32; 10]

Reserved for future use.

Trait Implementations§

source§

impl Clone for FlexSpiNorFlashConfig

source§

fn clone(&self) -> FlexSpiNorFlashConfig

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Copy for FlexSpiNorFlashConfig

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.