1
0
Fork 0

Blackfin: add serial TX IRQ in individual platform resource

The serial TX IRQ is not simply (RX IRQ + 1) on some Blackfin chips,
so move the values to the platform resources.

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Bob Liu <lliubbo@gmail.com>
hifive-unleashed-5.1
Sonic Zhang 2011-08-01 17:53:21 +08:00 committed by Bob Liu
parent 7f80850d3f
commit edb0a6408a
28 changed files with 296 additions and 49 deletions

View File

@ -32,6 +32,8 @@ struct work_struct;
struct bfin_serial_port {
struct uart_port port;
unsigned int old_status;
int tx_irq;
int rx_irq;
int status_irq;
#ifndef BFIN_UART_BF54X_STYLE
unsigned int lsr;

View File

@ -372,9 +372,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -415,9 +420,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -308,9 +308,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -351,9 +356,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -380,9 +380,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -423,9 +428,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -538,9 +538,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -581,9 +586,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -416,9 +416,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -459,9 +464,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -710,9 +710,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -753,9 +758,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -495,9 +495,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -539,9 +544,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -237,9 +237,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX + 1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -192,9 +192,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX + 1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -220,9 +220,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX + 1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -291,9 +291,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX + 1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -150,9 +150,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX + 1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -297,9 +297,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX + 1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -304,9 +304,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -365,9 +370,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -305,9 +305,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -348,9 +353,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -236,9 +236,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -280,9 +285,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -239,9 +239,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -282,9 +287,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -308,9 +308,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -351,9 +356,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -1565,9 +1565,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -1620,9 +1625,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -305,9 +305,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -348,9 +353,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -48,9 +48,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -103,9 +108,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -146,9 +156,14 @@ static struct resource bfin_uart2_resources[] = {
.end = UART2_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART2_TX,
.end = IRQ_UART2_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART2_RX,
.end = IRQ_UART2_RX+1,
.end = IRQ_UART2_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -134,9 +134,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_RBR+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -177,9 +182,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_RBR+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -236,9 +246,14 @@ static struct resource bfin_uart2_resources[] = {
.end = UART2_RBR+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART2_TX,
.end = IRQ_UART2_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART2_RX,
.end = IRQ_UART2_RX+1,
.end = IRQ_UART2_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -279,9 +294,14 @@ static struct resource bfin_uart3_resources[] = {
.end = UART3_RBR+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART3_TX,
.end = IRQ_UART3_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART3_RX,
.end = IRQ_UART3_RX+1,
.end = IRQ_UART3_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -240,9 +240,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_RBR+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -283,9 +288,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_RBR+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -342,9 +352,14 @@ static struct resource bfin_uart2_resources[] = {
.end = UART2_RBR+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART2_TX,
.end = IRQ_UART2_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART2_RX,
.end = IRQ_UART2_RX+1,
.end = IRQ_UART2_RX,
.flags = IORESOURCE_IRQ,
},
{
@ -385,9 +400,14 @@ static struct resource bfin_uart3_resources[] = {
.end = UART3_RBR+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART3_TX,
.end = IRQ_UART3_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART3_RX,
.end = IRQ_UART3_RX+1,
.end = IRQ_UART3_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -202,9 +202,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL + 2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART_TX,
.end = IRQ_UART_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART_RX,
.end = IRQ_UART_RX + 1,
.end = IRQ_UART_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -276,9 +276,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART_TX,
.end = IRQ_UART_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART_RX,
.end = IRQ_UART_RX+1,
.end = IRQ_UART_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -171,9 +171,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART_TX,
.end = IRQ_UART_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART_RX,
.end = IRQ_UART_RX+1,
.end = IRQ_UART_RX,
.flags = IORESOURCE_IRQ,
},
{

View File

@ -50,9 +50,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART_TX,
.end = IRQ_UART_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART_RX,
.end = IRQ_UART_RX+1,
.end = IRQ_UART_RX,
.flags = IORESOURCE_IRQ,
},
{