Skip to content

Flash Controller support for Raspberry Pi Pico2 (RP2350) #88488

@hanan619

Description

@hanan619

Description:
When trying to build an MCUboot-based application for the Raspberry Pi Pico2 board (RP2350), the compilation fails with the following error:
FLASH_MAP (defined at subsys/storage/flash_map/Kconfig:10) has direct dependencies FLASH_HAS_DRIVER_ENABLED with value n, but is currently being y-selected by the following symbols: MCUBOOT_DEVICE_SETTINGS

Investigation details:
The flash controller (qmi) is disabled in the rp2350.dtsi file:

qmi: flash-controller@400d0000 {
    status = "disabled";
};

If I try to enable it in an overlay:

/ {
    chosen {
        zephyr,flash-controller = &qmi;
    };
};

&qmi {
    status = "okay";
};

then new build errors appear from flash_rpi_pico.h:
#include <hardware/structs/ssi.h>: No such file or directory
It seems that flash_rpi_pico.h is designed only for the RP2040 (original Pico/Pico W) flash controller and does not support the RP2350 (Pico2) flash controller.
Pico2 has different hardware, and ssi.h does not exist for it.
Summary:

  • MCUboot cannot currently be compiled for Pico2 (RP2350).
  • The flash controller (qmi) support is missing or incomplete for RP2350.
  • The existing flash driver (flash_rpi_pico.h) assumes RP2040 hardware and needs to be updated for RP2350.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions