diff options
| author | Ulf Lilleengen <[email protected]> | 2024-06-18 13:00:28 +0200 |
|---|---|---|
| committer | Ulf Lilleengen <[email protected]> | 2024-06-18 13:13:33 +0200 |
| commit | a44ee963ef65be41a9354b4e7e70b02d30fadd70 (patch) | |
| tree | 0792cd1d50b5fb5b1ea8c22f320f0d5c81f7811d /embassy-nrf/src/chips | |
| parent | 3c414e99cb3df9a040a92ac413aa3d87faf87dc3 (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.rs | 7 | ||||
| -rw-r--r-- | embassy-nrf/src/chips/nrf52810.rs | 7 | ||||
| -rw-r--r-- | embassy-nrf/src/chips/nrf52811.rs | 7 | ||||
| -rw-r--r-- | embassy-nrf/src/chips/nrf52820.rs | 15 | ||||
| -rw-r--r-- | embassy-nrf/src/chips/nrf52832.rs | 15 | ||||
| -rw-r--r-- | embassy-nrf/src/chips/nrf52833.rs | 15 | ||||
| -rw-r--r-- | embassy-nrf/src/chips/nrf52840.rs | 15 | ||||
| -rw-r--r-- | embassy-nrf/src/chips/nrf5340_app.rs | 15 | ||||
| -rw-r--r-- | embassy-nrf/src/chips/nrf5340_net.rs | 5 | ||||
| -rw-r--r-- | embassy-nrf/src/chips/nrf9160.rs | 15 |
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 | ||
| 137 | impl_uarte!(UARTE0, UARTE0, UARTE0_UART0); | 141 | impl_uarte!(UARTE0, UARTE0, UARTE0_UART0); |
| @@ -214,6 +218,9 @@ impl_saadc_input!(P0_05, ANALOG_INPUT3); | |||
| 214 | 218 | ||
| 215 | impl_radio!(RADIO, RADIO, RADIO); | 219 | impl_radio!(RADIO, RADIO, RADIO); |
| 216 | 220 | ||
| 221 | impl_egu!(EGU0, EGU0, SWI0_EGU0); | ||
| 222 | impl_egu!(EGU1, EGU1, SWI1_EGU1); | ||
| 223 | |||
| 217 | embassy_hal_internal::interrupt_mod!( | 224 | embassy_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 | ||
| 143 | impl_uarte!(UARTE0, UARTE0, UARTE0_UART0); | 147 | impl_uarte!(UARTE0, UARTE0, UARTE0_UART0); |
| @@ -240,6 +244,9 @@ impl_saadc_input!(P0_31, ANALOG_INPUT7); | |||
| 240 | 244 | ||
| 241 | impl_radio!(RADIO, RADIO, RADIO); | 245 | impl_radio!(RADIO, RADIO, RADIO); |
| 242 | 246 | ||
| 247 | impl_egu!(EGU0, EGU0, SWI0_EGU0); | ||
| 248 | impl_egu!(EGU1, EGU1, SWI1_EGU1); | ||
| 249 | |||
| 243 | embassy_hal_internal::interrupt_mod!( | 250 | embassy_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 | ||
| 143 | impl_uarte!(UARTE0, UARTE0, UARTE0_UART0); | 147 | impl_uarte!(UARTE0, UARTE0, UARTE0_UART0); |
| @@ -242,6 +246,9 @@ impl_saadc_input!(P0_31, ANALOG_INPUT7); | |||
| 242 | 246 | ||
| 243 | impl_radio!(RADIO, RADIO, RADIO); | 247 | impl_radio!(RADIO, RADIO, RADIO); |
| 244 | 248 | ||
| 249 | impl_egu!(EGU0, EGU0, SWI0_EGU0); | ||
| 250 | impl_egu!(EGU1, EGU1, SWI1_EGU1); | ||
| 251 | |||
| 245 | embassy_hal_internal::interrupt_mod!( | 252 | embassy_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 | ||
| 138 | impl_usb!(USBD, USBD, USBD); | 146 | impl_usb!(USBD, USBD, USBD); |
| @@ -229,6 +237,13 @@ impl_ppi_channel!(PPI_CH31, 31 => static); | |||
| 229 | 237 | ||
| 230 | impl_radio!(RADIO, RADIO, RADIO); | 238 | impl_radio!(RADIO, RADIO, RADIO); |
| 231 | 239 | ||
| 240 | impl_egu!(EGU0, EGU0, SWI0_EGU0); | ||
| 241 | impl_egu!(EGU1, EGU1, SWI1_EGU1); | ||
| 242 | impl_egu!(EGU2, EGU2, SWI2_EGU2); | ||
| 243 | impl_egu!(EGU3, EGU3, SWI3_EGU3); | ||
| 244 | impl_egu!(EGU4, EGU4, SWI4_EGU4); | ||
| 245 | impl_egu!(EGU5, EGU5, SWI5_EGU5); | ||
| 246 | |||
| 232 | embassy_hal_internal::interrupt_mod!( | 247 | embassy_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 | ||
| 158 | impl_uarte!(UARTE0, UARTE0, UARTE0_UART0); | 166 | impl_uarte!(UARTE0, UARTE0, UARTE0_UART0); |
| @@ -269,6 +277,13 @@ impl_i2s!(I2S, I2S, I2S); | |||
| 269 | 277 | ||
| 270 | impl_radio!(RADIO, RADIO, RADIO); | 278 | impl_radio!(RADIO, RADIO, RADIO); |
| 271 | 279 | ||
| 280 | impl_egu!(EGU0, EGU0, SWI0_EGU0); | ||
| 281 | impl_egu!(EGU1, EGU1, SWI1_EGU1); | ||
| 282 | impl_egu!(EGU2, EGU2, SWI2_EGU2); | ||
| 283 | impl_egu!(EGU3, EGU3, SWI3_EGU3); | ||
| 284 | impl_egu!(EGU4, EGU4, SWI4_EGU4); | ||
| 285 | impl_egu!(EGU5, EGU5, SWI5_EGU5); | ||
| 286 | |||
| 272 | embassy_hal_internal::interrupt_mod!( | 287 | embassy_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 | ||
| 178 | impl_usb!(USBD, USBD, USBD); | 186 | impl_usb!(USBD, USBD, USBD); |
| @@ -311,6 +319,13 @@ impl_i2s!(I2S, I2S, I2S); | |||
| 311 | 319 | ||
| 312 | impl_radio!(RADIO, RADIO, RADIO); | 320 | impl_radio!(RADIO, RADIO, RADIO); |
| 313 | 321 | ||
| 322 | impl_egu!(EGU0, EGU0, SWI0_EGU0); | ||
| 323 | impl_egu!(EGU1, EGU1, SWI1_EGU1); | ||
| 324 | impl_egu!(EGU2, EGU2, SWI2_EGU2); | ||
| 325 | impl_egu!(EGU3, EGU3, SWI3_EGU3); | ||
| 326 | impl_egu!(EGU4, EGU4, SWI4_EGU4); | ||
| 327 | impl_egu!(EGU5, EGU5, SWI5_EGU5); | ||
| 328 | |||
| 314 | embassy_hal_internal::interrupt_mod!( | 329 | embassy_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 | ||
| 181 | impl_usb!(USBD, USBD, USBD); | 189 | impl_usb!(USBD, USBD, USBD); |
| @@ -316,6 +324,13 @@ impl_i2s!(I2S, I2S, I2S); | |||
| 316 | 324 | ||
| 317 | impl_radio!(RADIO, RADIO, RADIO); | 325 | impl_radio!(RADIO, RADIO, RADIO); |
| 318 | 326 | ||
| 327 | impl_egu!(EGU0, EGU0, SWI0_EGU0); | ||
| 328 | impl_egu!(EGU1, EGU1, SWI1_EGU1); | ||
| 329 | impl_egu!(EGU2, EGU2, SWI2_EGU2); | ||
| 330 | impl_egu!(EGU3, EGU3, SWI3_EGU3); | ||
| 331 | impl_egu!(EGU4, EGU4, SWI4_EGU4); | ||
| 332 | impl_egu!(EGU5, EGU5, SWI5_EGU5); | ||
| 333 | |||
| 319 | embassy_hal_internal::interrupt_mod!( | 334 | embassy_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 | ||
| 385 | impl_usb!(USBD, USBD, USBD); | 393 | impl_usb!(USBD, USBD, USBD); |
| @@ -519,6 +527,13 @@ impl_saadc_input!(P0_18, ANALOG_INPUT5); | |||
| 519 | impl_saadc_input!(P0_19, ANALOG_INPUT6); | 527 | impl_saadc_input!(P0_19, ANALOG_INPUT6); |
| 520 | impl_saadc_input!(P0_20, ANALOG_INPUT7); | 528 | impl_saadc_input!(P0_20, ANALOG_INPUT7); |
| 521 | 529 | ||
| 530 | impl_egu!(EGU0, EGU0, EGU0); | ||
| 531 | impl_egu!(EGU1, EGU1, EGU1); | ||
| 532 | impl_egu!(EGU2, EGU2, EGU2); | ||
| 533 | impl_egu!(EGU3, EGU3, EGU3); | ||
| 534 | impl_egu!(EGU4, EGU4, EGU4); | ||
| 535 | impl_egu!(EGU5, EGU5, EGU5); | ||
| 536 | |||
| 522 | embassy_hal_internal::interrupt_mod!( | 537 | embassy_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 | ||
| 256 | impl_uarte!(SERIAL0, UARTE0, SERIAL0); | 259 | impl_uarte!(SERIAL0, UARTE0, SERIAL0); |
| @@ -350,6 +353,8 @@ impl_ppi_channel!(PPI_CH31, 31 => configurable); | |||
| 350 | 353 | ||
| 351 | impl_radio!(RADIO, RADIO, RADIO); | 354 | impl_radio!(RADIO, RADIO, RADIO); |
| 352 | 355 | ||
| 356 | impl_egu!(EGU0, EGU0, EGU0); | ||
| 357 | |||
| 353 | embassy_hal_internal::interrupt_mod!( | 358 | embassy_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 | ||
| 288 | impl_uarte!(SERIAL0, UARTE0, UARTE0_SPIM0_SPIS0_TWIM0_TWIS0); | 296 | impl_uarte!(SERIAL0, UARTE0, UARTE0_SPIM0_SPIS0_TWIM0_TWIS0); |
| @@ -380,6 +388,13 @@ impl_saadc_input!(P0_18, ANALOG_INPUT5); | |||
| 380 | impl_saadc_input!(P0_19, ANALOG_INPUT6); | 388 | impl_saadc_input!(P0_19, ANALOG_INPUT6); |
| 381 | impl_saadc_input!(P0_20, ANALOG_INPUT7); | 389 | impl_saadc_input!(P0_20, ANALOG_INPUT7); |
| 382 | 390 | ||
| 391 | impl_egu!(EGU0, EGU0, EGU0); | ||
| 392 | impl_egu!(EGU1, EGU1, EGU1); | ||
| 393 | impl_egu!(EGU2, EGU2, EGU2); | ||
| 394 | impl_egu!(EGU3, EGU3, EGU3); | ||
| 395 | impl_egu!(EGU4, EGU4, EGU4); | ||
| 396 | impl_egu!(EGU5, EGU5, EGU5); | ||
| 397 | |||
| 383 | embassy_hal_internal::interrupt_mod!( | 398 | embassy_hal_internal::interrupt_mod!( |
| 384 | SPU, | 399 | SPU, |
| 385 | CLOCK_POWER, | 400 | CLOCK_POWER, |
