diff options
author | Sonic Zhang <sonic.zhang@analog.com> | 2008-02-02 03:31:00 -0500 |
---|---|---|
committer | Bryan Wu <bryan.wu@analog.com> | 2008-02-02 03:31:00 -0500 |
commit | 8b01eaff4fdf39d23d53288fd1a3e74fef136145 (patch) | |
tree | 819a0e86598a75860fc2ed0c23a51f02957cee6c | |
parent | 83d9cde08b72233d113e31ab93b6b56151be8719 (diff) |
[Blackfin] arch: Enable UART2 and UART3 for bf548
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
-rw-r--r-- | arch/blackfin/kernel/bfin_dma_5xx.c | 10 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf548/dma.h | 4 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf548/irq.h | 8 |
3 files changed, 22 insertions, 0 deletions
diff --git a/arch/blackfin/kernel/bfin_dma_5xx.c b/arch/blackfin/kernel/bfin_dma_5xx.c index fa9debe8d5f4..5453bc3664fc 100644 --- a/arch/blackfin/kernel/bfin_dma_5xx.c +++ b/arch/blackfin/kernel/bfin_dma_5xx.c | |||
@@ -104,6 +104,16 @@ int request_dma(unsigned int channel, char *device_id) | |||
104 | 104 | ||
105 | mutex_unlock(&(dma_ch[channel].dmalock)); | 105 | mutex_unlock(&(dma_ch[channel].dmalock)); |
106 | 106 | ||
107 | #ifdef CONFIG_BF54x | ||
108 | if (channel >= CH_UART2_RX && channel <= CH_UART3_TX && | ||
109 | strncmp(device_id, "BFIN_UART", 9) == 0) | ||
110 | dma_ch[channel].regs->peripheral_map |= | ||
111 | (channel - CH_UART2_RX + 0xC); | ||
112 | else | ||
113 | dma_ch[channel].regs->peripheral_map |= | ||
114 | (channel - CH_UART2_RX + 0x6); | ||
115 | #endif | ||
116 | |||
107 | dma_ch[channel].device_id = device_id; | 117 | dma_ch[channel].device_id = device_id; |
108 | dma_ch[channel].irq_callback = NULL; | 118 | dma_ch[channel].irq_callback = NULL; |
109 | 119 | ||
diff --git a/include/asm-blackfin/mach-bf548/dma.h b/include/asm-blackfin/mach-bf548/dma.h index 4d97d3aa97cd..46ff31f20ae5 100644 --- a/include/asm-blackfin/mach-bf548/dma.h +++ b/include/asm-blackfin/mach-bf548/dma.h | |||
@@ -51,9 +51,13 @@ | |||
51 | #define CH_PIXC_OVERLAY 16 | 51 | #define CH_PIXC_OVERLAY 16 |
52 | #define CH_PIXC_OUTPUT 17 | 52 | #define CH_PIXC_OUTPUT 17 |
53 | #define CH_SPORT2_RX 18 | 53 | #define CH_SPORT2_RX 18 |
54 | #define CH_UART2_RX 18 | ||
54 | #define CH_SPORT2_TX 19 | 55 | #define CH_SPORT2_TX 19 |
56 | #define CH_UART2_TX 19 | ||
55 | #define CH_SPORT3_RX 20 | 57 | #define CH_SPORT3_RX 20 |
58 | #define CH_UART3_RX 20 | ||
56 | #define CH_SPORT3_TX 21 | 59 | #define CH_SPORT3_TX 21 |
60 | #define CH_UART3_TX 21 | ||
57 | #define CH_SDH 22 | 61 | #define CH_SDH 22 |
58 | #define CH_NFC 22 | 62 | #define CH_NFC 22 |
59 | #define CH_SPI2 23 | 63 | #define CH_SPI2 23 |
diff --git a/include/asm-blackfin/mach-bf548/irq.h b/include/asm-blackfin/mach-bf548/irq.h index c34507a3f1df..ad380d1f5872 100644 --- a/include/asm-blackfin/mach-bf548/irq.h +++ b/include/asm-blackfin/mach-bf548/irq.h | |||
@@ -99,9 +99,13 @@ Events (highest priority) EMU 0 | |||
99 | #define IRQ_UART2_ERROR BFIN_IRQ(31) /* UART2 Status (Error) Interrupt */ | 99 | #define IRQ_UART2_ERROR BFIN_IRQ(31) /* UART2 Status (Error) Interrupt */ |
100 | #define IRQ_CAN0_ERROR BFIN_IRQ(32) /* CAN0 Status (Error) Interrupt */ | 100 | #define IRQ_CAN0_ERROR BFIN_IRQ(32) /* CAN0 Status (Error) Interrupt */ |
101 | #define IRQ_SPORT2_RX BFIN_IRQ(33) /* SPORT2 RX (DMA18) Interrupt */ | 101 | #define IRQ_SPORT2_RX BFIN_IRQ(33) /* SPORT2 RX (DMA18) Interrupt */ |
102 | #define IRQ_UART2_RX BFIN_IRQ(33) /* UART2 RX (DMA18) Interrupt */ | ||
102 | #define IRQ_SPORT2_TX BFIN_IRQ(34) /* SPORT2 TX (DMA19) Interrupt */ | 103 | #define IRQ_SPORT2_TX BFIN_IRQ(34) /* SPORT2 TX (DMA19) Interrupt */ |
104 | #define IRQ_UART2_TX BFIN_IRQ(34) /* UART2 TX (DMA19) Interrupt */ | ||
103 | #define IRQ_SPORT3_RX BFIN_IRQ(35) /* SPORT3 RX (DMA20) Interrupt */ | 105 | #define IRQ_SPORT3_RX BFIN_IRQ(35) /* SPORT3 RX (DMA20) Interrupt */ |
106 | #define IRQ_UART3_RX BFIN_IRQ(35) /* UART3 RX (DMA20) Interrupt */ | ||
104 | #define IRQ_SPORT3_TX BFIN_IRQ(36) /* SPORT3 TX (DMA21) Interrupt */ | 107 | #define IRQ_SPORT3_TX BFIN_IRQ(36) /* SPORT3 TX (DMA21) Interrupt */ |
108 | #define IRQ_UART3_TX BFIN_IRQ(36) /* UART3 TX (DMA21) Interrupt */ | ||
105 | #define IRQ_EPPI1 BFIN_IRQ(37) /* EPP1 (DMA13) Interrupt */ | 109 | #define IRQ_EPPI1 BFIN_IRQ(37) /* EPP1 (DMA13) Interrupt */ |
106 | #define IRQ_EPPI2 BFIN_IRQ(38) /* EPP2 (DMA14) Interrupt */ | 110 | #define IRQ_EPPI2 BFIN_IRQ(38) /* EPP2 (DMA14) Interrupt */ |
107 | #define IRQ_SPI1 BFIN_IRQ(39) /* SPI1 (DMA5) Interrupt */ | 111 | #define IRQ_SPI1 BFIN_IRQ(39) /* SPI1 (DMA5) Interrupt */ |
@@ -421,9 +425,13 @@ Events (highest priority) EMU 0 | |||
421 | /* IAR4 BIT FILEDS */ | 425 | /* IAR4 BIT FILEDS */ |
422 | #define IRQ_CAN0_ERR_POS 0 | 426 | #define IRQ_CAN0_ERR_POS 0 |
423 | #define IRQ_SPORT2_RX_POS 4 | 427 | #define IRQ_SPORT2_RX_POS 4 |
428 | #define IRQ_UART2_RX_POS 4 | ||
424 | #define IRQ_SPORT2_TX_POS 8 | 429 | #define IRQ_SPORT2_TX_POS 8 |
430 | #define IRQ_UART2_TX_POS 8 | ||
425 | #define IRQ_SPORT3_RX_POS 12 | 431 | #define IRQ_SPORT3_RX_POS 12 |
432 | #define IRQ_UART3_RX_POS 12 | ||
426 | #define IRQ_SPORT3_TX_POS 16 | 433 | #define IRQ_SPORT3_TX_POS 16 |
434 | #define IRQ_UART3_TX_POS 16 | ||
427 | #define IRQ_EPPI1_POS 20 | 435 | #define IRQ_EPPI1_POS 20 |
428 | #define IRQ_EPPI2_POS 24 | 436 | #define IRQ_EPPI2_POS 24 |
429 | #define IRQ_SPI1_POS 28 | 437 | #define IRQ_SPI1_POS 28 |