Update to latest versions of the hardware headers #3050

Merged
kilograham merged 5 commits from latest-headers into develop 2026-07-01 17:29:15 -05:00
kilograham commented 2026-06-30 17:21:22 -05:00 (Migrated from github.com)
No description provided.
liamfraser (Migrated from github.com) reviewed 2026-06-30 17:21:22 -05:00
matiasilva (Migrated from github.com) reviewed 2026-06-30 17:21:22 -05:00
kilograham commented 2026-06-30 17:31:46 -05:00 (Migrated from github.com)

fixes #2988
fixes #2380
fixes #1466

EDIT: also fixes #2842
EDIT: also fixes #2920

fixes #2988 fixes #2380 fixes #1466 EDIT: also fixes #2842 EDIT: also fixes #2920
lurch (Migrated from github.com) reviewed 2026-07-01 04:54:50 -05:00
lurch (Migrated from github.com) commented 2026-07-01 04:54:50 -05:00

If it "cannot be changed", should it have <access>read-only</access> ? Or is it more "should not be changed"?

If it "cannot be changed", should it have `<access>read-only</access>` ? Or is it more "should not be changed"?
lurch (Migrated from github.com) reviewed 2026-07-01 05:44:14 -05:00
lurch (Migrated from github.com) commented 2026-07-01 05:44:14 -05:00

This description of M33_AIRCR_SYSRESETREQS is now identical to the description for M33_AIRCR_SYSRESETREQ, whereas previously this said "Secure state only".
I guess if this is Secure-only, that's still useful info to know?

This description of `M33_AIRCR_SYSRESETREQS` is now identical to the description for `M33_AIRCR_SYSRESETREQ`, whereas previously this said "Secure state only". I guess if this **is** Secure-only, that's still useful info to know?
lurch (Migrated from github.com) reviewed 2026-07-01 06:15:35 -05:00
@ -464,2 +464,3 @@
// to the GPIOs.
// to the GPIOs. On RP2040 there are 30 GPIOs, so the two most
// significant bits are hardwired to 0.
#define PIO_DBG_PADOUT_OFFSET _u(0x0000003c)
lurch (Migrated from github.com) commented 2026-07-01 06:15:35 -05:00

We probably don't need the RP2040-specifc comment in src/rp2350/hardware_regs/include/hardware/regs/pio.h ? 😉
But if the same source-file is generating the PIO headers for both RP2040 and RP2350 then perhaps this isn't worth special-casing.

We probably don't need the RP2040-specifc comment in `src/rp2350/hardware_regs/include/hardware/regs/pio.h` ? :wink: But if the same source-file is generating the PIO headers for both RP2040 and RP2350 then perhaps this isn't worth special-casing.
lurch (Migrated from github.com) reviewed 2026-07-01 06:25:52 -05:00
@ -19,3 +19,3 @@
#define SYSINFO_CHIP_ID_BITS _u(0xffffffff)
#define SYSINFO_CHIP_ID_RESET _u(0x00000001)
#define SYSINFO_CHIP_ID_RESET _u(0x30004927)
// -----------------------------------------------------------------------------
lurch (Migrated from github.com) commented 2026-07-01 06:25:52 -05:00

The previous version of this PR included SYSINFO_CHIP_ID_RESET values for both RP2040 and RP2350, but this new PR doesn't include the SYSINFO_CHIP_ID_RESET value for RP2040?

The previous version of this PR included `SYSINFO_CHIP_ID_RESET` values for both RP2040 and RP2350, but this new PR doesn't include the `SYSINFO_CHIP_ID_RESET` value for RP2040?
lurch (Migrated from github.com) reviewed 2026-07-01 06:39:05 -05:00
lurch (Migrated from github.com) commented 2026-07-01 06:39:05 -05:00

The RP2350 datasheet shows that the ID_MMFR3 register has a different field-layout to the ID_MMFR2 register. so maybe that means that the "(Description copied from array index 0 register M33_ID_MMFR2 applies similarly to other array indexes)" isn't really applicable here?

The RP2350 datasheet shows that the `ID_MMFR3` register has a different field-layout to the `ID_MMFR2` register. so _maybe_ that means that the "(Description copied from array index 0 register M33_ID_MMFR2 applies similarly to other array indexes)" isn't really applicable here?
lurch commented 2026-07-01 06:45:07 -05:00 (Migrated from github.com)

Bit weird that the Copyright year has jumped forward in some files, and backwards in other files, but meh 😉

Bit weird that the Copyright year has jumped forward in some files, and backwards in other files, but meh :wink:
lurch (Migrated from github.com) reviewed 2026-07-01 07:25:15 -05:00
@ -1,7 +1,7 @@
// THIS HEADER FILE IS AUTOMATICALLY GENERATED -- DO NOT EDIT
lurch (Migrated from github.com) commented 2026-07-01 07:25:15 -05:00

I've no idea which version is "correct", but in #2905 the size of the dummy padding array changed in this file (and Graham commented "because it was wrong before"), but it has remained unchanged in this PR? 👀

I've no idea which version is "correct", but in #2905 the size of the dummy padding array changed in this file (and Graham commented "because it was wrong before"), but it has remained unchanged in this PR? :eyes:
lurch (Migrated from github.com) reviewed 2026-07-01 07:37:16 -05:00
@ -1,7 +1,7 @@
// THIS HEADER FILE IS AUTOMATICALLY GENERATED -- DO NOT EDIT
lurch (Migrated from github.com) commented 2026-07-01 07:37:16 -05:00

In #2905 the SYSINFO_GITREF_RP2040_OFFSET value changed from 0x00000010 to 0x00000040, but it isn't changing in this PR?

In #2905 the `SYSINFO_GITREF_RP2040_OFFSET` value changed from `0x00000010` to `0x00000040`, but it isn't changing in this PR?
lurch commented 2026-07-01 07:48:24 -05:00 (Migrated from github.com)

Hmmm, I wonder if the updates to the RP2040 headers have gone wrong somehow? In both RP2040.svd and RP2350.svd the "Warning: stop the PLLs before selecting dormant mode" text has changed to "WARNING: stop the PLLs before selecting dormant mode", and that change also appears in src/rp2350/hardware_regs/include/hardware/regs/xosc.h but it doesn't appear in src/rp2040/hardware_regs/include/hardware/regs/xosc.h ? (If my supposition is correct, this also might explain why the Copyright year has gone backwards in some files 😉 )

Hmmm, I wonder if the updates to the RP2040 headers have gone wrong somehow? In both `RP2040.svd` and `RP2350.svd` the "Warning: stop the PLLs before selecting dormant mode" text has changed to "WARNING: stop the PLLs before selecting dormant mode", and that change also appears in `src/rp2350/hardware_regs/include/hardware/regs/xosc.h` but it _doesn't_ appear in `src/rp2040/hardware_regs/include/hardware/regs/xosc.h` ? (If my supposition is correct, this also might explain why the Copyright year has gone backwards in some files :wink: )
matiasilva commented 2026-07-01 08:50:32 -05:00 (Migrated from github.com)

Hmmm, I wonder if the updates to the RP2040 headers have gone wrong somehow? In both RP2040.svd and RP2350.svd the "Warning: stop the PLLs before selecting dormant mode" text has changed to "WARNING: stop the PLLs before selecting dormant mode", and that change also appears in src/rp2350/hardware_regs/include/hardware/regs/xosc.h but it doesn't appear in src/rp2040/hardware_regs/include/hardware/regs/xosc.h ? (If my supposition is correct, this also might explain why the Copyright year has gone backwards in some files 😉 )

The years going back is per a decision made to preserve the original date. If anything has moved forward, that's wrong.

As you know, the text source for register descriptions is based on the hardware present in the chip. Since both chips are quite a few years apart, I'm not surprised some descriptions have been tweaked.

Edit: SVDs have the year moving forward, so I've fixed that in the latest release

> Hmmm, I wonder if the updates to the RP2040 headers have gone wrong somehow? In both `RP2040.svd` and `RP2350.svd` the "Warning: stop the PLLs before selecting dormant mode" text has changed to "WARNING: stop the PLLs before selecting dormant mode", and that change also appears in `src/rp2350/hardware_regs/include/hardware/regs/xosc.h` but it _doesn't_ appear in `src/rp2040/hardware_regs/include/hardware/regs/xosc.h` ? (If my supposition is correct, this also might explain why the Copyright year has gone backwards in some files 😉 ) The years going back is per a decision made to preserve the original date. If anything has moved forward, that's wrong. As you know, the text source for register descriptions is based on the hardware present in the chip. Since both chips are quite a few years apart, I'm not surprised some descriptions have been tweaked. Edit: SVDs have the year moving forward, so I've fixed that in the latest release
matiasilva (Migrated from github.com) reviewed 2026-07-01 08:51:12 -05:00
@ -1,7 +1,7 @@
// THIS HEADER FILE IS AUTOMATICALLY GENERATED -- DO NOT EDIT
matiasilva (Migrated from github.com) commented 2026-07-01 08:51:12 -05:00

We need the change as the previous release was wrong, there are loads of internal only values in between.

We need the change as the previous release was wrong, there are loads of internal only values in between.
matiasilva (Migrated from github.com) reviewed 2026-07-01 08:54:42 -05:00
matiasilva (Migrated from github.com) commented 2026-07-01 08:54:42 -05:00

Thanks, the regex used to patch this reg desc was too greedy. Fixed.

Thanks, the regex used to patch this reg desc was too greedy. Fixed.
matiasilva (Migrated from github.com) reviewed 2026-07-01 08:58:49 -05:00
matiasilva (Migrated from github.com) commented 2026-07-01 08:58:49 -05:00

I was asked to coalesce these into a struct array, is the suggestion here to have each register as a separate member?

I was asked to coalesce these into a struct array, is the suggestion here to have each register as a separate member?
matiasilva (Migrated from github.com) reviewed 2026-07-01 09:07:10 -05:00
@ -1,7 +1,7 @@
// THIS HEADER FILE IS AUTOMATICALLY GENERATED -- DO NOT EDIT
matiasilva (Migrated from github.com) commented 2026-07-01 09:07:10 -05:00

Related to the below ticket, we want to be using the newest version of sysinfo.h

Related to the below ticket, we want to be using the newest version of sysinfo.h
matiasilva (Migrated from github.com) reviewed 2026-07-01 09:08:16 -05:00
@ -19,3 +19,3 @@
#define SYSINFO_CHIP_ID_BITS _u(0xffffffff)
#define SYSINFO_CHIP_ID_RESET _u(0x00000001)
#define SYSINFO_CHIP_ID_RESET _u(0x30004927)
// -----------------------------------------------------------------------------
matiasilva (Migrated from github.com) commented 2026-07-01 09:08:16 -05:00

Not sure what happened to this PR as the generated headers are correct

Not sure what happened to this PR as the generated headers are correct
lurch (Migrated from github.com) reviewed 2026-07-01 09:25:13 -05:00
lurch (Migrated from github.com) commented 2026-07-01 09:25:13 -05:00

I'm not on your team so I don't know what you were asked for, but it seems to me like it would only make sense to coalesce registers into a struct array, if the fields inside each of those registers has the same widths and offsets? (which isn't the case for ID_MMFR2 and ID_MMFR3)
But this is only a minor issue, so I guess we can address it in the next SDK release.

I'm not on your team so I don't know what you were asked for, but it seems _to me_ like it would only make sense to coalesce registers into a struct array, if the fields inside each of those registers has the same widths and offsets? (which isn't the case for `ID_MMFR2` and `ID_MMFR3`) But this is only a minor issue, so I guess we can address it in the next SDK release.
lurch (Migrated from github.com) reviewed 2026-07-01 11:21:52 -05:00
lurch (Migrated from github.com) commented 2026-07-01 11:21:52 -05:00

This changes SIE_STATUS.CONNECTED (as well as SIE_STATUS.SPEED and SIE_STATUS.SUSPENDED) from RO to WC. Is that correct @liamfraser , and if so should the same change also be happening to src/rp2350/hardware_regs/include/hardware/regs/usb.h ?

This changes `SIE_STATUS.CONNECTED` (as well as `SIE_STATUS.SPEED` and `SIE_STATUS.SUSPENDED`) from RO to WC. Is that correct @liamfraser , and if so should the same change also be happening to `src/rp2350/hardware_regs/include/hardware/regs/usb.h` ?
kilograham commented 2026-07-01 13:05:14 -05:00 (Migrated from github.com)

I'm going to merge though there is the one oustanding question above

I'm going to merge though there is the one oustanding question above
kilograham commented 2026-07-01 13:05:41 -05:00 (Migrated from github.com)

actually someone should approve first!

actually someone should approve first!
will-v-pi (Migrated from github.com) approved these changes 2026-07-01 15:15:51 -05:00
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!3050
No description provided.