pico-feedback icon indicating copy to clipboard operation
pico-feedback copied to clipboard

RP2350 5.10.7. OTP bootloader contains wrong OTP row range/data capacity for OTP bootloader

Open piersfinlayson opened this issue 1 month ago • 0 comments

5.10.7, says

The entire bootloader will need to fit in the OTP rows from 0x0C0 to 0xF48 to avoid interfering with other reserved OTP
functionality, giving a maximum size of 7440 bytes (2 bytes per ECC row). If some boot keys and OTP keys are unused,
this region can extend slightly on either end.

However, 13.10. Predefined OTP data locations says

Pages 3 through 60 (rows 0x0c0 through 0xf3f) are free for arbitrary user content such as OTP-resident bootloaders, and
Raspberry Pi will avoid allocating any of these locations for bootrom configuration if possible. This is a total of 7424
bytes of ECC-protected content.

...

Pages 0, 1, and 61 through 63 are reserved for future use by Raspberry Pi. Software should avoid allocating content in
these regions, even if they currently have no defined use in this data listing.

Suggest replacing:

  • 0x0C0 to 0xF48 with 0x0C0 through 0xF3F
  • 7440 bytes with 7424 bytes
  • can extend slightly on either end with can extend slightly on the beginning (as row 61 is entirely reserved for future use).

piersfinlayson avatar Nov 06 '25 11:11 piersfinlayson