mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-03 17:40:04 +00:00
![steven miao](/assets/img/avatar_default.png)
The BF54x lacks dedicated DMA channels for the UART peripherals and need to be muxed between others. So add a kconfig option so people can select which channels the UARTs will use so they can pick between SPORTs and the less commonly used EPPI/PIXC peripherals. Signed-off-by: steven miao <realmz6@gmail.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
416 lines
7.5 KiB
Text
416 lines
7.5 KiB
Text
config BF542
|
|
def_bool y
|
|
depends on BF542_std || BF542M
|
|
config BF544
|
|
def_bool y
|
|
depends on BF544_std || BF544M
|
|
config BF547
|
|
def_bool y
|
|
depends on BF547_std || BF547M
|
|
config BF548
|
|
def_bool y
|
|
depends on BF548_std || BF548M
|
|
config BF549
|
|
def_bool y
|
|
depends on BF549_std || BF549M
|
|
|
|
config BF54xM
|
|
def_bool y
|
|
depends on (BF542M || BF544M || BF547M || BF548M || BF549M)
|
|
|
|
config BF54x
|
|
def_bool y
|
|
depends on (BF542 || BF544 || BF547 || BF548 || BF549)
|
|
|
|
if (BF54x)
|
|
|
|
source "arch/blackfin/mach-bf548/boards/Kconfig"
|
|
|
|
menu "BF548 Specific Configuration"
|
|
|
|
config DEB_DMA_URGENT
|
|
bool "DMA has priority over core for ext. accesses"
|
|
depends on BF54x
|
|
default y
|
|
help
|
|
Treat any DEB1, DEB2 and DEB3 request as Urgent
|
|
|
|
config BF548_ATAPI_ALTERNATIVE_PORT
|
|
bool "BF548 ATAPI alternative port via GPIO"
|
|
help
|
|
BF548 ATAPI data and address PINs can be routed through
|
|
async address or GPIO port F and G. Select y to route it
|
|
to GPIO.
|
|
|
|
choice
|
|
prompt "UART2 DMA channel selection"
|
|
depends on SERIAL_BFIN_UART2
|
|
default UART2_DMA_RX_ON_DMA18
|
|
help
|
|
UART2 DMA channel selection
|
|
RX -> DMA18
|
|
TX -> DMA19
|
|
or
|
|
RX -> DMA13
|
|
TX -> DMA14
|
|
|
|
config UART2_DMA_RX_ON_DMA18
|
|
bool "UART2 DMA RX -> DMA18 TX -> DMA19"
|
|
help
|
|
UART2 DMA channel assignment
|
|
RX -> DMA18
|
|
TX -> DMA19
|
|
use SPORT2 default DMA channel
|
|
|
|
config UART2_DMA_RX_ON_DMA13
|
|
bool "UART2 DMA RX -> DMA13 TX -> DMA14"
|
|
help
|
|
UART2 DMA channel assignment
|
|
RX -> DMA13
|
|
TX -> DMA14
|
|
use EPPI1 EPPI2 default DMA channel
|
|
endchoice
|
|
|
|
choice
|
|
prompt "UART3 DMA channel selection"
|
|
depends on SERIAL_BFIN_UART3
|
|
default UART3_DMA_RX_ON_DMA20
|
|
help
|
|
UART3 DMA channel selection
|
|
RX -> DMA20
|
|
TX -> DMA21
|
|
or
|
|
RX -> DMA15
|
|
TX -> DMA16
|
|
|
|
config UART3_DMA_RX_ON_DMA20
|
|
bool "UART3 DMA RX -> DMA20 TX -> DMA21"
|
|
help
|
|
UART3 DMA channel assignment
|
|
RX -> DMA20
|
|
TX -> DMA21
|
|
use SPORT3 default DMA channel
|
|
|
|
config UART3_DMA_RX_ON_DMA15
|
|
bool "UART3 DMA RX -> DMA15 TX -> DMA16"
|
|
help
|
|
UART3 DMA channel assignment
|
|
RX -> DMA15
|
|
TX -> DMA16
|
|
use PIXC default DMA channel
|
|
|
|
endchoice
|
|
|
|
comment "Interrupt Priority Assignment"
|
|
menu "Priority"
|
|
|
|
config IRQ_PLL_WAKEUP
|
|
int "IRQ_PLL_WAKEUP"
|
|
default 7
|
|
config IRQ_DMAC0_ERR
|
|
int "IRQ_DMAC0_ERR"
|
|
default 7
|
|
config IRQ_EPPI0_ERR
|
|
int "IRQ_EPPI0_ERR"
|
|
default 7
|
|
config IRQ_SPORT0_ERR
|
|
int "IRQ_SPORT0_ERR"
|
|
default 7
|
|
config IRQ_SPORT1_ERR
|
|
int "IRQ_SPORT1_ERR"
|
|
default 7
|
|
config IRQ_SPI0_ERR
|
|
int "IRQ_SPI0_ERR"
|
|
default 7
|
|
config IRQ_UART0_ERR
|
|
int "IRQ_UART0_ERR"
|
|
default 7
|
|
config IRQ_RTC
|
|
int "IRQ_RTC"
|
|
default 8
|
|
config IRQ_EPPI0
|
|
int "IRQ_EPPI0"
|
|
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_TIMER8
|
|
int "IRQ_TIMER8"
|
|
default 11
|
|
config IRQ_TIMER9
|
|
int "IRQ_TIMER9"
|
|
default 11
|
|
config IRQ_TIMER10
|
|
int "IRQ_TIMER10"
|
|
default 11
|
|
config IRQ_PINT0
|
|
int "IRQ_PINT0"
|
|
default 12
|
|
config IRQ_PINT1
|
|
int "IRQ_PINT0"
|
|
default 12
|
|
config IRQ_MDMAS0
|
|
int "IRQ_MDMAS0"
|
|
default 13
|
|
config IRQ_MDMAS1
|
|
int "IRQ_DMDMAS1"
|
|
default 13
|
|
config IRQ_WATCHDOG
|
|
int "IRQ_WATCHDOG"
|
|
default 13
|
|
config IRQ_DMAC1_ERR
|
|
int "IRQ_DMAC1_ERR"
|
|
default 7
|
|
config IRQ_SPORT2_ERR
|
|
int "IRQ_SPORT2_ERR"
|
|
default 7
|
|
config IRQ_SPORT3_ERR
|
|
int "IRQ_SPORT3_ERR"
|
|
default 7
|
|
config IRQ_MXVR_DATA
|
|
int "IRQ MXVR Data"
|
|
default 7
|
|
config IRQ_SPI1_ERR
|
|
int "IRQ_SPI1_ERR"
|
|
default 7
|
|
config IRQ_SPI2_ERR
|
|
int "IRQ_SPI2_ERR"
|
|
default 7
|
|
config IRQ_UART1_ERR
|
|
int "IRQ_UART1_ERR"
|
|
default 7
|
|
config IRQ_UART2_ERR
|
|
int "IRQ_UART2_ERR"
|
|
default 7
|
|
config IRQ_CAN0_ERR
|
|
int "IRQ_CAN0_ERR"
|
|
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_EPPI1
|
|
int "IRQ_EPPI1"
|
|
default 9
|
|
config IRQ_EPPI2
|
|
int "IRQ_EPPI2"
|
|
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_ATAPI_RX
|
|
int "IRQ_ATAPI_RX"
|
|
default 10
|
|
config IRQ_ATAPI_TX
|
|
int "IRQ_ATAPI_TX"
|
|
default 10
|
|
config IRQ_TWI0
|
|
int "IRQ_TWI0"
|
|
default 11
|
|
config IRQ_TWI1
|
|
int "IRQ_TWI1"
|
|
default 11
|
|
config IRQ_CAN0_RX
|
|
int "IRQ_CAN_RX"
|
|
default 11
|
|
config IRQ_CAN0_TX
|
|
int "IRQ_CAN_TX"
|
|
default 11
|
|
config IRQ_MDMAS2
|
|
int "IRQ_MDMAS2"
|
|
default 13
|
|
config IRQ_MDMAS3
|
|
int "IRQ_DMMAS3"
|
|
default 13
|
|
config IRQ_MXVR_ERR
|
|
int "IRQ_MXVR_ERR"
|
|
default 11
|
|
config IRQ_MXVR_MSG
|
|
int "IRQ_MXVR_MSG"
|
|
default 11
|
|
config IRQ_MXVR_PKT
|
|
int "IRQ_MXVR_PKT"
|
|
default 11
|
|
config IRQ_EPPI1_ERR
|
|
int "IRQ_EPPI1_ERR"
|
|
default 7
|
|
config IRQ_EPPI2_ERR
|
|
int "IRQ_EPPI2_ERR"
|
|
default 7
|
|
config IRQ_UART3_ERR
|
|
int "IRQ_UART3_ERR"
|
|
default 7
|
|
config IRQ_HOST_ERR
|
|
int "IRQ_HOST_ERR"
|
|
default 7
|
|
config IRQ_PIXC_ERR
|
|
int "IRQ_PIXC_ERR"
|
|
default 7
|
|
config IRQ_NFC_ERR
|
|
int "IRQ_NFC_ERR"
|
|
default 7
|
|
config IRQ_ATAPI_ERR
|
|
int "IRQ_ATAPI_ERR"
|
|
default 7
|
|
config IRQ_CAN1_ERR
|
|
int "IRQ_CAN1_ERR"
|
|
default 7
|
|
config IRQ_HS_DMA_ERR
|
|
int "IRQ Handshake DMA Status"
|
|
default 7
|
|
config IRQ_PIXC_IN0
|
|
int "IRQ PIXC IN0"
|
|
default 8
|
|
config IRQ_PIXC_IN1
|
|
int "IRQ PIXC IN1"
|
|
default 8
|
|
config IRQ_PIXC_OUT
|
|
int "IRQ PIXC OUT"
|
|
default 8
|
|
config IRQ_SDH
|
|
int "IRQ SDH"
|
|
default 8
|
|
config IRQ_CNT
|
|
int "IRQ CNT"
|
|
default 8
|
|
config IRQ_KEY
|
|
int "IRQ KEY"
|
|
default 8
|
|
config IRQ_CAN1_RX
|
|
int "IRQ CAN1 RX"
|
|
default 11
|
|
config IRQ_CAN1_TX
|
|
int "IRQ_CAN1_TX"
|
|
default 11
|
|
config IRQ_SDH_MASK0
|
|
int "IRQ_SDH_MASK0"
|
|
default 11
|
|
config IRQ_SDH_MASK1
|
|
int "IRQ_SDH_MASK1"
|
|
default 11
|
|
config IRQ_USB_INT0
|
|
int "IRQ USB INT0"
|
|
default 11
|
|
config IRQ_USB_INT1
|
|
int "IRQ USB INT1"
|
|
default 11
|
|
config IRQ_USB_INT2
|
|
int "IRQ USB INT2"
|
|
default 11
|
|
config IRQ_USB_DMA
|
|
int "IRQ USB DMA"
|
|
default 11
|
|
config IRQ_OTPSEC
|
|
int "IRQ OPTSEC"
|
|
default 11
|
|
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_TIMER3
|
|
int "IRQ_TIMER3"
|
|
default 11
|
|
config IRQ_TIMER4
|
|
int "IRQ_TIMER4"
|
|
default 11
|
|
config IRQ_TIMER5
|
|
int "IRQ_TIMER5"
|
|
default 11
|
|
config IRQ_TIMER6
|
|
int "IRQ_TIMER6"
|
|
default 11
|
|
config IRQ_TIMER7
|
|
int "IRQ_TIMER7"
|
|
default 11
|
|
config IRQ_PINT2
|
|
int "IRQ_PIN2"
|
|
default 11
|
|
config IRQ_PINT3
|
|
int "IRQ_PIN3"
|
|
default 11
|
|
|
|
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
|
|
|
|
comment "Pin Interrupt to Port Assignment"
|
|
menu "Assignment"
|
|
|
|
config PINTx_REASSIGN
|
|
bool "Reprogram PINT Assignment"
|
|
default y
|
|
help
|
|
The interrupt assignment registers controls the pin-to-interrupt
|
|
assignment in a byte-wide manner. Each option allows you to select
|
|
a set of pins (High/Low Byte) of an specific Port being mapped
|
|
to one of the four PIN Interrupts IRQ_PINTx.
|
|
|
|
You shouldn't change any of these unless you know exactly what you're doing.
|
|
Please consult the Blackfin BF54x Processor Hardware Reference Manual.
|
|
|
|
config PINT0_ASSIGN
|
|
hex "PINT0_ASSIGN"
|
|
depends on PINTx_REASSIGN
|
|
default 0x00000101
|
|
config PINT1_ASSIGN
|
|
hex "PINT1_ASSIGN"
|
|
depends on PINTx_REASSIGN
|
|
default 0x01010000
|
|
config PINT2_ASSIGN
|
|
hex "PINT2_ASSIGN"
|
|
depends on PINTx_REASSIGN
|
|
default 0x07000101
|
|
config PINT3_ASSIGN
|
|
hex "PINT3_ASSIGN"
|
|
depends on PINTx_REASSIGN
|
|
default 0x02020303
|
|
|
|
endmenu
|
|
|
|
endmenu
|
|
|
|
endif
|