# Copyright (c) 2020 Google LLC.
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0

config BOARD_ARDUINO_NANO_33_IOT
	select SOC_SAMD21G18A
