From f9529ae60505a12e1b4d6eabc0dc3a901fe1a2eb Mon Sep 17 00:00:00 2001 From: Sam Yu Date: Fri, 19 Sep 2025 19:37:17 -0700 Subject: [PATCH 1/8] add v4 board def, still need help --- .../Kconfig.defconfig | 12 ++ ...roves_flight_control_board_v4-pinctrl.dtsi | 20 +++ .../proves_flight_control_board_v4.dtsi | 132 ++++++++++++++++++ .../Kconfig.proves_flight_control_board_v4b | 1 + .../board.cmake | 20 +++ .../proves_flight_control_board_v4b/board.yml | 6 + ...ves_flight_control_board_v4b_rp2340_m0.dts | 19 +++ ...es_flight_control_board_v4b_rp2340_m0.yaml | 22 +++ ...ight_control_board_v4b_rp2340_m0_defconfig | 27 ++++ .../support/openocd.cfg | 11 ++ 10 files changed, 270 insertions(+) create mode 100644 boards/bronco_space/proves_flight_control_board_v4/Kconfig.defconfig create mode 100644 boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4-pinctrl.dtsi create mode 100644 boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4.dtsi create mode 100644 boards/bronco_space/proves_flight_control_board_v4b/Kconfig.proves_flight_control_board_v4b create mode 100644 boards/bronco_space/proves_flight_control_board_v4b/board.cmake create mode 100644 boards/bronco_space/proves_flight_control_board_v4b/board.yml create mode 100644 boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2340_m0.dts create mode 100644 boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2340_m0.yaml create mode 100644 boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2340_m0_defconfig create mode 100644 boards/bronco_space/proves_flight_control_board_v4b/support/openocd.cfg diff --git a/boards/bronco_space/proves_flight_control_board_v4/Kconfig.defconfig b/boards/bronco_space/proves_flight_control_board_v4/Kconfig.defconfig new file mode 100644 index 00000000..7e6096e8 --- /dev/null +++ b/boards/bronco_space/proves_flight_control_board_v4/Kconfig.defconfig @@ -0,0 +1,12 @@ +config SOC_RP2040 + bool "Enable Cortex-M0+ core" + default y + +config USB_SELF_POWERED + default n + +config USB_CDC_ACM_LOG_LEVEL + default 0 + +config USB_DEVICE_LOG_LEVEL + default 1 diff --git a/boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4-pinctrl.dtsi b/boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4-pinctrl.dtsi new file mode 100644 index 00000000..d38e9df3 --- /dev/null +++ b/boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4-pinctrl.dtsi @@ -0,0 +1,20 @@ +#include + +&pinctrl { + spi1_default: spi1_default { + group1 { + pinmux = , ; + }; + + group2 { + pinmux = ; + input-enable; + }; + }; + i2c1_default: i2c1_default { + group1 { + pinmux = , ; + input-enable; + }; + }; +}; diff --git a/boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4.dtsi b/boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4.dtsi new file mode 100644 index 00000000..dcfb3620 --- /dev/null +++ b/boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4.dtsi @@ -0,0 +1,132 @@ +#include + +#include +#include + +#include "proves_flight_control_board_v4-pinctrl.dtsi" + +/ { + chosen { + zephyr,sram = &sram0; + zephyr,flash = &flash0; + zephyr,console = &cdc_acm_uart0; + zephyr,shell-uart = &cdc_acm_uart0; + zephyr,code-partition = &code_partition; + }; + + aliases { + watchdog0 = &wdt0; + }; + + leds { + compatible = "gpio-leds"; + led0: led0 { + gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>; + label = "User LED GPIO24"; + }; + }; +}; + +zephyr_udc0: &usbd { + status = "okay"; +}; + +&zephyr_udc0 { + cdc_acm_uart0: cdc_acm_uart0 { + compatible = "zephyr,cdc-acm-uart"; + label = "CDC_ACM_0"; + }; +}; + +&flash0 { + reg = <0x10000000 DT_SIZE_M(4)>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + /* Reserved memory for an image definition block. The block is much + * smaller than 256 bytes, but in practice the linker places the vector + * table at a much larger alignment offset. + */ + image_def: partition@0 { + label = "image_def"; + reg = <0x00000000 0x100>; + read-only; + }; + + /* + * Usable flash. Starts at 0x100, after the image definition block. + * The partition size is 4MB minus the 0x100 bytes taken by the + * image definition. + */ + code_partition: partition@100 { + label = "code-partition"; + reg = <0x100 (DT_SIZE_M(4) - 0x100)>; + read-only; + }; + }; +}; + +&timer0 { + status = "okay"; +}; + +&wdt0 { + status = "okay"; +}; + +&gpio0 { + status = "okay"; +}; + +&spi1 { + status = "okay"; + cs-gpios = <&gpio0 9 GPIO_ACTIVE_LOW>; + pinctrl-0 = <&spi1_default>; + pinctrl-names = "default"; + + lora0: sx1276@0 { + compatible = "semtech,sx1276"; + reg = <0>; + spi-max-frequency = <125000>; + dio-gpios = <&gpio0 13 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>,<&gpio0 12 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>; + reset-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; + power-amplifier-output = "pa-boost"; + label = "HOPE_RF"; + }; +}; + +&i2c1 { + status = "okay"; + pinctrl-0 = <&i2c1_default>; + pinctrl-names = "default"; + clock-frequency = <100000>; + + lsm6dso0: lsm6dso0@6b { + compatible = "st,lsm6dso"; + reg = <0x6b>; + label = "LSM6DSO"; + }; + + lis2mdl: lis2mdl@1e { + compatible = "st,lis2mdl"; + reg = <0x1e>; + label = "LIS2MDL"; + }; + rv3028: rv3028@52 { + compatible = "microcrystal,rv3028"; + reg = <0x52>; + int-gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>; + backup-switch-mode = "level"; + label = "RV3028"; + }; + ina219: ina219@40 { + compatible = "ti,ina219"; + reg = <0x40>; + shunt-milliohm = <2>; + lsb-microamp = <100>; + label = "INA219"; + }; +}; diff --git a/boards/bronco_space/proves_flight_control_board_v4b/Kconfig.proves_flight_control_board_v4b b/boards/bronco_space/proves_flight_control_board_v4b/Kconfig.proves_flight_control_board_v4b new file mode 100644 index 00000000..3f1cea2e --- /dev/null +++ b/boards/bronco_space/proves_flight_control_board_v4b/Kconfig.proves_flight_control_board_v4b @@ -0,0 +1 @@ +source "../../../boards/bronco_space/proves_flight_control_board_v4/Kconfig.defconfig" diff --git a/boards/bronco_space/proves_flight_control_board_v4b/board.cmake b/boards/bronco_space/proves_flight_control_board_v4b/board.cmake new file mode 100644 index 00000000..695d1019 --- /dev/null +++ b/boards/bronco_space/proves_flight_control_board_v4b/board.cmake @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: Apache-2.0 + +if("${RPI_PICO_DEBUG_ADAPTER}" STREQUAL "") + set(RPI_PICO_DEBUG_ADAPTER "cmsis-dap") +endif() + +board_runner_args(openocd --cmd-pre-init "source [find interface/${RPI_PICO_DEBUG_ADAPTER}.cfg]") +board_runner_args(openocd --cmd-pre-init "source [find target/rp2340.cfg]") + +# The adapter speed is expected to be set by interface configuration. +# The Raspberry Pi's OpenOCD fork doesn't, so match their documentation at +# https://www.raspberrypi.com/documentation/microcontrollers/debug-probe.html#debugging-with-swd +board_runner_args(openocd --cmd-pre-init "set_adapter_speed_if_not_set 5000") + +board_runner_args(jlink "--device=RP2340_M0_0") +board_runner_args(uf2 "--board-id=RP2340") + +include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake) +include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) +include(${ZEPHYR_BASE}/boards/common/uf2.board.cmake) diff --git a/boards/bronco_space/proves_flight_control_board_v4b/board.yml b/boards/bronco_space/proves_flight_control_board_v4b/board.yml new file mode 100644 index 00000000..2a4c8a91 --- /dev/null +++ b/boards/bronco_space/proves_flight_control_board_v4b/board.yml @@ -0,0 +1,6 @@ +board: + name: proves_flight_control_board_v4b + full_name: PROVES Flight Control Board v4b + vendor: Bronco Space + socs: + - name: rp2340 diff --git a/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2340_m0.dts b/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2340_m0.dts new file mode 100644 index 00000000..1c5f0bce --- /dev/null +++ b/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2340_m0.dts @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2024 Andrew Featherstone + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; + +/* The build system assumes that there's a cpucluster-specific file. + * + * This file provides composition of the device tree: + * 1. The common features of the SoC + * 2. Core-specific configuration. + * 3. Board-specific configuration. + */ +#include + + +#include "../proves_flight_control_board_v4/proves_flight_control_board_v4.dtsi" diff --git a/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2340_m0.yaml b/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2340_m0.yaml new file mode 100644 index 00000000..6ed346b0 --- /dev/null +++ b/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2340_m0.yaml @@ -0,0 +1,22 @@ +identifier: proves_flight_control_board_v4b/rp2040/m0p +name: PROVES Flight Control Board v4b (RP2040, Cortex-M0+) +type: mcu +arch: arm +flash: 4096 +ram: 264 +toolchain: + - zephyr + - gnuarmemb +supported: + - adc + - clock + - counter + - dma + - gpio + - hwinfo + - i2c + - pwm + - spi + - uart + - usbd + - watchdog diff --git a/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2340_m0_defconfig b/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2340_m0_defconfig new file mode 100644 index 00000000..b259ffa7 --- /dev/null +++ b/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2340_m0_defconfig @@ -0,0 +1,27 @@ +CONFIG_BUILD_OUTPUT_HEX=y +CONFIG_BUILD_OUTPUT_UF2=y +CONFIG_CLOCK_CONTROL=y +CONFIG_CONSOLE=y +CONFIG_GPIO=y +CONFIG_RESET=y +CONFIG_SERIAL=y +CONFIG_UART_CONSOLE=y +CONFIG_UART_INTERRUPT_DRIVEN=y +CONFIG_USE_DT_CODE_PARTITION=y +CONFIG_USB_DEVICE_STACK=y +CONFIG_USB_DEVICE_PRODUCT="PROVES Flight Control Board v4b" +CONFIG_USB_DEVICE_VID=0x0028 + +# Sensors +CONFIG_LSM6DSO=y +CONFIG_LSM6DSO_ENABLE_TEMP=y +CONFIG_LIS2MDL=y +CONFIG_INA219=y + +# Radio +CONFIG_LORA=y +CONFIG_LORA_SX127X=y + +# RTC +CONFIG_RTC=y +CONFIG_RTC_RV3028=y diff --git a/boards/bronco_space/proves_flight_control_board_v4b/support/openocd.cfg b/boards/bronco_space/proves_flight_control_board_v4b/support/openocd.cfg new file mode 100644 index 00000000..82666bb5 --- /dev/null +++ b/boards/bronco_space/proves_flight_control_board_v4b/support/openocd.cfg @@ -0,0 +1,11 @@ +# Copyright (c) 2024 TOKITA Hiroshi +# SPDX-License-Identifier: Apache-2.0 + +# Checking and set 'adapter speed'. +# Set the adaptor speed, if unset, and given as an argument. +proc set_adapter_speed_if_not_set { speed } { + puts "checking adapter speed..." + if { [catch {adapter speed} ret] } { + adapter speed $speed + } +} From 84cf283697c66f2fa5c68cc0595eecc636902658 Mon Sep 17 00:00:00 2001 From: Sam Yu Date: Fri, 19 Sep 2025 19:41:10 -0700 Subject: [PATCH 2/8] change settings.ini --- settings.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.ini b/settings.ini index d27e929f..3183535d 100644 --- a/settings.ini +++ b/settings.ini @@ -7,4 +7,4 @@ default_toolchain: zephyr default_cmake_options: FPRIME_ENABLE_FRAMEWORK_UTS=OFF FPRIME_ENABLE_AUTOCODER_UTS=OFF BOARD_ROOT=. - BOARD=proves_flight_control_board_v5c/rp2350a/m33 + BOARD=proves_flight_control_board_v4b/rp2340/m0p From da9524d2b7d65e4b9eb886f0a0b51e06feeca6ff Mon Sep 17 00:00:00 2001 From: Sam Yu Date: Fri, 19 Sep 2025 19:48:25 -0700 Subject: [PATCH 3/8] lint --- pull_request_template.md | 1 - 1 file changed, 1 deletion(-) diff --git a/pull_request_template.md b/pull_request_template.md index 8b137891..e69de29b 100644 --- a/pull_request_template.md +++ b/pull_request_template.md @@ -1 +0,0 @@ - From 184ccce09d99c47aeef3fe3f5a5e44debd5aad33 Mon Sep 17 00:00:00 2001 From: ineskhou Date: Sat, 20 Sep 2025 13:07:20 -0700 Subject: [PATCH 4/8] added rp2040 stuff --- .../proves_flight_control_board_v4-pinctrl.dtsi | 2 +- .../proves_flight_control_board_v4b/board.cmake | 17 ++++++++++++++--- .../proves_flight_control_board_v4b/board.yml | 2 +- settings.ini | 2 +- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4-pinctrl.dtsi b/boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4-pinctrl.dtsi index d38e9df3..4b47b572 100644 --- a/boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4-pinctrl.dtsi +++ b/boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4-pinctrl.dtsi @@ -1,4 +1,4 @@ -#include +#include &pinctrl { spi1_default: spi1_default { diff --git a/boards/bronco_space/proves_flight_control_board_v4b/board.cmake b/boards/bronco_space/proves_flight_control_board_v4b/board.cmake index 695d1019..6bf3a6ab 100644 --- a/boards/bronco_space/proves_flight_control_board_v4b/board.cmake +++ b/boards/bronco_space/proves_flight_control_board_v4b/board.cmake @@ -5,15 +5,26 @@ if("${RPI_PICO_DEBUG_ADAPTER}" STREQUAL "") endif() board_runner_args(openocd --cmd-pre-init "source [find interface/${RPI_PICO_DEBUG_ADAPTER}.cfg]") -board_runner_args(openocd --cmd-pre-init "source [find target/rp2340.cfg]") + + # The adapter speed is expected to be set by interface configuration. # The Raspberry Pi's OpenOCD fork doesn't, so match their documentation at # https://www.raspberrypi.com/documentation/microcontrollers/debug-probe.html#debugging-with-swd board_runner_args(openocd --cmd-pre-init "set_adapter_speed_if_not_set 5000") -board_runner_args(jlink "--device=RP2340_M0_0") -board_runner_args(uf2 "--board-id=RP2340") +if(BOARD MATCHES "^proves_flight_control_board_v4") + board_runner_args(openocd --cmd-pre-init "source [find target/rp2040.cfg]") + board_runner_args(jlink "--device=RP2040_M0_0") + board_runner_args(uf2 "--board-id=RP2040") +elseif(BOARD MATCHES "^proves_flight_control_board_v5") + board_runner_args(openocd --cmd-pre-init "source [find target/rp2340.cfg]") + board_runner_args(jlink "--device=RP2340_M0_0") + board_runner_args(uf2 "--board-id=RP2340") +endif() + + + include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake) include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) diff --git a/boards/bronco_space/proves_flight_control_board_v4b/board.yml b/boards/bronco_space/proves_flight_control_board_v4b/board.yml index 2a4c8a91..a6d9a7b9 100644 --- a/boards/bronco_space/proves_flight_control_board_v4b/board.yml +++ b/boards/bronco_space/proves_flight_control_board_v4b/board.yml @@ -3,4 +3,4 @@ board: full_name: PROVES Flight Control Board v4b vendor: Bronco Space socs: - - name: rp2340 + - name: rp2040 diff --git a/settings.ini b/settings.ini index 3183535d..fcfd4bb7 100644 --- a/settings.ini +++ b/settings.ini @@ -7,4 +7,4 @@ default_toolchain: zephyr default_cmake_options: FPRIME_ENABLE_FRAMEWORK_UTS=OFF FPRIME_ENABLE_AUTOCODER_UTS=OFF BOARD_ROOT=. - BOARD=proves_flight_control_board_v4b/rp2340/m0p + BOARD=proves_flight_control_board_v4b/rp2040 From 65fcc8fb7586c66284b995684fc8fb2fa4cff6ff Mon Sep 17 00:00:00 2001 From: ineskhou Date: Sat, 20 Sep 2025 13:21:27 -0700 Subject: [PATCH 5/8] put m0p back --- .../proves_flight_control_board_v4b/board.cmake | 14 +++----------- settings.ini | 2 +- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/boards/bronco_space/proves_flight_control_board_v4b/board.cmake b/boards/bronco_space/proves_flight_control_board_v4b/board.cmake index 6bf3a6ab..9b592443 100644 --- a/boards/bronco_space/proves_flight_control_board_v4b/board.cmake +++ b/boards/bronco_space/proves_flight_control_board_v4b/board.cmake @@ -13,18 +13,10 @@ board_runner_args(openocd --cmd-pre-init "source [find interface/${RPI_PICO_DEBU # https://www.raspberrypi.com/documentation/microcontrollers/debug-probe.html#debugging-with-swd board_runner_args(openocd --cmd-pre-init "set_adapter_speed_if_not_set 5000") -if(BOARD MATCHES "^proves_flight_control_board_v4") - board_runner_args(openocd --cmd-pre-init "source [find target/rp2040.cfg]") - board_runner_args(jlink "--device=RP2040_M0_0") - board_runner_args(uf2 "--board-id=RP2040") -elseif(BOARD MATCHES "^proves_flight_control_board_v5") - board_runner_args(openocd --cmd-pre-init "source [find target/rp2340.cfg]") - board_runner_args(jlink "--device=RP2340_M0_0") - board_runner_args(uf2 "--board-id=RP2340") -endif() - - +board_runner_args(openocd --cmd-pre-init "source [find target/rp2040.cfg]") +board_runner_args(jlink "--device=RP2040_M0_0") +board_runner_args(uf2 "--board-id=RP2040") include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake) include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) diff --git a/settings.ini b/settings.ini index fcfd4bb7..7bfb5ee1 100644 --- a/settings.ini +++ b/settings.ini @@ -7,4 +7,4 @@ default_toolchain: zephyr default_cmake_options: FPRIME_ENABLE_FRAMEWORK_UTS=OFF FPRIME_ENABLE_AUTOCODER_UTS=OFF BOARD_ROOT=. - BOARD=proves_flight_control_board_v4b/rp2040 + BOARD=proves_flight_control_board_v4b/rp2040/m0p From a290b04f2685f9184b3d7406dd783f70e69c9796 Mon Sep 17 00:00:00 2001 From: Sam Yu Date: Mon, 22 Sep 2025 19:16:59 -0700 Subject: [PATCH 6/8] correct file names --- ...p2340_m0.dts => proves_flight_control_board_v4b_rp2040_m0.dts} | 0 ...340_m0.yaml => proves_flight_control_board_v4b_rp2040_m0.yaml} | 0 ...config => proves_flight_control_board_v4b_rp2040_m0_defconfig} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename boards/bronco_space/proves_flight_control_board_v4b/{proves_flight_control_board_v4b_rp2340_m0.dts => proves_flight_control_board_v4b_rp2040_m0.dts} (100%) rename boards/bronco_space/proves_flight_control_board_v4b/{proves_flight_control_board_v4b_rp2340_m0.yaml => proves_flight_control_board_v4b_rp2040_m0.yaml} (100%) rename boards/bronco_space/proves_flight_control_board_v4b/{proves_flight_control_board_v4b_rp2340_m0_defconfig => proves_flight_control_board_v4b_rp2040_m0_defconfig} (100%) diff --git a/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2340_m0.dts b/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_m0.dts similarity index 100% rename from boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2340_m0.dts rename to boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_m0.dts diff --git a/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2340_m0.yaml b/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_m0.yaml similarity index 100% rename from boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2340_m0.yaml rename to boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_m0.yaml diff --git a/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2340_m0_defconfig b/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_m0_defconfig similarity index 100% rename from boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2340_m0_defconfig rename to boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_m0_defconfig From e27336f629c2490427c80341049eea4a206869be Mon Sep 17 00:00:00 2001 From: Sam Yu Date: Tue, 23 Sep 2025 13:40:32 -0700 Subject: [PATCH 7/8] change dtsi path and update file name --- .../proves_flight_control_board_v4.dtsi | 2 +- ...rp2040_m0.dts => proves_flight_control_board_v4b_rp2040.dts} | 2 +- ...2040_m0.yaml => proves_flight_control_board_v4b_rp2040.yaml} | 2 +- ...fconfig => proves_flight_control_board_v4b_rp2040_defconfig} | 0 settings.ini | 2 +- 5 files changed, 4 insertions(+), 4 deletions(-) rename boards/bronco_space/proves_flight_control_board_v4b/{proves_flight_control_board_v4b_rp2040_m0.dts => proves_flight_control_board_v4b_rp2040.dts} (90%) rename boards/bronco_space/proves_flight_control_board_v4b/{proves_flight_control_board_v4b_rp2040_m0.yaml => proves_flight_control_board_v4b_rp2040.yaml} (82%) rename boards/bronco_space/proves_flight_control_board_v4b/{proves_flight_control_board_v4b_rp2040_m0_defconfig => proves_flight_control_board_v4b_rp2040_defconfig} (100%) diff --git a/boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4.dtsi b/boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4.dtsi index dcfb3620..a4a7843f 100644 --- a/boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4.dtsi +++ b/boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4.dtsi @@ -69,7 +69,7 @@ zephyr_udc0: &usbd { }; }; -&timer0 { +&timer { status = "okay"; }; diff --git a/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_m0.dts b/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040.dts similarity index 90% rename from boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_m0.dts rename to boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040.dts index 1c5f0bce..75b3c20d 100644 --- a/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_m0.dts +++ b/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040.dts @@ -13,7 +13,7 @@ * 2. Core-specific configuration. * 3. Board-specific configuration. */ -#include +#include #include "../proves_flight_control_board_v4/proves_flight_control_board_v4.dtsi" diff --git a/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_m0.yaml b/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040.yaml similarity index 82% rename from boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_m0.yaml rename to boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040.yaml index 6ed346b0..c05f4de6 100644 --- a/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_m0.yaml +++ b/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040.yaml @@ -1,4 +1,4 @@ -identifier: proves_flight_control_board_v4b/rp2040/m0p +identifier: proves_flight_control_board_v4b/rp2040 name: PROVES Flight Control Board v4b (RP2040, Cortex-M0+) type: mcu arch: arm diff --git a/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_m0_defconfig b/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_defconfig similarity index 100% rename from boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_m0_defconfig rename to boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_defconfig diff --git a/settings.ini b/settings.ini index 7bfb5ee1..fcfd4bb7 100644 --- a/settings.ini +++ b/settings.ini @@ -7,4 +7,4 @@ default_toolchain: zephyr default_cmake_options: FPRIME_ENABLE_FRAMEWORK_UTS=OFF FPRIME_ENABLE_AUTOCODER_UTS=OFF BOARD_ROOT=. - BOARD=proves_flight_control_board_v4b/rp2040/m0p + BOARD=proves_flight_control_board_v4b/rp2040 From ab06b5967462e0ee22cb1ad915de7fcb055115ad Mon Sep 17 00:00:00 2001 From: Sam Yu Date: Tue, 23 Sep 2025 17:32:45 -0700 Subject: [PATCH 8/8] commit before make additional changes --- .../Kconfig.defconfig | 12 -- .../proves_flight_control_board_v4.dtsi | 132 ------------------ .../Kconfig.proves_flight_control_board_v4b | 13 +- ...ght_control_board_v4b_rp2040-pinctrl.dtsi} | 0 ...proves_flight_control_board_v4b_rp2040.dts | 126 ++++++++++++++++- ..._flight_control_board_v4b_rp2040_defconfig | 3 +- 6 files changed, 138 insertions(+), 148 deletions(-) delete mode 100644 boards/bronco_space/proves_flight_control_board_v4/Kconfig.defconfig delete mode 100644 boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4.dtsi rename boards/bronco_space/{proves_flight_control_board_v4/proves_flight_control_board_v4-pinctrl.dtsi => proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040-pinctrl.dtsi} (100%) diff --git a/boards/bronco_space/proves_flight_control_board_v4/Kconfig.defconfig b/boards/bronco_space/proves_flight_control_board_v4/Kconfig.defconfig deleted file mode 100644 index 7e6096e8..00000000 --- a/boards/bronco_space/proves_flight_control_board_v4/Kconfig.defconfig +++ /dev/null @@ -1,12 +0,0 @@ -config SOC_RP2040 - bool "Enable Cortex-M0+ core" - default y - -config USB_SELF_POWERED - default n - -config USB_CDC_ACM_LOG_LEVEL - default 0 - -config USB_DEVICE_LOG_LEVEL - default 1 diff --git a/boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4.dtsi b/boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4.dtsi deleted file mode 100644 index a4a7843f..00000000 --- a/boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4.dtsi +++ /dev/null @@ -1,132 +0,0 @@ -#include - -#include -#include - -#include "proves_flight_control_board_v4-pinctrl.dtsi" - -/ { - chosen { - zephyr,sram = &sram0; - zephyr,flash = &flash0; - zephyr,console = &cdc_acm_uart0; - zephyr,shell-uart = &cdc_acm_uart0; - zephyr,code-partition = &code_partition; - }; - - aliases { - watchdog0 = &wdt0; - }; - - leds { - compatible = "gpio-leds"; - led0: led0 { - gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>; - label = "User LED GPIO24"; - }; - }; -}; - -zephyr_udc0: &usbd { - status = "okay"; -}; - -&zephyr_udc0 { - cdc_acm_uart0: cdc_acm_uart0 { - compatible = "zephyr,cdc-acm-uart"; - label = "CDC_ACM_0"; - }; -}; - -&flash0 { - reg = <0x10000000 DT_SIZE_M(4)>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - /* Reserved memory for an image definition block. The block is much - * smaller than 256 bytes, but in practice the linker places the vector - * table at a much larger alignment offset. - */ - image_def: partition@0 { - label = "image_def"; - reg = <0x00000000 0x100>; - read-only; - }; - - /* - * Usable flash. Starts at 0x100, after the image definition block. - * The partition size is 4MB minus the 0x100 bytes taken by the - * image definition. - */ - code_partition: partition@100 { - label = "code-partition"; - reg = <0x100 (DT_SIZE_M(4) - 0x100)>; - read-only; - }; - }; -}; - -&timer { - status = "okay"; -}; - -&wdt0 { - status = "okay"; -}; - -&gpio0 { - status = "okay"; -}; - -&spi1 { - status = "okay"; - cs-gpios = <&gpio0 9 GPIO_ACTIVE_LOW>; - pinctrl-0 = <&spi1_default>; - pinctrl-names = "default"; - - lora0: sx1276@0 { - compatible = "semtech,sx1276"; - reg = <0>; - spi-max-frequency = <125000>; - dio-gpios = <&gpio0 13 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>,<&gpio0 12 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>; - reset-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; - power-amplifier-output = "pa-boost"; - label = "HOPE_RF"; - }; -}; - -&i2c1 { - status = "okay"; - pinctrl-0 = <&i2c1_default>; - pinctrl-names = "default"; - clock-frequency = <100000>; - - lsm6dso0: lsm6dso0@6b { - compatible = "st,lsm6dso"; - reg = <0x6b>; - label = "LSM6DSO"; - }; - - lis2mdl: lis2mdl@1e { - compatible = "st,lis2mdl"; - reg = <0x1e>; - label = "LIS2MDL"; - }; - rv3028: rv3028@52 { - compatible = "microcrystal,rv3028"; - reg = <0x52>; - int-gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>; - backup-switch-mode = "level"; - label = "RV3028"; - }; - ina219: ina219@40 { - compatible = "ti,ina219"; - reg = <0x40>; - shunt-milliohm = <2>; - lsb-microamp = <100>; - label = "INA219"; - }; -}; diff --git a/boards/bronco_space/proves_flight_control_board_v4b/Kconfig.proves_flight_control_board_v4b b/boards/bronco_space/proves_flight_control_board_v4b/Kconfig.proves_flight_control_board_v4b index 3f1cea2e..7e6096e8 100644 --- a/boards/bronco_space/proves_flight_control_board_v4b/Kconfig.proves_flight_control_board_v4b +++ b/boards/bronco_space/proves_flight_control_board_v4b/Kconfig.proves_flight_control_board_v4b @@ -1 +1,12 @@ -source "../../../boards/bronco_space/proves_flight_control_board_v4/Kconfig.defconfig" +config SOC_RP2040 + bool "Enable Cortex-M0+ core" + default y + +config USB_SELF_POWERED + default n + +config USB_CDC_ACM_LOG_LEVEL + default 0 + +config USB_DEVICE_LOG_LEVEL + default 1 diff --git a/boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4-pinctrl.dtsi b/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040-pinctrl.dtsi similarity index 100% rename from boards/bronco_space/proves_flight_control_board_v4/proves_flight_control_board_v4-pinctrl.dtsi rename to boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040-pinctrl.dtsi diff --git a/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040.dts b/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040.dts index 75b3c20d..9583614c 100644 --- a/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040.dts +++ b/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040.dts @@ -16,4 +16,128 @@ #include -#include "../proves_flight_control_board_v4/proves_flight_control_board_v4.dtsi" +#include + +#include +#include + +#include "proves_flight_control_board_v4b_rp2040-pinctrl.dtsi" + +/ { + chosen { + zephyr,sram = &sram0; + zephyr,flash = &flash0; + zephyr,console = &cdc_acm_uart0; + zephyr,shell-uart = &cdc_acm_uart0; + zephyr,code-partition = &code_partition; + }; + + aliases { + watchdog0 = &wdt0; + }; + + leds { + compatible = "gpio-leds"; + led0: led0 { + gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>; + label = "User LED GPIO24"; + }; + }; +}; + +zephyr_udc0: &usbd { + status = "okay"; +}; + +&zephyr_udc0 { + cdc_acm_uart0: cdc_acm_uart0 { + compatible = "zephyr,cdc-acm-uart"; + label = "CDC_ACM_0"; + }; +}; + +&flash0 { + reg = <0x10000000 DT_SIZE_M(4)>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + /* Reserved memory for an image definition block. The block is much + * smaller than 256 bytes, but in practice the linker places the vector + * table at a much larger alignment offset. + */ + image_def: partition@0 { + label = "image_def"; + reg = <0x00000000 0x100>; + read-only; + }; + + /* + * Usable flash. Starts at 0x100, after the image definition block. + * The partition size is 4MB minus the 0x100 bytes taken by the + * image definition. + */ + code_partition: partition@100 { + label = "code-partition"; + reg = <0x100 (DT_SIZE_M(4) - 0x100)>; + read-only; + }; + }; +}; + +&timer { + status = "okay"; +}; + +&wdt0 { + status = "okay"; +}; + +&gpio0 { + status = "okay"; +}; + +&spi1 { + status = "okay"; + cs-gpios = <&gpio0 9 GPIO_ACTIVE_LOW>; + pinctrl-0 = <&spi1_default>; + pinctrl-names = "default"; + + lora0: sx1276@0 { + compatible = "semtech,sx1276"; + reg = <0>; + spi-max-frequency = <125000>; + dio-gpios = <&gpio0 23 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>; + reset-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>; + power-amplifier-output = "pa-boost"; + label = "HOPE_RF"; + }; +}; + +&i2c1 { + status = "okay"; + pinctrl-0 = <&i2c1_default>; + pinctrl-names = "default"; + clock-frequency = <100000>; + + lsm6dso0: lsm6dso0@6b { + compatible = "st,lsm6dso"; + reg = <0x6b>; + label = "LSM6DSO"; + }; + + lis2mdl: lis2mdl@1e { + compatible = "st,lis2mdl"; + reg = <0x1e>; + label = "LIS2MDL"; + }; + rv3028: rv3028@52 { + compatible = "microcrystal,rv3028"; + reg = <0x52>; + int-gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>; + backup-switch-mode = "level"; + label = "RV3028"; + }; +}; diff --git a/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_defconfig b/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_defconfig index b259ffa7..148c7ee3 100644 --- a/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_defconfig +++ b/boards/bronco_space/proves_flight_control_board_v4b/proves_flight_control_board_v4b_rp2040_defconfig @@ -10,13 +10,12 @@ CONFIG_UART_INTERRUPT_DRIVEN=y CONFIG_USE_DT_CODE_PARTITION=y CONFIG_USB_DEVICE_STACK=y CONFIG_USB_DEVICE_PRODUCT="PROVES Flight Control Board v4b" -CONFIG_USB_DEVICE_VID=0x0028 +CONFIG_USB_DEVICE_VID=0x1209 # Sensors CONFIG_LSM6DSO=y CONFIG_LSM6DSO_ENABLE_TEMP=y CONFIG_LIS2MDL=y -CONFIG_INA219=y # Radio CONFIG_LORA=y