# SPDX-License-Identifier: GPL-2.0
if (BF538 || BF539)

source "arch/blackfin/mach-bf538/boards/Kconfig"

menu "BF538 Specific Configuration"

comment "Interrupt Priority Assignment"
menu "Priority"

config IRQ_PLL_WAKEUP
	int "IRQ_PLL_WAKEUP"
	default 7
config IRQ_DMA0_ERROR
	int "IRQ_DMA0_ERROR"
	default 7
config IRQ_PPI_ERROR
	int "IRQ_PPI_ERROR"
	default 7
config IRQ_SPORT0_ERROR
	int "IRQ_SPORT0_ERROR"
	default 7
config IRQ_SPORT1_ERROR
	int "IRQ_SPORT1_ERROR"
	default 7
config IRQ_SPI0_ERROR
	int "IRQ_SPI0_ERROR"
	default 7
config IRQ_UART0_ERROR
	int "IRQ_UART0_ERROR"
	default 7
config IRQ_RTC
	int "IRQ_RTC"
	default 8
config IRQ_PPI
	int "IRQ_PPI"
	default 8
config IRQ_SPORT0_RX
	int "IRQ_SPORT0_RX"
	default 9
config IRQ_SPORT0_TX
	int "IRQ_SPORT0_TX"
	default 9
config IRQ_SPORT1_RX
	int "IRQ_SPORT1_RX"
	default 9
config IRQ_SPORT1_TX
	int "IRQ_SPORT1_TX"
	default 9
config IRQ_SPI0
	int "IRQ_SPI0"
	default 10
config IRQ_UART0_RX
	int "IRQ_UART0_RX"
	default 10
config IRQ_UART0_TX
	int "IRQ_UART0_TX"
	default 10
config IRQ_TIMER0
	int "IRQ_TIMER0"
	default 7 if TICKSOURCE_GPTMR0
	default 8
config IRQ_TIMER1
	int "IRQ_TIMER1"
	default 11
config IRQ_TIMER2
	int "IRQ_TIMER2"
	default 11
config IRQ_PORTF_INTA
	int "IRQ_PORTF_INTA"
	default 12
config IRQ_PORTF_INTB
	int "IRQ_PORTF_INTB"
	default 12
config IRQ_MEM0_DMA0
	int "IRQ_MEM0_DMA0"
	default 13
config IRQ_MEM0_DMA1
	int "IRQ_MEM0_DMA1"
	default 13
config IRQ_WATCH
	int "IRQ_WATCH"
	default 13
config IRQ_DMA1_ERROR
	int "IRQ_DMA1_ERROR"
	default 7
config IRQ_SPORT2_ERROR
	int "IRQ_SPORT2_ERROR"
	default 7
config IRQ_SPORT3_ERROR
	int "IRQ_SPORT3_ERROR"
	default 7
config IRQ_SPI1_ERROR
	int "IRQ_SPI1_ERROR"
	default 7
config IRQ_SPI2_ERROR
	int "IRQ_SPI2_ERROR"
	default 7
config IRQ_UART1_ERROR
	int "IRQ_UART1_ERROR"
	default 7
config IRQ_UART2_ERROR
	int "IRQ_UART2_ERROR"
	default 7
config IRQ_CAN_ERROR
	int "IRQ_CAN_ERROR"
	default 7
config IRQ_SPORT2_RX
	int "IRQ_SPORT2_RX"
	default 9
config IRQ_SPORT2_TX
	int "IRQ_SPORT2_TX"
	default 9
config IRQ_SPORT3_RX
	int "IRQ_SPORT3_RX"
	default 9
config IRQ_SPORT3_TX
	int "IRQ_SPORT3_TX"
	default 9
config IRQ_SPI1
	int "IRQ_SPI1"
	default 10
config IRQ_SPI2
	int "IRQ_SPI2"
	default 10
config IRQ_UART1_RX
	int "IRQ_UART1_RX"
	default 10
config IRQ_UART1_TX
	int "IRQ_UART1_TX"
	default 10
config IRQ_UART2_RX
	int "IRQ_UART2_RX"
	default 10
config IRQ_UART2_TX
	int "IRQ_UART2_TX"
	default 10
config IRQ_TWI0
	int "IRQ_TWI0"
	default 11
config IRQ_TWI1
	int "IRQ_TWI1"
	default 11
config IRQ_CAN_RX
	int "IRQ_CAN_RX"
	default 11
config IRQ_CAN_TX
	int "IRQ_CAN_TX"
	default 11
config IRQ_MEM1_DMA0
	int "IRQ_MEM1_DMA0"
	default 13
config IRQ_MEM1_DMA1
	int "IRQ_MEM1_DMA1"
	default 13

	help
	  Enter the priority numbers between 7-13 ONLY.  Others are Reserved.
	  This applies to all the above.  It is not recommended to assign the
	  highest priority number 7 to UART or any other device.

endmenu

endmenu

endif
