Skip to content

Commit

Permalink
Remove NVIC, SCB from the 1176
Browse files Browse the repository at this point in the history
The 1176 imxrt-ral modules no longer provide an API for the NVIC or SCB.
It's the same process as b1fee46, but applied to the 1176 modules. I
re-introduced core interrupts by attaching them to the miscellaneous
control module (MCM). All separate GPC peripheral blocks are logically
within a single 'GPC' space, so selecting the standby sub-module was an
arbitrary decision.

Notice that this commit marks the GPU2D interrupt as reserved. This is
intentional; the SVDs do not describe a GPU2D peripheral, so imxrt-ral
doesn't have a corresponding module. This interrupt probably
piggy-packed on the NVIC. We can re-introduce that interrupt when we
describe the GPU2D peripheral.
  • Loading branch information
mciantyre committed Sep 9, 2024
1 parent c7133f2 commit 95289cf
Show file tree
Hide file tree
Showing 9 changed files with 84 additions and 4,933 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@

## [Unreleased]

**BREAKING** Remove the NVIC and SCB peripherals from the 1176. If you need an
API for Cortex-M registers, check out the
[`cortex-m`][https://crates.io/crates/cortex-m] crate.

**BREAKING** The 1176 GPU2D interrupt is marked as reserved, and it's not
available in the `Interrupt` enum.

**BREAKING** In the 1176 API, there is only one SAI module. All SAI instances,
including those that only have a single channel, now appear to support multiple
channels. The user is responsible for making sure their SAI instance can
Expand Down
18 changes: 18 additions & 0 deletions devices/imxrt1176_cm4.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,10 @@ _delete:
- USB_OTG2
- USBNC_OTG2

# Do you need these? Check out the cortex-m crate (v0.7).
- NVIC
- SystemControl

_modify:
_peripherals:
CM7_GPIO2:
Expand Down Expand Up @@ -193,3 +197,17 @@ PWM?:
bitOffset: 2
bitWidth: 1
access: read-write

MCM:
_add:
_interrupts:
CORE:
description: CORE
value: 19

GPC_STBY_CTRL:
_add:
_interrupts:
GPC:
description: GPC
value: 117
24 changes: 24 additions & 0 deletions devices/imxrt1176_cm7.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ _delete:
- USB_OTG2
- USBNC_OTG2

# Do you need these? Check out the cortex-m crate (v0.7).
- NVIC
- SystemControl

_include:
- "common_patches/dma0/tcd_cluster.yaml"
- "common_patches/usb1.yaml"
Expand Down Expand Up @@ -133,3 +137,23 @@ PWM?:
bitOffset: 2
bitWidth: 1
access: read-write

CM7_MCM:
_add:
_interrupts:
CTI_TRIGGER_OUT0:
description: CTI_TRIGGER_OUT0
value: 17
CTI_TRIGGER_OUT1:
description: CTI_TRIGGER_OUT1
value: 18
CORE:
description: CORE
value: 19

GPC_STBY_CTRL:
_add:
_interrupts:
GPC:
description: GPC
value: 117
Loading

0 comments on commit 95289cf

Please sign in to comment.