# STMicroelectronics STM32G4 MCU line

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

config SOC_SERIES_STM32G4X
	bool
	select SOC_FAMILY_STM32

config SOC_SERIES
	default "stm32g4x" if SOC_SERIES_STM32G4X

config SOC_STM32G431XX
	bool
	select SOC_SERIES_STM32G4X

config SOC_STM32G441XX
	bool
	select SOC_SERIES_STM32G4X

config SOC_STM32G473XX
	bool
	select SOC_SERIES_STM32G4X

config SOC_STM32G474XX
	bool
	select SOC_SERIES_STM32G4X

config SOC_STM32G483XX
	bool
	select SOC_SERIES_STM32G4X

config SOC_STM32G484XX
	bool
	select SOC_SERIES_STM32G4X

config SOC_STM32G491XX
	bool
	select SOC_SERIES_STM32G4X

config SOC_STM32G4A1XX
	bool
	select SOC_SERIES_STM32G4X

config SOC
	default "stm32g431xx" if SOC_STM32G431XX
	default "stm32g441xx" if SOC_STM32G441XX
	default "stm32g473xx" if SOC_STM32G473XX
	default "stm32g474xx" if SOC_STM32G474XX
	default "stm32g483xx" if SOC_STM32G483XX
	default "stm32g484xx" if SOC_STM32G484XX
	default "stm32g491xx" if SOC_STM32G491XX
	default "stm32g4a1xx" if SOC_STM32G4A1XX
