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

config BOARD_ADAFRUIT_TRINKET_M0
	select SOC_SAMD21E18A
