From 00c5968b35de0ed1d729d413be70f1f2cc666fca Mon Sep 17 00:00:00 2001 From: Vdragon Date: Wed, 3 Dec 2025 19:00:36 +0100 Subject: [PATCH] zephyr/boards: Add some Bouffalolab-based boards. Finally those have all basic features, add them. Signed-off-by: Vdragon --- ports/zephyr/boards/ai_m61_32s_kit.conf | 32 +++++++++++++++++++++ ports/zephyr/boards/ai_m61_32s_kit.overlay | 33 ++++++++++++++++++++++ ports/zephyr/boards/ai_m62_12f_kit.conf | 31 ++++++++++++++++++++ ports/zephyr/boards/ai_m62_12f_kit.overlay | 27 ++++++++++++++++++ ports/zephyr/boards/ai_wb2_12f_kit.conf | 31 ++++++++++++++++++++ ports/zephyr/boards/ai_wb2_12f_kit.overlay | 27 ++++++++++++++++++ 6 files changed, 181 insertions(+) create mode 100644 ports/zephyr/boards/ai_m61_32s_kit.conf create mode 100644 ports/zephyr/boards/ai_m61_32s_kit.overlay create mode 100644 ports/zephyr/boards/ai_m62_12f_kit.conf create mode 100644 ports/zephyr/boards/ai_m62_12f_kit.overlay create mode 100644 ports/zephyr/boards/ai_wb2_12f_kit.conf create mode 100644 ports/zephyr/boards/ai_wb2_12f_kit.overlay diff --git a/ports/zephyr/boards/ai_m61_32s_kit.conf b/ports/zephyr/boards/ai_m61_32s_kit.conf new file mode 100644 index 0000000000..e99a379fde --- /dev/null +++ b/ports/zephyr/boards/ai_m61_32s_kit.conf @@ -0,0 +1,32 @@ +# Hardware features. +CONFIG_PINCTRL=y +CONFIG_GPIO=y +CONFIG_WATCHDOG=n +CONFIG_CONSOLE_SUBSYS=y +CONFIG_CONSOLE_GETCHAR=y +CONFIG_CONSOLE_GETCHAR_BUFSIZE=256 +CONFIG_I2C=y +CONFIG_I2C_TARGET=y +CONFIG_SPI=y +CONFIG_MEMC=y + +# Disable networking. +CONFIG_NETWORKING=n + +# MicroPython config. +CONFIG_MICROPY_HEAP_SIZE=262144 +CONFIG_MAIN_STACK_SIZE=16384 +CONFIG_MICROPY_CONFIG_ROM_LEVEL_FULL_FEATURES=y + + +# File System Configuration +CONFIG_FLASH=y +CONFIG_FLASH_MAP=y +CONFIG_FILE_SYSTEM=y +CONFIG_FILE_SYSTEM_LITTLEFS=y +CONFIG_FILE_SYSTEM_MKFS=y +CONFIG_MICROPY_VFS_FAT=y +CONFIG_MICROPY_VFS_LFS1=n +CONFIG_MICROPY_VFS_LFS2=n +# Default heap for littlefs is too small +CONFIG_FS_LITTLEFS_FC_HEAP_SIZE=8192 diff --git a/ports/zephyr/boards/ai_m61_32s_kit.overlay b/ports/zephyr/boards/ai_m61_32s_kit.overlay new file mode 100644 index 0000000000..59e9f3ad69 --- /dev/null +++ b/ports/zephyr/boards/ai_m61_32s_kit.overlay @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2025 MASSDRIVER EI (massdriver.space) + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + fstab { + compatible = "zephyr,fstab"; + lfs: lfs { + compatible = "zephyr,fstab,littlefs"; + mount-point = "/flash"; + partition = <&storage_partition>; + read-size=<16>; + prog-size=<256>; + cache-size=<1024>; + lookahead-size=<32>; + block-cycles=<4>; + }; + }; + + heap_sram1 { + compatible = "micropython,heap"; + size = ; + memory-region = <&sram1>; + }; + + heap_psram { + compatible = "micropython,heap"; + size = ; + memory-region = <&psram>; + }; +}; diff --git a/ports/zephyr/boards/ai_m62_12f_kit.conf b/ports/zephyr/boards/ai_m62_12f_kit.conf new file mode 100644 index 0000000000..aa4c7c6b35 --- /dev/null +++ b/ports/zephyr/boards/ai_m62_12f_kit.conf @@ -0,0 +1,31 @@ +# Hardware features. +CONFIG_PINCTRL=y +CONFIG_GPIO=y +CONFIG_WATCHDOG=n +CONFIG_CONSOLE_SUBSYS=y +CONFIG_CONSOLE_GETCHAR=y +CONFIG_CONSOLE_GETCHAR_BUFSIZE=256 +CONFIG_I2C=y +CONFIG_I2C_TARGET=y +CONFIG_SPI=y + +# Disable networking. +CONFIG_NETWORKING=n + +# MicroPython config. +CONFIG_MICROPY_HEAP_SIZE=262144 +CONFIG_MAIN_STACK_SIZE=16384 +CONFIG_MICROPY_CONFIG_ROM_LEVEL_FULL_FEATURES=y + + +# File System Configuration +CONFIG_FLASH=y +CONFIG_FLASH_MAP=y +CONFIG_FILE_SYSTEM=y +CONFIG_FILE_SYSTEM_LITTLEFS=y +CONFIG_FILE_SYSTEM_MKFS=y +CONFIG_MICROPY_VFS_FAT=y +CONFIG_MICROPY_VFS_LFS1=n +CONFIG_MICROPY_VFS_LFS2=n +# Default heap for littlefs is too small +CONFIG_FS_LITTLEFS_FC_HEAP_SIZE=8192 diff --git a/ports/zephyr/boards/ai_m62_12f_kit.overlay b/ports/zephyr/boards/ai_m62_12f_kit.overlay new file mode 100644 index 0000000000..17cb2ffdc9 --- /dev/null +++ b/ports/zephyr/boards/ai_m62_12f_kit.overlay @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2025 MASSDRIVER EI (massdriver.space) + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + fstab { + compatible = "zephyr,fstab"; + lfs: lfs { + compatible = "zephyr,fstab,littlefs"; + mount-point = "/flash"; + partition = <&storage_partition>; + read-size=<16>; + prog-size=<256>; + cache-size=<1024>; + lookahead-size=<32>; + block-cycles=<4>; + }; + }; + + heap_sram1 { + compatible = "micropython,heap"; + size = ; + memory-region = <&sram1>; + }; +}; diff --git a/ports/zephyr/boards/ai_wb2_12f_kit.conf b/ports/zephyr/boards/ai_wb2_12f_kit.conf new file mode 100644 index 0000000000..73ceb27bb7 --- /dev/null +++ b/ports/zephyr/boards/ai_wb2_12f_kit.conf @@ -0,0 +1,31 @@ +# Hardware features. +CONFIG_PINCTRL=y +CONFIG_GPIO=y +CONFIG_WATCHDOG=n +CONFIG_CONSOLE_SUBSYS=y +CONFIG_CONSOLE_GETCHAR=y +CONFIG_CONSOLE_GETCHAR_BUFSIZE=256 +CONFIG_I2C=y +CONFIG_I2C_TARGET=y +CONFIG_SPI=y + +# Disable networking. +CONFIG_NETWORKING=n + +# MicroPython config. +CONFIG_MICROPY_HEAP_SIZE=131072 +CONFIG_MAIN_STACK_SIZE=16384 +CONFIG_MICROPY_CONFIG_ROM_LEVEL_FULL_FEATURES=y + + +# File System Configuration +CONFIG_FLASH=y +CONFIG_FLASH_MAP=y +CONFIG_FILE_SYSTEM=y +CONFIG_FILE_SYSTEM_LITTLEFS=y +CONFIG_FILE_SYSTEM_MKFS=y +CONFIG_MICROPY_VFS_FAT=y +CONFIG_MICROPY_VFS_LFS1=n +CONFIG_MICROPY_VFS_LFS2=n +# Default heap for littlefs is too small +CONFIG_FS_LITTLEFS_FC_HEAP_SIZE=8192 diff --git a/ports/zephyr/boards/ai_wb2_12f_kit.overlay b/ports/zephyr/boards/ai_wb2_12f_kit.overlay new file mode 100644 index 0000000000..e6e7fdd514 --- /dev/null +++ b/ports/zephyr/boards/ai_wb2_12f_kit.overlay @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2025 MASSDRIVER EI (massdriver.space) + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + fstab { + compatible = "zephyr,fstab"; + lfs: lfs { + compatible = "zephyr,fstab,littlefs"; + mount-point = "/flash"; + partition = <&storage_partition>; + read-size=<16>; + prog-size=<256>; + cache-size=<1024>; + lookahead-size=<32>; + block-cycles=<4>; + }; + }; + + heap_dtcm { + compatible = "micropython,heap"; + size = ; + memory-region = <&dtcm>; + }; +};