From ba1e658750ac044b13ba34824f5eeec46952db64 Mon Sep 17 00:00:00 2001 From: Niklas Hauser Date: Fri, 10 Oct 2025 14:16:00 +0200 Subject: [PATCH] boards: remove USB device from Auterion FMUv6x --- .../extras/auterion_fmu-v6s_bootloader.bin | Bin 32888 -> 35108 bytes boards/auterion/fmu-v6x/default.px4board | 1 - .../extras/auterion_fmu-v6x_bootloader.bin | Bin 46892 -> 35416 bytes .../fmu-v6x/nuttx-config/bootloader/defconfig | 12 -- .../fmu-v6x/nuttx-config/nsh/defconfig | 12 -- boards/auterion/fmu-v6x/src/CMakeLists.txt | 2 - boards/auterion/fmu-v6x/src/board_config.h | 4 + boards/auterion/fmu-v6x/src/bootloader_main.c | 3 - boards/auterion/fmu-v6x/src/hw_config.h | 15 ++- boards/auterion/fmu-v6x/src/init.cpp | 4 - boards/auterion/fmu-v6x/src/usb.c | 105 ------------------ 11 files changed, 11 insertions(+), 147 deletions(-) delete mode 100644 boards/auterion/fmu-v6x/src/usb.c diff --git a/boards/auterion/fmu-v6s/extras/auterion_fmu-v6s_bootloader.bin b/boards/auterion/fmu-v6s/extras/auterion_fmu-v6s_bootloader.bin index 2c79c4b1bab5367e36ca229181ada79f098e7877..233552b39789f86ffa3ef04330d8fcaa538d0de5 100755 GIT binary patch delta 10502 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 sY(Vz?zhG<{9 delta 8556 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 T2~X)h+GG)GTTg!7G46i>y&-Sy diff --git a/boards/auterion/fmu-v6x/default.px4board b/boards/auterion/fmu-v6x/default.px4board index dc58fb1c88..f714280cdb 100644 --- a/boards/auterion/fmu-v6x/default.px4board +++ b/boards/auterion/fmu-v6x/default.px4board @@ -13,7 +13,6 @@ CONFIG_DRIVERS_ADC_BOARD_ADC=y CONFIG_DRIVERS_BAROMETER_BMP388=y CONFIG_DRIVERS_CAMERA_CAPTURE=y CONFIG_DRIVERS_CAMERA_TRIGGER=y -CONFIG_DRIVERS_CDCACM_AUTOSTART=y CONFIG_COMMON_DIFFERENTIAL_PRESSURE=y CONFIG_DRIVERS_DIFFERENTIAL_PRESSURE_AUAV=y CONFIG_COMMON_DISTANCE_SENSOR=y diff --git a/boards/auterion/fmu-v6x/extras/auterion_fmu-v6x_bootloader.bin b/boards/auterion/fmu-v6x/extras/auterion_fmu-v6x_bootloader.bin index c48956fc9e34e53237080061365a4f7f60335131..c619569917b47376eb4de82beb40a24653d88545 100755 GIT binary patch delta 12380 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 diff --git a/boards/auterion/fmu-v6x/nuttx-config/bootloader/defconfig b/boards/auterion/fmu-v6x/nuttx-config/bootloader/defconfig index 2c0231e294..fcbf56afd9 100644 --- a/boards/auterion/fmu-v6x/nuttx-config/bootloader/defconfig +++ b/boards/auterion/fmu-v6x/nuttx-config/bootloader/defconfig @@ -30,14 +30,6 @@ CONFIG_BOARD_INITTHREAD_PRIORITY=254 CONFIG_BOARD_LATE_INITIALIZE=y CONFIG_BOARD_LOOPSPERMSEC=95150 CONFIG_BOARD_RESET_ON_ASSERT=2 -CONFIG_CDCACM=y -CONFIG_CDCACM_IFLOWCONTROL=y -CONFIG_CDCACM_PRODUCTID=0x0035 -CONFIG_CDCACM_PRODUCTSTR="Auterion BL FMU v6X.x" -CONFIG_CDCACM_RXBUFSIZE=600 -CONFIG_CDCACM_TXBUFSIZE=12000 -CONFIG_CDCACM_VENDORID=0x3185 -CONFIG_CDCACM_VENDORSTR="Auterion" CONFIG_DEBUG_FULLOPT=y CONFIG_DEBUG_SYMBOLS=y CONFIG_DEBUG_TCBINFO=y @@ -80,7 +72,6 @@ CONFIG_STM32H7_SERIAL_DISABLE_REORDERING=y CONFIG_STM32H7_TIM1=y CONFIG_STM32H7_UART5=y CONFIG_SYSTEMTICK_HOOK=y -CONFIG_SYSTEM_CDCACM=y CONFIG_TASK_NAME_SIZE=24 CONFIG_TTY_SIGINT=y CONFIG_TTY_SIGINT_CHAR=0x03 @@ -89,7 +80,4 @@ CONFIG_UART5_RXBUFSIZE=512 CONFIG_UART5_RXDMA=y CONFIG_UART5_TXBUFSIZE=512 CONFIG_UART5_TXDMA=y -CONFIG_USBDEV=y -CONFIG_USBDEV_BUSPOWERED=y -CONFIG_USBDEV_MAXPOWER=500 CONFIG_USEC_PER_TICK=1000 diff --git a/boards/auterion/fmu-v6x/nuttx-config/nsh/defconfig b/boards/auterion/fmu-v6x/nuttx-config/nsh/defconfig index 4fbc7a3b94..328a033bbf 100644 --- a/boards/auterion/fmu-v6x/nuttx-config/nsh/defconfig +++ b/boards/auterion/fmu-v6x/nuttx-config/nsh/defconfig @@ -76,14 +76,6 @@ CONFIG_BOARD_CRASHDUMP=y CONFIG_BOARD_LOOPSPERMSEC=95751 CONFIG_BOARD_RESET_ON_ASSERT=2 CONFIG_BUILTIN=y -CONFIG_CDCACM=y -CONFIG_CDCACM_IFLOWCONTROL=y -CONFIG_CDCACM_PRODUCTID=0x0035 -CONFIG_CDCACM_PRODUCTSTR="Auterion FMU v6X.x" -CONFIG_CDCACM_RXBUFSIZE=600 -CONFIG_CDCACM_TXBUFSIZE=12000 -CONFIG_CDCACM_VENDORID=0x3185 -CONFIG_CDCACM_VENDORSTR="Auterion" CONFIG_DEBUG_FULLOPT=y CONFIG_DEBUG_HARDFAULT_ALERT=y CONFIG_DEBUG_MEMFAULT=y @@ -284,7 +276,6 @@ CONFIG_STM32H7_USART_BREAKS=y CONFIG_STM32H7_USART_INVERT=y CONFIG_STM32H7_USART_SINGLEWIRE=y CONFIG_STM32H7_USART_SWAP=y -CONFIG_SYSTEM_CDCACM=y CONFIG_SYSTEM_DHCPC_RENEW=y CONFIG_SYSTEM_NSH=y CONFIG_SYSTEM_PING=y @@ -325,8 +316,5 @@ CONFIG_USART3_TXDMA=y CONFIG_USART6_BAUD=57600 CONFIG_USART6_RXBUFSIZE=600 CONFIG_USART6_TXBUFSIZE=1500 -CONFIG_USBDEV=y -CONFIG_USBDEV_BUSPOWERED=y -CONFIG_USBDEV_MAXPOWER=500 CONFIG_USEC_PER_TICK=1000 CONFIG_WATCHDOG=y diff --git a/boards/auterion/fmu-v6x/src/CMakeLists.txt b/boards/auterion/fmu-v6x/src/CMakeLists.txt index 39ec808e1e..d0f1b0b1a7 100644 --- a/boards/auterion/fmu-v6x/src/CMakeLists.txt +++ b/boards/auterion/fmu-v6x/src/CMakeLists.txt @@ -35,7 +35,6 @@ if("${PX4_BOARD_LABEL}" STREQUAL "bootloader") add_library(drivers_board bootloader_main.c init.cpp - usb.c timer_config.cpp ) target_link_libraries(drivers_board @@ -58,7 +57,6 @@ else() sdio.c spi.cpp timer_config.cpp - usb.c ) add_dependencies(drivers_board arch_board_hw_info) diff --git a/boards/auterion/fmu-v6x/src/board_config.h b/boards/auterion/fmu-v6x/src/board_config.h index c50f0705f2..c304153abf 100644 --- a/boards/auterion/fmu-v6x/src/board_config.h +++ b/boards/auterion/fmu-v6x/src/board_config.h @@ -473,6 +473,10 @@ #define BOARD_NUM_IO_TIMERS 5 +/* No CDCACM driver for this board, so this is manually defined for version.c + * so that the px4_board_version reports the correct board id to the companion */ +#define CONFIG_CDCACM_PRODUCTID 53 + __BEGIN_DECLS /**************************************************************************************************** diff --git a/boards/auterion/fmu-v6x/src/bootloader_main.c b/boards/auterion/fmu-v6x/src/bootloader_main.c index 77df9e78bc..ccb9a8326b 100644 --- a/boards/auterion/fmu-v6x/src/bootloader_main.c +++ b/boards/auterion/fmu-v6x/src/bootloader_main.c @@ -48,11 +48,8 @@ #include "arm_internal.h" #include -extern int sercon_main(int c, char **argv); - void board_late_initialize(void) { - sercon_main(0, NULL); } extern void sys_tick_handler(void); diff --git a/boards/auterion/fmu-v6x/src/hw_config.h b/boards/auterion/fmu-v6x/src/hw_config.h index 4ad1049fed..949a9284a5 100644 --- a/boards/auterion/fmu-v6x/src/hw_config.h +++ b/boards/auterion/fmu-v6x/src/hw_config.h @@ -57,17 +57,12 @@ */ /* Boot device selection list*/ -#define USB0_DEV 0x01 #define SERIAL0_DEV 0x02 #define SERIAL1_DEV 0x04 #define APP_LOAD_ADDRESS 0x08020000 #define BOOTLOADER_DELAY 5000 -#define INTERFACE_USB 1 -#define INTERFACE_USB_CONFIG "/dev/ttyACM0" -#define BOARD_VBUS MK_GPIO_INPUT(GPIO_OTGFS_VBUS) - -//#define USE_VBUS_PULL_DOWN +#define INTERFACE_USB 0 #define INTERFACE_USART 1 #define INTERFACE_USART_CONFIG "/dev/ttyS0,1500000" #define BOOT_DELAY_ADDRESS 0x000001a0 @@ -85,6 +80,10 @@ #define SERIAL_BREAK_DETECT_DISABLED 1 +// Connected to VBUS on the Auterion FMU v6x +#define BOARD_FORCE_BL_PIN (GPIO_INPUT|GPIO_PULLDOWN|GPIO_PORTA|GPIO_PIN9) +#define BOARD_FORCE_BL_STATE 1 + /* * Uncommenting this allows to force the bootloader through * a PWM output pin. As this can accidentally initialize @@ -118,11 +117,11 @@ #endif #ifndef BOOT_DEVICES_SELECTION -# define BOOT_DEVICES_SELECTION USB0_DEV|SERIAL0_DEV|SERIAL1_DEV +# define BOOT_DEVICES_SELECTION SERIAL0_DEV|SERIAL1_DEV #endif #ifndef BOOT_DEVICES_FILTER_ONUSB -# define BOOT_DEVICES_FILTER_ONUSB USB0_DEV|SERIAL0_DEV|SERIAL1_DEV +# define BOOT_DEVICES_FILTER_ONUSB SERIAL0_DEV|SERIAL1_DEV #endif #endif /* HW_CONFIG_H_ */ diff --git a/boards/auterion/fmu-v6x/src/init.cpp b/boards/auterion/fmu-v6x/src/init.cpp index 88fe88126c..7e35a407c4 100644 --- a/boards/auterion/fmu-v6x/src/init.cpp +++ b/boards/auterion/fmu-v6x/src/init.cpp @@ -179,10 +179,6 @@ stm32_boardinitialize(void) const uint32_t gpio[] = PX4_GPIO_INIT_LIST; px4_gpio_init(gpio, arraySize(gpio)); - /* configure USB interfaces */ - - stm32_usbinitialize(); - VDD_3V3_ETH_POWER_EN(true); } diff --git a/boards/auterion/fmu-v6x/src/usb.c b/boards/auterion/fmu-v6x/src/usb.c deleted file mode 100644 index 70eebc6fe0..0000000000 --- a/boards/auterion/fmu-v6x/src/usb.c +++ /dev/null @@ -1,105 +0,0 @@ -/**************************************************************************** - * - * Copyright (C) 2016 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * @file usb.c - * - * Board-specific USB functions. - */ - -/************************************************************************************ - * Included Files - ************************************************************************************/ - -#include - -#include -#include -#include -#include - -#include -#include - -#include -#include -#include -#include -#include "board_config.h" - -/************************************************************************************ - * Definitions - ************************************************************************************/ - -/************************************************************************************ - * Private Functions - ************************************************************************************/ - -/************************************************************************************ - * Public Functions - ************************************************************************************/ - -/************************************************************************************ - * Name: stm32_usbinitialize - * - * Description: - * Called to setup USB-related GPIO pins for the PX4FMU board. - * - ************************************************************************************/ - -__EXPORT void stm32_usbinitialize(void) -{ - /* The OTG FS has an internal soft pull-up */ - - /* Configure the OTG FS VBUS sensing GPIO, Power On, and Overcurrent GPIOs */ - -#ifdef CONFIG_STM32H7_OTGFS - stm32_configgpio(GPIO_OTGFS_VBUS); -#endif -} - -/************************************************************************************ - * Name: stm32_usbsuspend - * - * Description: - * Board logic must provide the stm32_usbsuspend logic if the USBDEV driver is - * used. This function is called whenever the USB enters or leaves suspend mode. - * This is an opportunity for the board logic to shutdown clocks, power, etc. - * while the USB is suspended. - * - ************************************************************************************/ - -__EXPORT void stm32_usbsuspend(FAR struct usbdev_s *dev, bool resume) -{ - uinfo("resume: %d\n", resume); -}