soc: rp2350: Add initial support for the Raspberry Pi RP2350
RP2350 is Raspberry Pi's newest SoC. From the datasheet:
"RP2350 is a new family of microcontrollers from Raspberry Pi that
offers significant enhancements over RP2040. Key features include:
• Dual Cortex-M33 or Hazard3 processors at 150 MHz
• 520 kB on-chip SRAM, in 10 independent banks
• 8 kB of one-time-programmable storage (OTP)
• Up to 16 MB of external QSPI flash/PSRAM via dedicated QSPI bus
...
"
This commit introduces some changes to support the existing RP2040 and
what is describe by Raspberry Pi as the "RP2350 family". Currently there
are 4 published products in the family: RP2350A, RP2350B, RP2354A, and
RP2354A. Within Zephyr's taxonomy, split the configuration as follows:
Family: Raspberry Pi Pico. This contains all RP2XXX SoCs,
SoC Series: RP2040 and RP2350.
SoC: RP2040 and, for now, just the RP2350A, which is present on the Pico
2, where the A suffix indicates QFN-60 package type. This structure is
reflected in `soc/raspberrypi/soc.yml`, and somewhat assumes that there
won't be a RP2050, for example, as a RP2040 with more RAM.
This is foundation work ahead of introducing support for Raspberry Pi's
Pico 2 board, which is fitted with a RP2350A and 4MB of flash.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-08-21 15:37:56 +01:00
|
|
|
# Raspberry Pi RP235XX MCU line
|
|
|
|
|
|
|
|
# Copyright (c) 2024 Andrew Featherstone
|
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
|
|
|
config SOC_SERIES_RP2350
|
|
|
|
select HAS_RPI_PICO
|
|
|
|
select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
|
|
|
|
select SOC_RESET_HOOK
|
|
|
|
select XIP
|
|
|
|
|
|
|
|
config SOC_RP2350A_M33
|
|
|
|
select ARM
|
|
|
|
select ARM_TRUSTZONE_M
|
|
|
|
select CPU_CORTEX_M_HAS_SYSTICK
|
|
|
|
select CPU_CORTEX_M_HAS_VTOR
|
|
|
|
select CPU_CORTEX_M33
|
|
|
|
select CPU_HAS_ARM_MPU
|
|
|
|
select CPU_HAS_ARM_SAU
|
|
|
|
|
2024-09-02 21:54:34 +09:00
|
|
|
config SOC_RP2350B_M33
|
|
|
|
select ARM
|
|
|
|
select ARM_TRUSTZONE_M
|
|
|
|
select CPU_CORTEX_M_HAS_SYSTICK
|
|
|
|
select CPU_CORTEX_M_HAS_VTOR
|
|
|
|
select CPU_CORTEX_M33
|
|
|
|
select CPU_HAS_ARM_MPU
|
|
|
|
select CPU_HAS_ARM_SAU
|
|
|
|
|
soc: rp2350: Add initial support for the Raspberry Pi RP2350
RP2350 is Raspberry Pi's newest SoC. From the datasheet:
"RP2350 is a new family of microcontrollers from Raspberry Pi that
offers significant enhancements over RP2040. Key features include:
• Dual Cortex-M33 or Hazard3 processors at 150 MHz
• 520 kB on-chip SRAM, in 10 independent banks
• 8 kB of one-time-programmable storage (OTP)
• Up to 16 MB of external QSPI flash/PSRAM via dedicated QSPI bus
...
"
This commit introduces some changes to support the existing RP2040 and
what is describe by Raspberry Pi as the "RP2350 family". Currently there
are 4 published products in the family: RP2350A, RP2350B, RP2354A, and
RP2354A. Within Zephyr's taxonomy, split the configuration as follows:
Family: Raspberry Pi Pico. This contains all RP2XXX SoCs,
SoC Series: RP2040 and RP2350.
SoC: RP2040 and, for now, just the RP2350A, which is present on the Pico
2, where the A suffix indicates QFN-60 package type. This structure is
reflected in `soc/raspberrypi/soc.yml`, and somewhat assumes that there
won't be a RP2050, for example, as a RP2040 with more RAM.
This is foundation work ahead of introducing support for Raspberry Pi's
Pico 2 board, which is fitted with a RP2350A and 4MB of flash.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-08-21 15:37:56 +01:00
|
|
|
config RP2_REQUIRES_IMAGE_DEFINITION_BLOCK
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
# Currently the IDF only supports using the Cortex-M33 cores. Enforce
|
|
|
|
# this at build configuration time.
|
|
|
|
depends on SOC_SERIES_RP2350 && CPU_CORTEX_M33
|
|
|
|
help
|
|
|
|
Include an Image Definition Block (IMAGE_DEF) to enable the bootroom in
|
|
|
|
RP23XX devices to consider this a valid image in flash.
|