# Kconfig - STM32 EXTI configuration
#
# Copyright (c) 2016 Open-RnD Sp. z o.o.
#
# SPDX-License-Identifier: Apache-2.0
#

if SOC_FAMILY_STM32

config EXTI_STM32
	bool "External Interrupt/Event Controller (EXTI) Driver for STM32 family of MCUs"
	default y if SOC_FAMILY_STM32
	help
	 Enable EXTI driver for STM32 line of MCUs

config EXTI_STM32_EXTI1_0_IRQ_PRI
	int "EXTI1:0 IRQ priority"
	depends on EXTI_STM32
	depends on SOC_SERIES_STM32F0X
	default 0
	help
	 IRQ priority of EXTI1:0 interrupt

config EXTI_STM32_EXTI3_2_IRQ_PRI
	int "EXTI3:2 IRQ priority"
	depends on EXTI_STM32
	depends on SOC_SERIES_STM32F0X
	default 0
	help
	 IRQ priority of EXTI3:2 interrupt

config EXTI_STM32_EXTI15_4_IRQ_PRI
	int "EXTI15:4 IRQ priority"
	depends on EXTI_STM32
	depends on SOC_SERIES_STM32F0X
	default 0
	help
	 IRQ priority of EXTI15:4 interrupt

if SOC_SERIES_STM32F0X!=y

config EXTI_STM32_EXTI0_IRQ_PRI
	int "EXTI0 IRQ priority"
	depends on EXTI_STM32
	default 0
	help
	 IRQ priority of EXTI0 interrupt

config EXTI_STM32_EXTI1_IRQ_PRI
	int "EXTI1 IRQ priority"
	depends on EXTI_STM32
	default 0
	help
	 IRQ priority of EXTI1 interrupt

config EXTI_STM32_EXTI2_IRQ_PRI
	int "EXTI2 IRQ priority"
	depends on EXTI_STM32
	default 0
	help
	 IRQ priority of EXTI2 interrupt

config EXTI_STM32_EXTI3_IRQ_PRI
	int "EXTI3 IRQ priority"
	depends on EXTI_STM32
	default 0
	help
	 IRQ priority of EXTI3 interrupt

config EXTI_STM32_EXTI4_IRQ_PRI
	int "EXTI4 IRQ priority"
	depends on EXTI_STM32
	default 0
	help
	 IRQ priority of EXTI4 interrupt

config EXTI_STM32_EXTI9_5_IRQ_PRI
	int "EXTI9:5 IRQ priority"
	depends on EXTI_STM32
	default 0
	help
	 IRQ priority of EXTI9:5 interrupt

config EXTI_STM32_EXTI15_10_IRQ_PRI
	int "EXTI15:10 IRQ priority"
	depends on EXTI_STM32
	default 0
	help
	 IRQ priority of EXTI15:10 interrupt

endif # SOC_SERIES_STM32F0X!=y

config EXTI_STM32_EXTI16_IRQ_PRI
	int "EXTI16 IRQ priority"
	depends on EXTI_STM32
	depends on SOC_SERIES_STM32F4X
	default 0
	help
	 IRQ priority of EXTI16 interrupt

config EXTI_STM32_EXTI17_IRQ_PRI
	int "EXTI17 IRQ priority"
	depends on EXTI_STM32
	depends on SOC_SERIES_STM32F4X
	default 0
	help
	 IRQ priority of EXTI17 interrupt

config EXTI_STM32_EXTI18_IRQ_PRI
	int "EXTI18 IRQ priority"
	depends on EXTI_STM32
	depends on SOC_SERIES_STM32F4X
	default 0
	help
	 IRQ priority of EXTI18 interrupt

config EXTI_STM32_EXTI21_IRQ_PRI
	int "EXTI21 IRQ priority"
	depends on EXTI_STM32
	depends on SOC_SERIES_STM32F4X
	default 0
	help
	 IRQ priority of EXTI21 interrupt

config EXTI_STM32_EXTI22_IRQ_PRI
	int "EXTI22 IRQ priority"
	depends on EXTI_STM32
	depends on SOC_SERIES_STM32F4X
	default 0
	help
	 IRQ priority of EXTI22 interrupt

endif # SOC_FAMILY_STM32
