diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 974ff6b..2f0df37 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -6,7 +6,7 @@ jobs: build: strategy: matrix: - feature: ["imxrt1010", "imxrt1020", "imxrt1060", "imxrt1064", "imxrt1170"] + feature: ["imxrt1010", "imxrt1020", "imxrt1050", "imxrt1060", "imxrt1064", "imxrt1170"] runs-on: ubuntu-latest @@ -20,7 +20,7 @@ jobs: clippy: strategy: matrix: - feature: ["imxrt1010", "imxrt1020", "imxrt1060", "imxrt1170"] + feature: ["imxrt1010", "imxrt1020", "imxrt1050", "imxrt1060", "imxrt1170"] runs-on: ubuntu-latest diff --git a/CHANGELOG.md b/CHANGELOG.md index b040e1d..0bf7c7d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ packages maintained within this repository. ## [Unreleased] +Add support for the 1050 family. + ## [0.3.1] - 2023-01-14 Add support for the 1020 family. diff --git a/Cargo.toml b/Cargo.toml index eb1390a..8536ec1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,6 +31,7 @@ keywords = [ [features] imxrt1010 = [] imxrt1020 = [] +imxrt1050 = [] imxrt1060 = [] imxrt1064 = [] imxrt1170 = [] diff --git a/build.rs b/build.rs index 5b202ca..f00d889 100644 --- a/build.rs +++ b/build.rs @@ -7,6 +7,7 @@ use std::env; static SUPPORTED_FEATURES: &[&str] = &[ "imxrt1010", "imxrt1020", + "imxrt1050", "imxrt1060", "imxrt1064", "imxrt1170", diff --git a/src/flexspi/fields.rs b/src/flexspi/fields.rs index c8743a5..9806b32 100644 --- a/src/flexspi/fields.rs +++ b/src/flexspi/fields.rs @@ -103,15 +103,15 @@ pub enum SerialClockFrequency { MHz75, MHz80, MHz100, - #[cfg(not(feature = "imxrt1020"))] - MHz120, - MHz133, #[cfg(any( - feature = "imxrt1020", + feature = "imxrt1010", feature = "imxrt1060", feature = "imxrt1064", feature = "imxrt1170" ))] + MHz120, + MHz133, + #[cfg(not(feature = "imxrt1010"))] MHz166, } diff --git a/src/serial_flash/nor.rs b/src/serial_flash/nor.rs index aebdeae..1ce289d 100644 --- a/src/serial_flash/nor.rs +++ b/src/serial_flash/nor.rs @@ -20,7 +20,7 @@ pub enum SerialClockFrequency { #[cfg(any(feature = "imxrt1060", feature = "imxrt1064", feature = "imxrt1170"))] MHz120, MHz133, - #[cfg(any(feature = "imxrt1060", feature = "imxrt1064"))] + #[cfg(any(feature = "imxrt1050", feature = "imxrt1060", feature = "imxrt1064"))] MHz166, } diff --git a/tests/imxrt1050.rs b/tests/imxrt1050.rs new file mode 100644 index 0000000..c1d250d --- /dev/null +++ b/tests/imxrt1050.rs @@ -0,0 +1,34 @@ +//! Tests specific to 1050 family. + +#![cfg(any(feature = "imxrt1050"))] + +#[test] +fn serial_clock_frequency() { + use imxrt_boot_gen::flexspi::SerialClockFrequency; + + assert_eq!(SerialClockFrequency::MHz30 as u32, 1); + assert_eq!(SerialClockFrequency::MHz50 as u32, 2); + assert_eq!(SerialClockFrequency::MHz60 as u32, 3); + assert_eq!(SerialClockFrequency::MHz75 as u32, 4); + assert_eq!(SerialClockFrequency::MHz80 as u32, 5); + assert_eq!(SerialClockFrequency::MHz100 as u32, 6); + assert_eq!(SerialClockFrequency::MHz133 as u32, 7); + assert_eq!(SerialClockFrequency::MHz166 as u32, 8); +} + +#[test] +fn ip_serial_clock_frequency() { + use imxrt_boot_gen::serial_flash::nor::SerialClockFrequency; + + assert_eq!(SerialClockFrequency::NoChange as u32, 0); + + assert_eq!(SerialClockFrequency::MHz30 as u32, 1); + assert_eq!(SerialClockFrequency::MHz50 as u32, 2); + assert_eq!(SerialClockFrequency::MHz60 as u32, 3); + assert_eq!(SerialClockFrequency::MHz75 as u32, 4); + assert_eq!(SerialClockFrequency::MHz80 as u32, 5); + assert_eq!(SerialClockFrequency::MHz100 as u32, 6); + // No 120MHz here... + assert_eq!(SerialClockFrequency::MHz133 as u32, 7); + assert_eq!(SerialClockFrequency::MHz166 as u32, 8); +}