# Copyright (c) 2024 Cypress Semiconductor Corporation (an Infineon company) or
# an affiliate of Cypress Semiconductor Corporation
# SPDX-License-Identifier: Apache-2.0

# Infineon CAT1C devices

# Series definitions
config SOC_SERIES_XMC7200
	select ARM
	select CPU_CORTEX_M_HAS_SYSTICK
	select CPU_HAS_ARM_MPU
	select CPU_CORTEX_M_HAS_VTOR
	select CPU_HAS_ICACHE if CPU_CORTEX_M7
	select CPU_HAS_DCACHE if CPU_CORTEX_M7
	select CPU_HAS_FPU if CPU_CORTEX_M7
	select SOC_PREP_HOOK
	select USE_INFINEON_LEGACY_HAL


# SOC Cortex M7 Cores
config SOC_XMC7200_CORE_NAME_M7_0
	bool

config SOC_XMC7200_CORE_NAME_M7_1
	bool

# xmc7200d_e272k8384
config SOC_XMC7200D_E272K8384_M0PLUS
	select CPU_CORTEX_M0PLUS

config SOC_XMC7200D_E272K8384_M7_0
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_0

config SOC_XMC7200D_E272K8384_M7_1
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_1

# cyt4bf8ces
config SOC_CYT4BF8CES_M0PLUS
	select CPU_CORTEX_M0PLUS

config SOC_CYT4BF8CES_M7_0
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_0

config SOC_CYT4BF8CES_M7_1
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_1

# cyt4bf8cee
config SOC_CYT4BF8CEE_M0PLUS
	select CPU_CORTEX_M0PLUS

config SOC_CYT4BF8CEE_M7_0
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_0

config SOC_CYT4BF8CEE_M7_1
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_1

# cyt4bf8cds
config SOC_CYT4BF8CDS_M0PLUS
	select CPU_CORTEX_M0PLUS

config SOC_CYT4BF8CDS_M7_0
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_0

config SOC_CYT4BF8CDS_M7_1
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_1

# cyt4bf8cde
config SOC_CYT4BF8CDE_M0PLUS
	select CPU_CORTEX_M0PLUS

config SOC_CYT4BF8CDE_M7_0
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_0

config SOC_CYT4BF8CDE_M7_1
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_1

# cyt4bfbcjs
config SOC_CYT4BFBCJS_M0PLUS
	select CPU_CORTEX_M0PLUS

config SOC_CYT4BFBCJS_M7_0
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_0

config SOC_CYT4BFBCJS_M7_1
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_1

# cyt4bfbcje
config SOC_CYT4BFBCJE_M0PLUS
	select CPU_CORTEX_M0PLUS

config SOC_CYT4BFBCJE_M7_0
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_0

config SOC_CYT4BFBCJE_M7_1
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_1

# cyt4bfbchs
config SOC_CYT4BFBCHS_M0PLUS
	select CPU_CORTEX_M0PLUS

config SOC_CYT4BFBCHS_M7_0
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_0

config SOC_CYT4BFBCHS_M7_1
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_1

# cyt4bfbche
config SOC_CYT4BFBCHE_M0PLUS
	select CPU_CORTEX_M0PLUS

config SOC_CYT4BFBCHE_M7_0
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_0

config SOC_CYT4BFBCHE_M7_1
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_1

# cyt4bfccjs
config SOC_CYT4BFCCJS_M0PLUS
	select CPU_CORTEX_M0PLUS

config SOC_CYT4BFCCJS_M7_0
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_0

config SOC_CYT4BFCCJS_M7_1
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_1

# cyt4bfccje
config SOC_CYT4BFCCJE_M0PLUS
	select CPU_CORTEX_M0PLUS

config SOC_CYT4BFCCJE_M7_0
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_0

config SOC_CYT4BFCCJE_M7_1
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_1

# cyt4bfcchs
config SOC_CYT4BFCCHS_M0PLUS
	select CPU_CORTEX_M0PLUS

config SOC_CYT4BFCCHS_M7_0
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_0

config SOC_CYT4BFCCHS_M7_1
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_1

# cyt4bfcche
config SOC_CYT4BFCCHE_M0PLUS
	select CPU_CORTEX_M0PLUS

config SOC_CYT4BFCCHE_M7_0
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_0

config SOC_CYT4BFCCHE_M7_1
	select CPU_CORTEX_M7
	select SOC_XMC7200_CORE_NAME_M7_1
