# STMicroelectronics STM32G4 MCU series

# Copyright (c) 2019 Richard Osterloh <richard.osterloh@gmail.com>
# SPDX-License-Identifier: Apache-2.0

config SOC_SERIES_STM32G4X
	select ARM
	select CPU_CORTEX_M4
	select CPU_CORTEX_M_HAS_DWT
	select CPU_HAS_FPU
	select HAS_STM32CUBE
	select CPU_HAS_ARM_MPU
	select CLOCK_CONTROL_STM32_CUBE if CLOCK_CONTROL
	select HAS_PM
	select HAS_SWO
