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

# Infineon PSoC6_02 series MCUs

config SOC_CYB0644ABZI_S2D44
	bool "CYB0644ABZI_S2D44"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_124_BGA
	depends on SOC_SERIES_PSOC_64

config SOC_CYS0644ABZI_S2D44
	bool "CYS0644ABZI_S2D44"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_124_BGA
	depends on SOC_SERIES_PSOC_64

config SOC_CY8C624ABZI_S2D44A0
	bool "CY8C624ABZI_S2D44A0"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_124_BGA
	depends on SOC_SERIES_PSOC_62

config SOC_CY8C624ABZI_S2D44
	bool "CY8C624ABZI_S2D44"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_124_BGA
	depends on SOC_SERIES_PSOC_62

config SOC_CY8C624AAZI_S2D44
	bool "CY8C624AAZI_S2D44"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_128_TQFP
	depends on SOC_SERIES_PSOC_62

config SOC_CY8C624AFNI_S2D43
	bool "CY8C624AFNI_S2D43"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_100_WLCSP
	depends on SOC_SERIES_PSOC_62

config SOC_CY8C624ABZI_S2D04
	bool "CY8C624ABZI_S2D04"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_124_BGA
	depends on SOC_SERIES_PSOC_62

config SOC_CY8C624ABZI_S2D14
	bool "CY8C624ABZI_S2D14"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_124_BGA
	depends on SOC_SERIES_PSOC_62

config SOC_CY8C624AAZI_S2D14
	bool "CY8C624AAZI_S2D14"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_128_TQFP
	depends on SOC_SERIES_PSOC_62

config SOC_CY8C6248AZI_S2D14
	bool "CY8C6248AZI_S2D14"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_128_TQFP
	depends on SOC_SERIES_PSOC_62

config SOC_CY8C6248BZI_S2D44
	bool "CY8C6248BZI_S2D44"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_124_BGA
	depends on SOC_SERIES_PSOC_62

config SOC_CY8C6248AZI_S2D44
	bool "CY8C6248AZI_S2D44"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_128_TQFP
	depends on SOC_SERIES_PSOC_62

config SOC_CY8C6248FNI_S2D43
	bool "CY8C6248FNI_S2D43"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_100_WLCSP
	depends on SOC_SERIES_PSOC_62

config SOC_CY8C614ABZI_S2F04
	bool "CY8C614ABZI_S2F04"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_124_BGA
	depends on SOC_SERIES_PSOC_61

config SOC_CY8C614AAZI_S2F04
	bool "CY8C614AAZI_S2F04"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_128_TQFP
	depends on SOC_SERIES_PSOC_61

config SOC_CY8C614AFNI_S2F03
	bool "CY8C614AFNI_S2F03"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_100_WLCSP
	depends on SOC_SERIES_PSOC_61

config SOC_CY8C614AAZI_S2F14
	bool "CY8C614AAZI_S2F14"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_128_TQFP
	depends on SOC_SERIES_PSOC_61

config SOC_CY8C614ABZI_S2F44
	bool "CY8C614ABZI_S2F44"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_124_BGA
	depends on SOC_SERIES_PSOC_61

config SOC_CY8C614AAZI_S2F44
	bool "CY8C614AAZI_S2F44"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_128_TQFP
	depends on SOC_SERIES_PSOC_61

config SOC_CY8C614AFNI_S2F43
	bool "CY8C614AFNI_S2F43"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_100_WLCSP
	depends on SOC_SERIES_PSOC_61

config SOC_CY8C6148BZI_S2F44
	bool "CY8C6148BZI_S2F44"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_124_BGA
	depends on SOC_SERIES_PSOC_61

config SOC_CY8C6148AZI_S2F44
	bool "CY8C6148AZI_S2F44"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_128_TQFP
	depends on SOC_SERIES_PSOC_61

config SOC_CY8C6148FNI_S2F43
	bool "CY8C6148FNI_S2F43"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_100_WLCSP
	depends on SOC_SERIES_PSOC_61

config SOC_CY8C624ABZI_D44
	bool "CY8C624ABZI_D44"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_124_BGA
	depends on SOC_SERIES_PSOC_62

config SOC_CY8C624ALQI_S2D42
	bool "CY8C624ALQI_S2D42"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_68_QFN
	depends on SOC_SERIES_PSOC_62

config SOC_CY8C624ALQI_S2D02
	bool "CY8C624ALQI_S2D02"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_68_QFN
	depends on SOC_SERIES_PSOC_62

config SOC_CY8C6248LQI_S2D42
	bool "CY8C6248LQI_S2D42"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_68_QFN
	depends on SOC_SERIES_PSOC_62

config SOC_CY8C6248LQI_S2D02
	bool "CY8C6248LQI_S2D02"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_68_QFN
	depends on SOC_SERIES_PSOC_62

config SOC_CY8C614ALQI_S2F42
	bool "CY8C614ALQI_S2F42"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_68_QFN
	depends on SOC_SERIES_PSOC_61

config SOC_CY8C614ALQI_S2F02
	bool "CY8C614ALQI_S2F02"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_68_QFN
	depends on SOC_SERIES_PSOC_61

config SOC_CY8C6148LQI_S2F42
	bool "CY8C6148LQI_S2F42"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_68_QFN
	depends on SOC_SERIES_PSOC_61

config SOC_CY8C6148LQI_S2F02
	bool "CY8C6148LQI_S2F02"
	select SOC_DIE_PSOC6_02
	select SOC_PACKAGE_PSOC6_02_68_QFN
	depends on SOC_SERIES_PSOC_61
