Skip to content

Commit 01c5445

Browse files
Flexspi Cleanup
Issue - #364
1 parent 3611253 commit 01c5445

File tree

4 files changed

+488
-566
lines changed

4 files changed

+488
-566
lines changed

examples/rt685s-evk/src/bin/flexspi-storage-service.rs

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33

44
use defmt::info;
55
use embassy_executor::Spawner;
6-
use embassy_imxrt::flexspi_nor_storage_bus::{
7-
AhbConfig, FlexSpiBusWidth, FlexSpiFlashPort, FlexSpiFlashPortDeviceInstance, FlexspiAhbBufferConfig,
8-
FlexspiConfig, FlexspiDeviceConfig, FlexspiNorStorageBus,
6+
use embassy_imxrt::flexspi::nor::{
7+
AhbConfig, FlexSpiFlashPort, FlexSpiFlashPortDeviceInstance, FlexspiAhbBufferConfig, FlexspiConfig,
8+
FlexspiConfigPortData, FlexspiDeviceConfig, FlexspiNorStorageBus,
99
};
1010
use embassy_imxrt::pac::flexspi::ahbcr::*;
1111
use embassy_imxrt::pac::flexspi::flshcr1::*;
@@ -397,26 +397,27 @@ async fn main(_spawner: Spawner) {
397397
enable_same_config_for_all: Samedeviceen::Samedeviceen0,
398398
seq_timeout_cycle: 0xFFFF,
399399
ip_grant_timeout_cycle: 0xff,
400-
tx_watermark: 0x08,
401-
rx_watermark: 0x08,
402400
ahb_config,
403401
};
404402

405-
let mut flexspi_storage = FlexspiNorStorageBus::new_blocking(
406-
p.FLEXSPI, // FlexSPI peripheral
407-
Some(p.PIO1_11), // FlexSPI DATA 0 pin
408-
Some(p.PIO1_12),
409-
Some(p.PIO1_13),
410-
Some(p.PIO1_14),
411-
Some(p.PIO2_17),
412-
Some(p.PIO2_18),
413-
Some(p.PIO2_22),
414-
Some(p.PIO2_23),
403+
let mut flexspi_storage = FlexspiNorStorageBus::new_blocking_octal_config(
404+
p.FLEXSPI, // FlexSPI peripheral
405+
p.PIO1_11,
406+
p.PIO1_12,
407+
p.PIO1_13,
408+
p.PIO1_14,
409+
p.PIO2_17,
410+
p.PIO2_18,
411+
p.PIO2_22,
412+
p.PIO2_23,
415413
p.PIO1_29,
416414
p.PIO2_19,
417-
FlexSpiFlashPort::PortB, // FlexSPI port
418-
FlexSpiBusWidth::Octal, // FlexSPI bus width
419-
FlexSpiFlashPortDeviceInstance::DeviceInstance0, // FlexSPI device instance
415+
FlexspiConfigPortData {
416+
port: FlexSpiFlashPort::PortB, // FlexSPI port
417+
dev_instance: FlexSpiFlashPortDeviceInstance::DeviceInstance0, // FlexSPI device instance
418+
rx_watermark: 0x8,
419+
tx_watermark: 0x8,
420+
},
420421
);
421422

422423
// Configure the Flexspi controller

src/flexspi/mod.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
pub mod nor;
2+
3+
#[cfg(feature = "time")]
4+
use embassy_time::Instant;
5+
6+
#[cfg(feature = "time")]
7+
pub(crate) fn is_expired(start: Instant, timeout: u64) -> bool {
8+
Instant::now().duration_since(start).as_millis() > timeout
9+
}

0 commit comments

Comments
 (0)