diff options
| author | Dario Nieuwenhuis <[email protected]> | 2024-01-05 19:20:38 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-01-05 19:20:38 +0000 |
| commit | 0d5711b219add4c8e7e4a3524e81071c5bd85ec6 (patch) | |
| tree | 0ef796750951527b8c540b8eb2e82e904f08c49e | |
| parent | 591c40481350d0f493b9a79aaf1abe7558e613ff (diff) | |
| parent | eb70d744a9ad6c1a9747777eb32b7b22481e77ec (diff) | |
Merge pull request #2402 from ftilde/qspi-rxdelay
Expose rx_delay in nrf qspi config
| -rwxr-xr-x | embassy-nrf/src/qspi.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/embassy-nrf/src/qspi.rs b/embassy-nrf/src/qspi.rs index 0171ceb0e..8eec09c96 100755 --- a/embassy-nrf/src/qspi.rs +++ b/embassy-nrf/src/qspi.rs | |||
| @@ -80,6 +80,8 @@ pub struct Config { | |||
| 80 | pub frequency: Frequency, | 80 | pub frequency: Frequency, |
| 81 | /// Value is specified in number of 16 MHz periods (62.5 ns) | 81 | /// Value is specified in number of 16 MHz periods (62.5 ns) |
| 82 | pub sck_delay: u8, | 82 | pub sck_delay: u8, |
| 83 | /// Value is specified in number of 64 MHz periods (15.625 ns), valid values between 0 and 7 (inclusive) | ||
| 84 | pub rx_delay: u8, | ||
| 83 | /// Whether data is captured on the clock rising edge and data is output on a falling edge (MODE0) or vice-versa (MODE3) | 85 | /// Whether data is captured on the clock rising edge and data is output on a falling edge (MODE0) or vice-versa (MODE3) |
| 84 | pub spi_mode: SpiMode, | 86 | pub spi_mode: SpiMode, |
| 85 | /// Addressing mode (24-bit or 32-bit) | 87 | /// Addressing mode (24-bit or 32-bit) |
| @@ -98,6 +100,7 @@ impl Default for Config { | |||
| 98 | deep_power_down: None, | 100 | deep_power_down: None, |
| 99 | frequency: Frequency::M8, | 101 | frequency: Frequency::M8, |
| 100 | sck_delay: 80, | 102 | sck_delay: 80, |
| 103 | rx_delay: 2, | ||
| 101 | spi_mode: SpiMode::MODE0, | 104 | spi_mode: SpiMode::MODE0, |
| 102 | address_mode: AddressMode::_24BIT, | 105 | address_mode: AddressMode::_24BIT, |
| 103 | capacity: 0, | 106 | capacity: 0, |
| @@ -202,6 +205,11 @@ impl<'d, T: Instance> Qspi<'d, T> { | |||
| 202 | w | 205 | w |
| 203 | }); | 206 | }); |
| 204 | 207 | ||
| 208 | r.iftiming.write(|w| unsafe { | ||
| 209 | w.rxdelay().bits(config.rx_delay & 0b111); | ||
| 210 | w | ||
| 211 | }); | ||
| 212 | |||
| 205 | r.xipoffset.write(|w| unsafe { | 213 | r.xipoffset.write(|w| unsafe { |
| 206 | w.xipoffset().bits(config.xip_offset); | 214 | w.xipoffset().bits(config.xip_offset); |
| 207 | w | 215 | w |
