aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Perez Llamas <[email protected]>2022-11-19 01:38:03 +0100
committerChristian Perez Llamas <[email protected]>2022-11-19 01:38:03 +0100
commit64e8cfef8e53293b35d2c5ea2b822bdc3a12111e (patch)
tree6814d1241649efff8d2026d04b3858f186399703
parent16838f8a66d8a3b74f0fe1ab9124532226e7166a (diff)
Fix build
-rw-r--r--embassy-nrf/src/chips/nrf52832.rs7
-rw-r--r--embassy-nrf/src/chips/nrf52833.rs7
-rw-r--r--embassy-nrf/src/chips/nrf52840.rs2
-rw-r--r--embassy-nrf/src/i2s.rs7
4 files changed, 15 insertions, 8 deletions
diff --git a/embassy-nrf/src/chips/nrf52832.rs b/embassy-nrf/src/chips/nrf52832.rs
index 81e66c193..a0aaba9df 100644
--- a/embassy-nrf/src/chips/nrf52832.rs
+++ b/embassy-nrf/src/chips/nrf52832.rs
@@ -138,6 +138,9 @@ embassy_hal_common::peripherals! {
138 138
139 // QDEC 139 // QDEC
140 QDEC, 140 QDEC,
141
142 // I2S
143 I2S,
141} 144}
142 145
143impl_uarte!(UARTE0, UARTE0, UARTE0_UART0); 146impl_uarte!(UARTE0, UARTE0, UARTE0_UART0);
@@ -234,6 +237,8 @@ impl_saadc_input!(P0_29, ANALOG_INPUT5);
234impl_saadc_input!(P0_30, ANALOG_INPUT6); 237impl_saadc_input!(P0_30, ANALOG_INPUT6);
235impl_saadc_input!(P0_31, ANALOG_INPUT7); 238impl_saadc_input!(P0_31, ANALOG_INPUT7);
236 239
240impl_i2s!(I2S, I2S, I2S);
241
237pub mod irqs { 242pub mod irqs {
238 use embassy_cortex_m::interrupt::_export::declare; 243 use embassy_cortex_m::interrupt::_export::declare;
239 244
@@ -274,6 +279,6 @@ pub mod irqs {
274 declare!(PWM2); 279 declare!(PWM2);
275 declare!(SPIM2_SPIS2_SPI2); 280 declare!(SPIM2_SPIS2_SPI2);
276 declare!(RTC2); 281 declare!(RTC2);
277 declare!(I2S);
278 declare!(FPU); 282 declare!(FPU);
283 declare!(I2S);
279} 284}
diff --git a/embassy-nrf/src/chips/nrf52833.rs b/embassy-nrf/src/chips/nrf52833.rs
index 92499e3c9..9063f486a 100644
--- a/embassy-nrf/src/chips/nrf52833.rs
+++ b/embassy-nrf/src/chips/nrf52833.rs
@@ -161,6 +161,9 @@ embassy_hal_common::peripherals! {
161 161
162 // PDM 162 // PDM
163 PDM, 163 PDM,
164
165 // I2S
166 I2S,
164} 167}
165 168
166#[cfg(feature = "nightly")] 169#[cfg(feature = "nightly")]
@@ -280,6 +283,8 @@ impl_saadc_input!(P0_29, ANALOG_INPUT5);
280impl_saadc_input!(P0_30, ANALOG_INPUT6); 283impl_saadc_input!(P0_30, ANALOG_INPUT6);
281impl_saadc_input!(P0_31, ANALOG_INPUT7); 284impl_saadc_input!(P0_31, ANALOG_INPUT7);
282 285
286impl_i2s!(I2S, I2S, I2S);
287
283pub mod irqs { 288pub mod irqs {
284 use embassy_cortex_m::interrupt::_export::declare; 289 use embassy_cortex_m::interrupt::_export::declare;
285 290
@@ -320,10 +325,10 @@ pub mod irqs {
320 declare!(PWM2); 325 declare!(PWM2);
321 declare!(SPIM2_SPIS2_SPI2); 326 declare!(SPIM2_SPIS2_SPI2);
322 declare!(RTC2); 327 declare!(RTC2);
323 declare!(I2S);
324 declare!(FPU); 328 declare!(FPU);
325 declare!(USBD); 329 declare!(USBD);
326 declare!(UARTE1); 330 declare!(UARTE1);
327 declare!(PWM3); 331 declare!(PWM3);
328 declare!(SPIM3); 332 declare!(SPIM3);
333 declare!(I2S);
329} 334}
diff --git a/embassy-nrf/src/chips/nrf52840.rs b/embassy-nrf/src/chips/nrf52840.rs
index cf800c7b4..4047ee0ac 100644
--- a/embassy-nrf/src/chips/nrf52840.rs
+++ b/embassy-nrf/src/chips/nrf52840.rs
@@ -330,7 +330,6 @@ pub mod irqs {
330 declare!(PWM2); 330 declare!(PWM2);
331 declare!(SPIM2_SPIS2_SPI2); 331 declare!(SPIM2_SPIS2_SPI2);
332 declare!(RTC2); 332 declare!(RTC2);
333 declare!(I2S);
334 declare!(FPU); 333 declare!(FPU);
335 declare!(USBD); 334 declare!(USBD);
336 declare!(UARTE1); 335 declare!(UARTE1);
@@ -338,4 +337,5 @@ pub mod irqs {
338 declare!(CRYPTOCELL); 337 declare!(CRYPTOCELL);
339 declare!(PWM3); 338 declare!(PWM3);
340 declare!(SPIM3); 339 declare!(SPIM3);
340 declare!(I2S);
341} 341}
diff --git a/embassy-nrf/src/i2s.rs b/embassy-nrf/src/i2s.rs
index 53d9f9a1b..52b72df27 100644
--- a/embassy-nrf/src/i2s.rs
+++ b/embassy-nrf/src/i2s.rs
@@ -14,13 +14,10 @@ use embassy_hal_common::{into_ref, PeripheralRef};
14use crate::gpio::{AnyPin, Pin as GpioPin}; 14use crate::gpio::{AnyPin, Pin as GpioPin};
15use crate::interrupt::Interrupt; 15use crate::interrupt::Interrupt;
16use crate::pac::i2s::RegisterBlock; 16use crate::pac::i2s::RegisterBlock;
17use crate::Peripheral; 17use crate::{EASY_DMA_SIZE, Peripheral};
18 18
19// TODO: Define those in lib.rs somewhere else 19// TODO: Define those in lib.rs somewhere else
20 20
21/// I2S EasyDMA MAXCNT bit length = 14
22const MAX_DMA_MAXCNT: u32 = 1 << 14;
23
24/// Limits for Easy DMA - it can only read from data ram 21/// Limits for Easy DMA - it can only read from data ram
25pub const SRAM_LOWER: usize = 0x2000_0000; 22pub const SRAM_LOWER: usize = 0x2000_0000;
26pub const SRAM_UPPER: usize = 0x3000_0000; 23pub const SRAM_UPPER: usize = 0x3000_0000;
@@ -956,7 +953,7 @@ impl<T: Instance> Device<T> {
956 Err(Error::BufferLengthMisaligned) 953 Err(Error::BufferLengthMisaligned)
957 } else if (ptr as usize) < SRAM_LOWER || (ptr as usize) > SRAM_UPPER { 954 } else if (ptr as usize) < SRAM_LOWER || (ptr as usize) > SRAM_UPPER {
958 Err(Error::BufferNotInDataMemory) 955 Err(Error::BufferNotInDataMemory)
959 } else if maxcnt > MAX_DMA_MAXCNT { 956 } else if maxcnt as usize > EASY_DMA_SIZE {
960 Err(Error::BufferTooLong) 957 Err(Error::BufferTooLong)
961 } else { 958 } else {
962 Ok((ptr, maxcnt)) 959 Ok((ptr, maxcnt))