# STMicroelectronics STM32G4 MCU series

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

config SOC_SERIES_STM32G4X
	bool "STM32G4x Series MCU"
	select ARM
	select CPU_CORTEX_M4
	select CPU_CORTEX_M_HAS_DWT
	select CPU_HAS_FPU
	select SOC_FAMILY_STM32
	select HAS_STM32CUBE
	select CPU_HAS_ARM_MPU
	select CLOCK_CONTROL_STM32_CUBE if CLOCK_CONTROL
	help
	  Enable support for STM32G4 MCU series
