Seeeduino XIAO
Overview
This is a set of Bridle’s extension to the original Zephyr upstream board Seeeduino XIAO with some adaptions and improvement on Kconfig and Devicetree level.
List of extensions
Kconfig
deactivate self powered USB explicitly and set the maximum of electrical current consumption to 500㎃:
Seeeduino XIAO
Kconfig.defconfigconfig CDC_ACM_SERIAL_SELF_POWERED default n depends on USB_DEVICE_STACK_NEXT && USBD_CDC_ACM_CLASS config CDC_ACM_SERIAL_MAX_POWER default 250 if BOARD_SEEEDUINO_XIAO # 500mA depends on USB_DEVICE_STACK_NEXT && USBD_CDC_ACM_CLASS
change log level only in case of use the native USB device port
atmel,sam0-usbwith CDC-ACM UARTzephyr,cdc-acm-uartas Zephyr console:CONFIG_USBD_CDC_ACM_LOG_LEVEL_CHOICE:=CONFIG_USBD_CDC_ACM_LOG_LEVEL_OFFCONFIG_UDC_DRIVER_LOG_LEVEL_CHOICE:=CONFIG_UDC_DRIVER_LOG_LEVEL_ERR
Seeeduino XIAO
Kconfig.defconfig# Workaround for not being able to have commas in macro arguments DT_CHOSEN_Z_CONSOLE := zephyr,console DT_COMPAT_Z_CDC_ACM_UART := zephyr,cdc-acm-uart DT_COMPAT_ATMEL_USB := atmel,sam0-usb # Macros to shorten Kconfig expressions DT_CHOSEN_CONSOLE_NODE := $(dt_chosen_path,$(DT_CHOSEN_Z_CONSOLE)) DT_CHOSEN_CONSOLE_PARENT := $(dt_node_parent,$(DT_CHOSEN_CONSOLE_NODE)) if BOARD_SEEEDUINO_XIAO && \ $(dt_chosen_enabled,$(DT_CHOSEN_Z_CONSOLE)) && \ $(dt_compat_on_bus,$(DT_COMPAT_Z_CDC_ACM_UART),usb) && \ $(dt_node_has_compat,$(DT_CHOSEN_CONSOLE_PARENT),$(DT_COMPAT_ATMEL_USB)) # Logger cannot use itself to log choice USBD_CDC_ACM_LOG_LEVEL_CHOICE default USBD_CDC_ACM_LOG_LEVEL_OFF depends on LOG && USB_DEVICE_STACK_NEXT && USBD_CDC_ACM_CLASS endchoice # Set USB log level to error only choice USBD_LOG_LEVEL_CHOICE default USBD_LOG_LEVEL_ERR depends on LOG && USB_DEVICE_STACK_NEXT && USBD_CDC_ACM_CLASS endchoice # Set UDC driver log level to error only choice UDC_DRIVER_LOG_LEVEL_CHOICE default UDC_DRIVER_LOG_LEVEL_ERR depends on LOG && USB_DEVICE_STACK_NEXT && USBD_CDC_ACM_CLASS endchoice endif # zephyr,cdc-acm-uart
Devicetree
set default entries for
modelandcompatibleof the boards:Seeeduino XIAO
seeeduino_xiao.overlay/ { model = "Seeeduino XIAO @ UART Concole"; compatible = "seeed,seeeduino-xiao-uartcons", "seeed,seeeduino-xiao", "atmel,samd21g18a", "atmel,samd21"; };