diff options
| author | Ian McIntyre <me@mciantyre.dev> | 2025-12-20 16:48:32 -0500 |
|---|---|---|
| committer | Ian McIntyre <me@mciantyre.dev> | 2025-12-21 07:38:02 -0500 |
| commit | b3732747cf52a743d7c4dd4a07479cc533ad5416 (patch) | |
| tree | f59add163dd429f6d46a25649c034cb9de8adde1 /src/imxrt11xx.rs | |
| parent | a800ee097af0c2334318d39dec2c0a40dbd5c0d9 (diff) | |
Consolidate flash algorithm init
Diffstat (limited to 'src/imxrt11xx.rs')
| -rw-r--r-- | src/imxrt11xx.rs | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/src/imxrt11xx.rs b/src/imxrt11xx.rs index 7fc9763..75d5020 100644 --- a/src/imxrt11xx.rs +++ b/src/imxrt11xx.rs @@ -157,20 +157,19 @@ pub trait Imxrt11xx: 'static { const FLEXSPI_FIFO_CAPACITY_BYTES: usize; } -pub struct Algorithm<C: Imxrt11xx, F: crate::ImxrtFlashAlgorithm>(PhantomData<(C, F)>); +pub struct Algorithm<C: Imxrt11xx, const FLASH_SIZE_BYTES: usize>(PhantomData<C>); -impl<C: Imxrt11xx, F: crate::ImxrtFlashAlgorithm> Algorithm<C, F> { - pub const fn flash_size_bytes() -> usize { - F::FLASH_CAPACITY_BYTES - } +impl<C: Imxrt11xx, const FLASH_SIZE_BYTES: usize> Algorithm<C, FLASH_SIZE_BYTES> { pub const fn flash_address() -> usize { FLEXSPI1_BASE as _ } - pub const fn sector_size_bytes() -> usize { - F::FLASH_SECTOR_SIZE_BYTES + + pub const fn flash_size_bytes() -> usize { + FLASH_SIZE_BYTES } - pub const fn page_size_bytes() -> usize { - F::FLASH_PAGE_SIZE_BYTES + + pub const fn sector_size_bytes() -> usize { + 4 * 1024 } pub fn initialize() -> Self { @@ -182,12 +181,11 @@ impl<C: Imxrt11xx, F: crate::ImxrtFlashAlgorithm> Algorithm<C, F> { C::PMU_INSTANCE, C::GPC_CPU_INSTANCE, ); - crate::reset( + crate::flash::initialize( C::FLEXSPI1_INSTANCE, - F::FLASH_CAPACITY_BYTES / 1024, + FLASH_SIZE_BYTES, C::FLEXSPI_FIFO_CAPACITY_BYTES, ); - F::initialize(C::FLEXSPI1_INSTANCE); Algorithm(PhantomData) } @@ -204,8 +202,8 @@ impl<C: Imxrt11xx, F: crate::ImxrtFlashAlgorithm> Algorithm<C, F> { } } -impl<C: Imxrt11xx, F: crate::ImxrtFlashAlgorithm> flash_algorithm::FlashAlgorithm - for Algorithm<C, F> +impl<C: Imxrt11xx, const FLASH_SIZE_BYTES: usize> flash_algorithm::FlashAlgorithm + for Algorithm<C, FLASH_SIZE_BYTES> { fn new( _: u32, |
