diff --git a/boards/waveshare/rp2040_plus/Kconfig b/boards/waveshare/rp2040_plus/Kconfig index 18f7b99232b66..08687c89dda80 100644 --- a/boards/waveshare/rp2040_plus/Kconfig +++ b/boards/waveshare/rp2040_plus/Kconfig @@ -2,4 +2,9 @@ # SPDX-License-Identifier: Apache-2.0 config BOARD_RP2040_PLUS + bool + select RP2_FLASH_W25Q080 + +config BOARD_RP2040_PLUS_16MB + bool select RP2_FLASH_W25Q080 diff --git a/boards/waveshare/rp2040_plus/Kconfig.defconfig b/boards/waveshare/rp2040_plus/Kconfig.defconfig index 00b2c0b2402fa..d23db7048db41 100644 --- a/boards/waveshare/rp2040_plus/Kconfig.defconfig +++ b/boards/waveshare/rp2040_plus/Kconfig.defconfig @@ -1,7 +1,7 @@ # Copyright (c) 2025 David Schneider # SPDX-License-Identifier: Apache-2.0 -if BOARD_RP2040_PLUS +if BOARD_RP2040_PLUS || BOARD_RP2040_PLUS_16MB if I2C_DW @@ -10,4 +10,4 @@ config I2C_DW_CLOCK_SPEED endif # I2C_DW -endif # BOARD_RP2040_PLUS +endif # BOARD_RP2040_PLUS || BOARD_RP2040_PLUS_16MB diff --git a/boards/waveshare/rp2040_plus/Kconfig.rp2040_plus_16mb b/boards/waveshare/rp2040_plus/Kconfig.rp2040_plus_16mb new file mode 100644 index 0000000000000..090fb496a8a20 --- /dev/null +++ b/boards/waveshare/rp2040_plus/Kconfig.rp2040_plus_16mb @@ -0,0 +1,5 @@ +# Copyright (c) 2025 David Schneider +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_RP2040_PLUS_16MB + select SOC_RP2040 diff --git a/boards/waveshare/rp2040_plus/board.yml b/boards/waveshare/rp2040_plus/board.yml index 7e3e098fa81d4..387a170b47a87 100644 --- a/boards/waveshare/rp2040_plus/board.yml +++ b/boards/waveshare/rp2040_plus/board.yml @@ -1,6 +1,11 @@ -board: - name: rp2040_plus - full_name: RP2040-Plus - vendor: waveshare - socs: - - name: rp2040 +boards: + - name: rp2040_plus + full_name: RP2040-Plus + vendor: waveshare + socs: + - name: rp2040 + - name: rp2040_plus_16mb + full_name: RP2040-Plus-16MB + vendor: waveshare + socs: + - name: rp2040 diff --git a/boards/waveshare/rp2040_plus/rp2040_plus_16mb.dts b/boards/waveshare/rp2040_plus/rp2040_plus_16mb.dts new file mode 100644 index 0000000000000..2e041f460bb4e --- /dev/null +++ b/boards/waveshare/rp2040_plus/rp2040_plus_16mb.dts @@ -0,0 +1,5 @@ +#include "rp2040_plus.dts" + +&flash0 { + reg = <0x10000000 DT_SIZE_M(16)>; +}; diff --git a/boards/waveshare/rp2040_plus/rp2040_plus_16mb.yaml b/boards/waveshare/rp2040_plus/rp2040_plus_16mb.yaml new file mode 100644 index 0000000000000..7c6a3b01e0dbc --- /dev/null +++ b/boards/waveshare/rp2040_plus/rp2040_plus_16mb.yaml @@ -0,0 +1,23 @@ +identifier: rp2040_plus +name: Waveshare RP2040-Plus +type: mcu +arch: arm +flash: 16384 +ram: 264 +toolchain: + - zephyr + - gnuarmemb +supported: + - uart + - gpio + - adc + - i2c + - spi + - hwinfo + - watchdog + - pwm + - flash + - dma + - counter + - clock + - usbd diff --git a/boards/waveshare/rp2040_plus/rp2040_plus_16mb_defconfig b/boards/waveshare/rp2040_plus/rp2040_plus_16mb_defconfig new file mode 100644 index 0000000000000..ec7e8e3f93178 --- /dev/null +++ b/boards/waveshare/rp2040_plus/rp2040_plus_16mb_defconfig @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: Apache-2.0 + +CONFIG_SERIAL=y +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y +CONFIG_GPIO=y +CONFIG_USE_DT_CODE_PARTITION=y +CONFIG_BUILD_OUTPUT_UF2=y +CONFIG_BUILD_OUTPUT_HEX=y +CONFIG_UART_INTERRUPT_DRIVEN=y +CONFIG_RESET=y +CONFIG_CLOCK_CONTROL=y