aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorftilde <[email protected]>2024-01-04 21:24:09 +0100
committerftilde <[email protected]>2024-01-05 20:12:28 +0100
commiteb70d744a9ad6c1a9747777eb32b7b22481e77ec (patch)
treee8ac6217febf817511d485ac148fbdc3e9549079
parent51de518bd3edf15ffc76a55b6d003a633556ae56 (diff)
Expose rx_delay in nrf qspi config
-rwxr-xr-xembassy-nrf/src/qspi.rs8
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