Add Waveshare RP2040 Zero
This commit is contained in:
parent
bbb27ac027
commit
0b406aacb8
6 changed files with 174 additions and 0 deletions
6
app/boards/arm/waveshare_rp2040_zero/Kconfig.board
Normal file
6
app/boards/arm/waveshare_rp2040_zero/Kconfig.board
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Copyright (c) 2023 The ZMK Contributors
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_WAVESHARE_RP2040_ZERO
|
||||
bool "Waveshare RP2040 Zero Board"
|
||||
depends on SOC_RP2040
|
15
app/boards/arm/waveshare_rp2040_zero/Kconfig.defconfig
Normal file
15
app/boards/arm/waveshare_rp2040_zero/Kconfig.defconfig
Normal file
|
@ -0,0 +1,15 @@
|
|||
# Copyright (c) 2023 The ZMK Contributors
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if BOARD_WAVESHARE_RP2040_ZERO
|
||||
|
||||
config BOARD
|
||||
default "waveshare_rp2040_zero"
|
||||
|
||||
config RP2_FLASH_W25Q080
|
||||
default y
|
||||
|
||||
config ZMK_USB
|
||||
default y
|
||||
|
||||
endif # BOARD_WAVESHARE_RP2040_ZERO
|
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
* Copyright (c) 2023 The ZMK Contributors
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <dt-bindings/pinctrl/rpi-pico-rp2040-pinctrl.h>
|
||||
|
||||
&pinctrl {
|
||||
uart1_default: uart0_default {
|
||||
group1 {
|
||||
pinmux = <UART1_TX_P20>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <UART1_RX_P5>;
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
i2c1_default: i2c1_default {
|
||||
group1 {
|
||||
pinmux = <I2C1_SDA_P22>, <I2C1_SCL_P23>;
|
||||
input-enable;
|
||||
input-schmitt-enable;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
spi0_default: spi0_default {
|
||||
group1 {
|
||||
pinmux = <SPI0_TX_P3>, <SPI0_SCK_P6>;
|
||||
};
|
||||
group2 {
|
||||
pinmux = <SPI0_RX_P4>;
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
};
|
|
@ -0,0 +1,81 @@
|
|||
/*
|
||||
* Copyright (c) 2023 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <rpi_pico/rp2040.dtsi>
|
||||
#include "waveshare_rp2040_zero-pinctrl.dtsi"
|
||||
#include <freq.h>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zephyr,sram = &sram0;
|
||||
zephyr,flash = &flash0;
|
||||
zephyr,console = &uart0;
|
||||
zephyr,code-partition = &code_partition;
|
||||
};
|
||||
};
|
||||
|
||||
&flash0 {
|
||||
/* 2MB of flash minus the 0x100 used for
|
||||
* the second stage bootloader
|
||||
*/
|
||||
reg = <0x10000000 DT_SIZE_M(2)>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
/*
|
||||
* Start at the beginning of usable flash, 8MB minus the
|
||||
* second stage space and the 16 KiB reserved for settings
|
||||
*/
|
||||
code_partition: partition@100 {
|
||||
label = "code";
|
||||
reg = <0x100 (DT_SIZE_M(2) - DT_SIZE_K(16))>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
/*
|
||||
* The final 16 KiB is reserved for the application.
|
||||
* Storage partition may be used by FCB or LittleFS.
|
||||
*/
|
||||
storage_partition: partition@7fbe00 {
|
||||
label = "storage";
|
||||
reg = <0x007fbe00 DT_SIZE_K(16)>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
current-speed = <115200>;
|
||||
status = "okay";
|
||||
pinctrl-0 = <&uart1_default>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&spi0_default>;
|
||||
pinctrl-names = "default";
|
||||
clock-frequency = <DT_FREQ_M(2)>;
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&i2c1_default>;
|
||||
pinctrl-names = "default";
|
||||
clock-frequency = <I2C_BITRATE_FAST>;
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
zephyr_udc0: &usbd {
|
||||
status = "okay";
|
||||
};
|
|
@ -0,0 +1,12 @@
|
|||
identifier: waveshare_rp2040_zero
|
||||
name: RP2040-Zero
|
||||
type: mcu
|
||||
arch: arm
|
||||
flash: 2048
|
||||
ram: 264
|
||||
toolchain:
|
||||
- zephyr
|
||||
- gnuarmemb
|
||||
- xtools
|
||||
supported:
|
||||
- serial
|
|
@ -0,0 +1,23 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
CONFIG_SOC_SERIES_RP2XXX=y
|
||||
CONFIG_SOC_RP2040=y
|
||||
CONFIG_BOARD_WAVESHARE_RP2040_ZERO=y
|
||||
|
||||
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=240000000
|
||||
|
||||
# Enable GPIO
|
||||
CONFIG_GPIO=y
|
||||
|
||||
# enable uart driver
|
||||
CONFIG_SERIAL=n
|
||||
|
||||
# enable console
|
||||
CONFIG_CONSOLE=y
|
||||
CONFIG_UART_CONSOLE=y
|
||||
|
||||
# Code partition needed to target the correct flash range
|
||||
CONFIG_USE_DT_CODE_PARTITION=y
|
||||
|
||||
# Output UF2 by default, native bootloader supports it.
|
||||
CONFIG_BUILD_OUTPUT_UF2=y
|
Loading…
Add table
Reference in a new issue