More IRQs missing from RP2350.svd #2380

Closed
opened 2025-03-28 12:07:39 -05:00 by lurch · 9 comments
lurch commented 2025-03-28 12:07:39 -05:00 (Migrated from github.com)

Similar to #1898 , but slightly different...

I recently noticed that Table 94 in https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf (on page 83) lists IRQ numbers 40 and 41 as PROC0_IRQ_CTI and PROC1_IRQ_CTI, but these appear to be missing from the RP2350.svd.

Similar to #1898 , but slightly different... I recently noticed that Table 94 in https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf (on page 83) lists IRQ numbers 40 and 41 as `PROC0_IRQ_CTI` and `PROC1_IRQ_CTI`, but these appear to be missing from the `RP2350.svd`.
matiasilva commented 2025-07-21 08:14:27 -05:00 (Migrated from github.com)

The CTI enables chip debug. The debug hardware is not bus addressable, so I'm not sure it belongs in the SVD? We never added the RISC-V registers to the SVD, for example.

The CTI enables chip debug. The debug hardware is not bus addressable, so I'm not sure it belongs in the SVD? We never added the RISC-V registers to the SVD, for example.
lurch commented 2025-07-21 08:34:31 -05:00 (Migrated from github.com)

This is beyond my level of knowledge. Perhaps @liamfraser can provide more info?

This is beyond my level of knowledge. Perhaps @liamfraser can provide more info?
matiasilva commented 2025-07-22 09:36:28 -05:00 (Migrated from github.com)

I'll rename the existing virtual peripheral and add all IRQs there

I'll rename the existing virtual peripheral and add all IRQs there
matiasilva commented 2025-07-22 10:37:47 -05:00 (Migrated from github.com)

And we get a peripheral called VIRTUAL that looks like this:

        <name>VIRTUAL</name>
        <baseAddress>0x00000000</baseAddress>
        <interrupt>
            <name>PROC0_IRQ_CTI</name>
            <value>40</value>
        </interrupt>
        <interrupt>
            <name>PROC1_IRQ_CTI</name>
            <value>41</value>
        </interrupt>
        <interrupt>
            <name>SPARE_IRQ_0</name>
            <value>46</value>
        </interrupt>
        <interrupt>
            <name>SPARE_IRQ_1</name>
            <value>47</value>
        </interrupt>
        <interrupt>
            <name>SPARE_IRQ_2</name>
            <value>48</value>
        </interrupt>
        <interrupt>
            <name>SPARE_IRQ_3</name>
            <value>49</value>
        </interrupt>
        <interrupt>
            <name>SPARE_IRQ_4</name>
            <value>50</value>
        </interrupt>
        <interrupt>
            <name>SPARE_IRQ_5</name>
            <value>51</value>
        </interrupt>

It's reassuring that no other IRQs showed up in this list, meaning we haven't missed any others.

And we get a peripheral called VIRTUAL that looks like this: ``` <name>VIRTUAL</name> <baseAddress>0x00000000</baseAddress> <interrupt> <name>PROC0_IRQ_CTI</name> <value>40</value> </interrupt> <interrupt> <name>PROC1_IRQ_CTI</name> <value>41</value> </interrupt> <interrupt> <name>SPARE_IRQ_0</name> <value>46</value> </interrupt> <interrupt> <name>SPARE_IRQ_1</name> <value>47</value> </interrupt> <interrupt> <name>SPARE_IRQ_2</name> <value>48</value> </interrupt> <interrupt> <name>SPARE_IRQ_3</name> <value>49</value> </interrupt> <interrupt> <name>SPARE_IRQ_4</name> <value>50</value> </interrupt> <interrupt> <name>SPARE_IRQ_5</name> <value>51</value> </interrupt> ``` It's reassuring that no other IRQs showed up in this list, meaning we haven't missed any others.
matiasilva commented 2025-07-22 10:38:43 -05:00 (Migrated from github.com)

This is now generating internally and ready for SDK 2.2

This is now generating internally and ready for SDK 2.2
lurch commented 2025-07-22 10:43:16 -05:00 (Migrated from github.com)

We probably ought to mention this in the upcoming SDK release-notes, in case anybody was relying on the old "peripheral name" in the SVD?

We probably ought to mention this in the upcoming SDK release-notes, in case anybody was relying on the old "peripheral name" in the SVD?
kilograham commented 2025-07-22 10:45:23 -05:00 (Migrated from github.com)

closing for tracking purposes as it will be in 2.2.0 even though it isn't in develop yet

closing for tracking purposes as it will be in 2.2.0 even though it isn't in develop yet
kilograham commented 2025-07-22 10:46:36 -05:00 (Migrated from github.com)

We probably ought to mention this in the upcoming SDK release-notes, in case anybody was relying on the old "peripheral name" in the SVD?

@matiasilva can you clarify what affect this change would have on existing users? what has changed from->to

> We probably ought to mention this in the upcoming SDK release-notes, in case anybody was relying on the old "peripheral name" in the SVD? @matiasilva can you clarify what affect this change would have on existing users? what has changed from->to
matiasilva commented 2025-07-22 10:51:17 -05:00 (Migrated from github.com)

@kilograham Before 2.2:

  • PROC0_IRQ_CTI and PROC1_IRQ_CTI not in SVD
  • SPARE_IRQ_ under a virtual (baseAddress = 0) peripheral called SPARE_IRQ

After 2.2:

  • PROC0_IRQ_CTI, PROC1_IRQ_CTI and SPARE_IRQ_ all under one virtual peripheral called VIRTUAL

Edit by lurch: These changes didn't appear in Pico-SDK 2.2.0, but they will be appearing in Pico-SDK 2.3.0

@kilograham Before 2.2: * PROC0_IRQ_CTI and PROC1_IRQ_CTI not in SVD * SPARE_IRQ_<n> under a virtual (baseAddress = 0) peripheral called SPARE_IRQ After 2.2: * PROC0_IRQ_CTI, PROC1_IRQ_CTI and SPARE_IRQ_<n> all under one virtual peripheral called VIRTUAL _Edit by lurch:_ These changes didn't appear in Pico-SDK 2.2.0, but they **will** be appearing in Pico-SDK 2.3.0
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
gh-raspberrypi/pico-sdk#2380
No description provided.