aboutsummaryrefslogtreecommitdiff
path: root/embassy-nrf/src/chips
diff options
context:
space:
mode:
authorUlf Lilleengen <[email protected]>2024-06-18 13:00:28 +0200
committerUlf Lilleengen <[email protected]>2024-06-18 13:13:33 +0200
commita44ee963ef65be41a9354b4e7e70b02d30fadd70 (patch)
tree0792cd1d50b5fb5b1ea8c22f320f0d5c81f7811d /embassy-nrf/src/chips
parent3c414e99cb3df9a040a92ac413aa3d87faf87dc3 (diff)
add HAL and example for using nRF EGU peripheral
Diffstat (limited to 'embassy-nrf/src/chips')
-rw-r--r--embassy-nrf/src/chips/nrf52805.rs7
-rw-r--r--embassy-nrf/src/chips/nrf52810.rs7
-rw-r--r--embassy-nrf/src/chips/nrf52811.rs7
-rw-r--r--embassy-nrf/src/chips/nrf52820.rs15
-rw-r--r--embassy-nrf/src/chips/nrf52832.rs15
-rw-r--r--embassy-nrf/src/chips/nrf52833.rs15
-rw-r--r--embassy-nrf/src/chips/nrf52840.rs15
-rw-r--r--embassy-nrf/src/chips/nrf5340_app.rs15
-rw-r--r--embassy-nrf/src/chips/nrf5340_net.rs5
-rw-r--r--embassy-nrf/src/chips/nrf9160.rs15
10 files changed, 116 insertions, 0 deletions
diff --git a/embassy-nrf/src/chips/nrf52805.rs b/embassy-nrf/src/chips/nrf52805.rs
index 14c3f9b1a..b51b0c93e 100644
--- a/embassy-nrf/src/chips/nrf52805.rs
+++ b/embassy-nrf/src/chips/nrf52805.rs
@@ -132,6 +132,10 @@ embassy_hal_internal::peripherals! {
132 132
133 // Radio 133 // Radio
134 RADIO, 134 RADIO,
135
136 // EGU
137 EGU0,
138 EGU1,
135} 139}
136 140
137impl_uarte!(UARTE0, UARTE0, UARTE0_UART0); 141impl_uarte!(UARTE0, UARTE0, UARTE0_UART0);
@@ -214,6 +218,9 @@ impl_saadc_input!(P0_05, ANALOG_INPUT3);
214 218
215impl_radio!(RADIO, RADIO, RADIO); 219impl_radio!(RADIO, RADIO, RADIO);
216 220
221impl_egu!(EGU0, EGU0, SWI0_EGU0);
222impl_egu!(EGU1, EGU1, SWI1_EGU1);
223
217embassy_hal_internal::interrupt_mod!( 224embassy_hal_internal::interrupt_mod!(
218 POWER_CLOCK, 225 POWER_CLOCK,
219 RADIO, 226 RADIO,
diff --git a/embassy-nrf/src/chips/nrf52810.rs b/embassy-nrf/src/chips/nrf52810.rs
index c607586db..273098d9b 100644
--- a/embassy-nrf/src/chips/nrf52810.rs
+++ b/embassy-nrf/src/chips/nrf52810.rs
@@ -138,6 +138,10 @@ embassy_hal_internal::peripherals! {
138 138
139 // Radio 139 // Radio
140 RADIO, 140 RADIO,
141
142 // EGU
143 EGU0,
144 EGU1,
141} 145}
142 146
143impl_uarte!(UARTE0, UARTE0, UARTE0_UART0); 147impl_uarte!(UARTE0, UARTE0, UARTE0_UART0);
@@ -240,6 +244,9 @@ impl_saadc_input!(P0_31, ANALOG_INPUT7);
240 244
241impl_radio!(RADIO, RADIO, RADIO); 245impl_radio!(RADIO, RADIO, RADIO);
242 246
247impl_egu!(EGU0, EGU0, SWI0_EGU0);
248impl_egu!(EGU1, EGU1, SWI1_EGU1);
249
243embassy_hal_internal::interrupt_mod!( 250embassy_hal_internal::interrupt_mod!(
244 POWER_CLOCK, 251 POWER_CLOCK,
245 RADIO, 252 RADIO,
diff --git a/embassy-nrf/src/chips/nrf52811.rs b/embassy-nrf/src/chips/nrf52811.rs
index 5f70365b4..9bce38636 100644
--- a/embassy-nrf/src/chips/nrf52811.rs
+++ b/embassy-nrf/src/chips/nrf52811.rs
@@ -138,6 +138,10 @@ embassy_hal_internal::peripherals! {
138 138
139 // Radio 139 // Radio
140 RADIO, 140 RADIO,
141
142 // EGU
143 EGU0,
144 EGU1,
141} 145}
142 146
143impl_uarte!(UARTE0, UARTE0, UARTE0_UART0); 147impl_uarte!(UARTE0, UARTE0, UARTE0_UART0);
@@ -242,6 +246,9 @@ impl_saadc_input!(P0_31, ANALOG_INPUT7);
242 246
243impl_radio!(RADIO, RADIO, RADIO); 247impl_radio!(RADIO, RADIO, RADIO);
244 248
249impl_egu!(EGU0, EGU0, SWI0_EGU0);
250impl_egu!(EGU1, EGU1, SWI1_EGU1);
251
245embassy_hal_internal::interrupt_mod!( 252embassy_hal_internal::interrupt_mod!(
246 POWER_CLOCK, 253 POWER_CLOCK,
247 RADIO, 254 RADIO,
diff --git a/embassy-nrf/src/chips/nrf52820.rs b/embassy-nrf/src/chips/nrf52820.rs
index 82d097407..2acae2c8f 100644
--- a/embassy-nrf/src/chips/nrf52820.rs
+++ b/embassy-nrf/src/chips/nrf52820.rs
@@ -133,6 +133,14 @@ embassy_hal_internal::peripherals! {
133 133
134 // Radio 134 // Radio
135 RADIO, 135 RADIO,
136
137 // EGU
138 EGU0,
139 EGU1,
140 EGU2,
141 EGU3,
142 EGU4,
143 EGU5,
136} 144}
137 145
138impl_usb!(USBD, USBD, USBD); 146impl_usb!(USBD, USBD, USBD);
@@ -229,6 +237,13 @@ impl_ppi_channel!(PPI_CH31, 31 => static);
229 237
230impl_radio!(RADIO, RADIO, RADIO); 238impl_radio!(RADIO, RADIO, RADIO);
231 239
240impl_egu!(EGU0, EGU0, SWI0_EGU0);
241impl_egu!(EGU1, EGU1, SWI1_EGU1);
242impl_egu!(EGU2, EGU2, SWI2_EGU2);
243impl_egu!(EGU3, EGU3, SWI3_EGU3);
244impl_egu!(EGU4, EGU4, SWI4_EGU4);
245impl_egu!(EGU5, EGU5, SWI5_EGU5);
246
232embassy_hal_internal::interrupt_mod!( 247embassy_hal_internal::interrupt_mod!(
233 POWER_CLOCK, 248 POWER_CLOCK,
234 RADIO, 249 RADIO,
diff --git a/embassy-nrf/src/chips/nrf52832.rs b/embassy-nrf/src/chips/nrf52832.rs
index 67b32fe5f..94b373ab3 100644
--- a/embassy-nrf/src/chips/nrf52832.rs
+++ b/embassy-nrf/src/chips/nrf52832.rs
@@ -153,6 +153,14 @@ embassy_hal_internal::peripherals! {
153 153
154 // Radio 154 // Radio
155 RADIO, 155 RADIO,
156
157 // EGU
158 EGU0,
159 EGU1,
160 EGU2,
161 EGU3,
162 EGU4,
163 EGU5,
156} 164}
157 165
158impl_uarte!(UARTE0, UARTE0, UARTE0_UART0); 166impl_uarte!(UARTE0, UARTE0, UARTE0_UART0);
@@ -269,6 +277,13 @@ impl_i2s!(I2S, I2S, I2S);
269 277
270impl_radio!(RADIO, RADIO, RADIO); 278impl_radio!(RADIO, RADIO, RADIO);
271 279
280impl_egu!(EGU0, EGU0, SWI0_EGU0);
281impl_egu!(EGU1, EGU1, SWI1_EGU1);
282impl_egu!(EGU2, EGU2, SWI2_EGU2);
283impl_egu!(EGU3, EGU3, SWI3_EGU3);
284impl_egu!(EGU4, EGU4, SWI4_EGU4);
285impl_egu!(EGU5, EGU5, SWI5_EGU5);
286
272embassy_hal_internal::interrupt_mod!( 287embassy_hal_internal::interrupt_mod!(
273 POWER_CLOCK, 288 POWER_CLOCK,
274 RADIO, 289 RADIO,
diff --git a/embassy-nrf/src/chips/nrf52833.rs b/embassy-nrf/src/chips/nrf52833.rs
index 20f14e2d6..09cde1ac1 100644
--- a/embassy-nrf/src/chips/nrf52833.rs
+++ b/embassy-nrf/src/chips/nrf52833.rs
@@ -173,6 +173,14 @@ embassy_hal_internal::peripherals! {
173 173
174 // Radio 174 // Radio
175 RADIO, 175 RADIO,
176
177 // EGU
178 EGU0,
179 EGU1,
180 EGU2,
181 EGU3,
182 EGU4,
183 EGU5,
176} 184}
177 185
178impl_usb!(USBD, USBD, USBD); 186impl_usb!(USBD, USBD, USBD);
@@ -311,6 +319,13 @@ impl_i2s!(I2S, I2S, I2S);
311 319
312impl_radio!(RADIO, RADIO, RADIO); 320impl_radio!(RADIO, RADIO, RADIO);
313 321
322impl_egu!(EGU0, EGU0, SWI0_EGU0);
323impl_egu!(EGU1, EGU1, SWI1_EGU1);
324impl_egu!(EGU2, EGU2, SWI2_EGU2);
325impl_egu!(EGU3, EGU3, SWI3_EGU3);
326impl_egu!(EGU4, EGU4, SWI4_EGU4);
327impl_egu!(EGU5, EGU5, SWI5_EGU5);
328
314embassy_hal_internal::interrupt_mod!( 329embassy_hal_internal::interrupt_mod!(
315 POWER_CLOCK, 330 POWER_CLOCK,
316 RADIO, 331 RADIO,
diff --git a/embassy-nrf/src/chips/nrf52840.rs b/embassy-nrf/src/chips/nrf52840.rs
index d3272b2e8..0f3d1b250 100644
--- a/embassy-nrf/src/chips/nrf52840.rs
+++ b/embassy-nrf/src/chips/nrf52840.rs
@@ -176,6 +176,14 @@ embassy_hal_internal::peripherals! {
176 176
177 // Radio 177 // Radio
178 RADIO, 178 RADIO,
179
180 // EGU
181 EGU0,
182 EGU1,
183 EGU2,
184 EGU3,
185 EGU4,
186 EGU5,
179} 187}
180 188
181impl_usb!(USBD, USBD, USBD); 189impl_usb!(USBD, USBD, USBD);
@@ -316,6 +324,13 @@ impl_i2s!(I2S, I2S, I2S);
316 324
317impl_radio!(RADIO, RADIO, RADIO); 325impl_radio!(RADIO, RADIO, RADIO);
318 326
327impl_egu!(EGU0, EGU0, SWI0_EGU0);
328impl_egu!(EGU1, EGU1, SWI1_EGU1);
329impl_egu!(EGU2, EGU2, SWI2_EGU2);
330impl_egu!(EGU3, EGU3, SWI3_EGU3);
331impl_egu!(EGU4, EGU4, SWI4_EGU4);
332impl_egu!(EGU5, EGU5, SWI5_EGU5);
333
319embassy_hal_internal::interrupt_mod!( 334embassy_hal_internal::interrupt_mod!(
320 POWER_CLOCK, 335 POWER_CLOCK,
321 RADIO, 336 RADIO,
diff --git a/embassy-nrf/src/chips/nrf5340_app.rs b/embassy-nrf/src/chips/nrf5340_app.rs
index 62c74bb6f..584f6e43c 100644
--- a/embassy-nrf/src/chips/nrf5340_app.rs
+++ b/embassy-nrf/src/chips/nrf5340_app.rs
@@ -380,6 +380,14 @@ embassy_hal_internal::peripherals! {
380 P1_13, 380 P1_13,
381 P1_14, 381 P1_14,
382 P1_15, 382 P1_15,
383
384 // EGU
385 EGU0,
386 EGU1,
387 EGU2,
388 EGU3,
389 EGU4,
390 EGU5,
383} 391}
384 392
385impl_usb!(USBD, USBD, USBD); 393impl_usb!(USBD, USBD, USBD);
@@ -519,6 +527,13 @@ impl_saadc_input!(P0_18, ANALOG_INPUT5);
519impl_saadc_input!(P0_19, ANALOG_INPUT6); 527impl_saadc_input!(P0_19, ANALOG_INPUT6);
520impl_saadc_input!(P0_20, ANALOG_INPUT7); 528impl_saadc_input!(P0_20, ANALOG_INPUT7);
521 529
530impl_egu!(EGU0, EGU0, EGU0);
531impl_egu!(EGU1, EGU1, EGU1);
532impl_egu!(EGU2, EGU2, EGU2);
533impl_egu!(EGU3, EGU3, EGU3);
534impl_egu!(EGU4, EGU4, EGU4);
535impl_egu!(EGU5, EGU5, EGU5);
536
522embassy_hal_internal::interrupt_mod!( 537embassy_hal_internal::interrupt_mod!(
523 FPU, 538 FPU,
524 CACHE, 539 CACHE,
diff --git a/embassy-nrf/src/chips/nrf5340_net.rs b/embassy-nrf/src/chips/nrf5340_net.rs
index 65e8f9653..d772c9a49 100644
--- a/embassy-nrf/src/chips/nrf5340_net.rs
+++ b/embassy-nrf/src/chips/nrf5340_net.rs
@@ -251,6 +251,9 @@ embassy_hal_internal::peripherals! {
251 251
252 // Radio 252 // Radio
253 RADIO, 253 RADIO,
254
255 // EGU
256 EGU0,
254} 257}
255 258
256impl_uarte!(SERIAL0, UARTE0, SERIAL0); 259impl_uarte!(SERIAL0, UARTE0, SERIAL0);
@@ -350,6 +353,8 @@ impl_ppi_channel!(PPI_CH31, 31 => configurable);
350 353
351impl_radio!(RADIO, RADIO, RADIO); 354impl_radio!(RADIO, RADIO, RADIO);
352 355
356impl_egu!(EGU0, EGU0, EGU0);
357
353embassy_hal_internal::interrupt_mod!( 358embassy_hal_internal::interrupt_mod!(
354 CLOCK_POWER, 359 CLOCK_POWER,
355 RADIO, 360 RADIO,
diff --git a/embassy-nrf/src/chips/nrf9160.rs b/embassy-nrf/src/chips/nrf9160.rs
index 8b1356ef8..8107ca175 100644
--- a/embassy-nrf/src/chips/nrf9160.rs
+++ b/embassy-nrf/src/chips/nrf9160.rs
@@ -283,6 +283,14 @@ embassy_hal_internal::peripherals! {
283 283
284 // PDM 284 // PDM
285 PDM, 285 PDM,
286
287 // EGU
288 EGU0,
289 EGU1,
290 EGU2,
291 EGU3,
292 EGU4,
293 EGU5,
286} 294}
287 295
288impl_uarte!(SERIAL0, UARTE0, UARTE0_SPIM0_SPIS0_TWIM0_TWIS0); 296impl_uarte!(SERIAL0, UARTE0, UARTE0_SPIM0_SPIS0_TWIM0_TWIS0);
@@ -380,6 +388,13 @@ impl_saadc_input!(P0_18, ANALOG_INPUT5);
380impl_saadc_input!(P0_19, ANALOG_INPUT6); 388impl_saadc_input!(P0_19, ANALOG_INPUT6);
381impl_saadc_input!(P0_20, ANALOG_INPUT7); 389impl_saadc_input!(P0_20, ANALOG_INPUT7);
382 390
391impl_egu!(EGU0, EGU0, EGU0);
392impl_egu!(EGU1, EGU1, EGU1);
393impl_egu!(EGU2, EGU2, EGU2);
394impl_egu!(EGU3, EGU3, EGU3);
395impl_egu!(EGU4, EGU4, EGU4);
396impl_egu!(EGU5, EGU5, EGU5);
397
383embassy_hal_internal::interrupt_mod!( 398embassy_hal_internal::interrupt_mod!(
384 SPU, 399 SPU,
385 CLOCK_POWER, 400 CLOCK_POWER,