Skip to content

RP2040 may attempt flash read before 3V3 rail is stable #54

Description

@rkuester

While debugging an EmberOne/00 board that wouldn't boot reliably (which turned out to be a soldering issue on the CC resistors), I started looking at the power-up sequencing and noticed a potential boot race between the RP2040 and its SPI flash.

The RP2040's power-on reset releases at ~1V1, at which point the bootrom immediately tries to read from the external SPI flash. But the W25Q16JV flash needs at least 2.7V to operate2. During a slow 3V3 ramp, the RP2040 could come out of reset and attempt a flash read well before the flash is ready, leading to a failed boot or unpredictable behavior.

Consider adding a voltage supervisor to hold the RP2040's RUN pin low until the 3V3 rail has stabilized.

Hardware version: v5 (9f75f0c)

Footnotes

  1. RP2040 datasheet, section 2.12.2.1

  2. W25Q16JV datasheet, section 10.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions