circuitpython/ports/zephyr/boards/rpi_pico.overlay
Damien George ec65cac971 zephyr/boards/rpi_pico: Add board configuration for rpi_pico.
Although the rpi_pico can already build and run with the zephyr port, this
configuration improves it in a number of ways:
- Use the USB CDC ACM as the REPL, rather than just a UART.
- Enable I2C and SPI, and add I2C1.
- Enable a filesystem, which matches exactly the rp2 port's RPI_PICO
  configuration.  So switching between zephyr and rp2 is possible and will
  retain the filesystem.
- Make the MicroPython GC heap make the most use of the available RAM.

Signed-off-by: Damien George <damien@micropython.org>
2025-07-08 11:15:11 +10:00

48 lines
1,018 B
Text

/*
* Copyright (c) 2025 Damien P. George
*
* SPDX-License-Identifier: Apache-2.0
*/
/ {
chosen {
/* Use USB CDC ACM as the console. */
zephyr,console = &cdc_acm_uart0;
};
};
/* Delete defined partitions and make a layout matching the rp2 port RPI_PICO configuration. */
/delete-node/ &code_partition;
&flash0 {
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
/* Code slot: 640 KiB - 0x100 placed after second-stage bootloader. */
code_partition: partition@100 {
label = "code-partition";
reg = <0x00000100 (DT_SIZE_K(640) - 0x100)>;
read-only;
};
/* Storage slot: 1408 KiB placed after code_partition. */
storage_partition: partition@a0000 {
label = "storage";
reg = <0x000a0000 DT_SIZE_K(1408)>;
};
};
};
&zephyr_udc0 {
cdc_acm_uart0: cdc_acm_uart0 {
compatible = "zephyr,cdc-acm-uart";
};
};
&i2c1 {
clock-frequency = <I2C_BITRATE_STANDARD>;
status = "okay";
pinctrl-0 = <&i2c1_default>;
pinctrl-names = "default";
};