diff options
-rw-r--r-- | drivers/serial/mpc52xx_uart.c | 10 | ||||
-rw-r--r-- | include/asm-powerpc/mpc52xx_psc.h | 3 | ||||
-rw-r--r-- | include/asm-ppc/mpc52xx_psc.h | 3 |
3 files changed, 12 insertions, 4 deletions
diff --git a/drivers/serial/mpc52xx_uart.c b/drivers/serial/mpc52xx_uart.c index 7e3ba8b455a8..141b8da7e0e7 100644 --- a/drivers/serial/mpc52xx_uart.c +++ b/drivers/serial/mpc52xx_uart.c | |||
@@ -112,6 +112,7 @@ static void mpc52xx_uart_of_enumerate(void); | |||
112 | #endif | 112 | #endif |
113 | 113 | ||
114 | #define PSC(port) ((struct mpc52xx_psc __iomem *)((port)->membase)) | 114 | #define PSC(port) ((struct mpc52xx_psc __iomem *)((port)->membase)) |
115 | #define FIFO(port) ((struct mpc52xx_psc_fifo __iomem *)(PSC(port)+1)) | ||
115 | 116 | ||
116 | 117 | ||
117 | /* Forward declaration of the interruption handling routine */ | 118 | /* Forward declaration of the interruption handling routine */ |
@@ -223,6 +224,7 @@ static int | |||
223 | mpc52xx_uart_startup(struct uart_port *port) | 224 | mpc52xx_uart_startup(struct uart_port *port) |
224 | { | 225 | { |
225 | struct mpc52xx_psc __iomem *psc = PSC(port); | 226 | struct mpc52xx_psc __iomem *psc = PSC(port); |
227 | struct mpc52xx_psc_fifo __iomem *fifo = FIFO(port); | ||
226 | int ret; | 228 | int ret; |
227 | 229 | ||
228 | /* Request IRQ */ | 230 | /* Request IRQ */ |
@@ -239,10 +241,10 @@ mpc52xx_uart_startup(struct uart_port *port) | |||
239 | 241 | ||
240 | out_be16(&psc->mpc52xx_psc_clock_select, 0xdd00); /* /16 prescaler on */ | 242 | out_be16(&psc->mpc52xx_psc_clock_select, 0xdd00); /* /16 prescaler on */ |
241 | 243 | ||
242 | out_8(&psc->rfcntl, 0x00); | 244 | out_8(&fifo->rfcntl, 0x00); |
243 | out_be16(&psc->rfalarm, 0x1ff); | 245 | out_be16(&fifo->rfalarm, 0x1ff); |
244 | out_8(&psc->tfcntl, 0x07); | 246 | out_8(&fifo->tfcntl, 0x07); |
245 | out_be16(&psc->tfalarm, 0x80); | 247 | out_be16(&fifo->tfalarm, 0x80); |
246 | 248 | ||
247 | port->read_status_mask |= MPC52xx_PSC_IMR_RXRDY | MPC52xx_PSC_IMR_TXRDY; | 249 | port->read_status_mask |= MPC52xx_PSC_IMR_RXRDY | MPC52xx_PSC_IMR_TXRDY; |
248 | out_be16(&psc->mpc52xx_psc_imr,port->read_status_mask); | 250 | out_be16(&psc->mpc52xx_psc_imr,port->read_status_mask); |
diff --git a/include/asm-powerpc/mpc52xx_psc.h b/include/asm-powerpc/mpc52xx_psc.h index 26690d2b32f5..bea42b95390f 100644 --- a/include/asm-powerpc/mpc52xx_psc.h +++ b/include/asm-powerpc/mpc52xx_psc.h | |||
@@ -153,6 +153,9 @@ struct mpc52xx_psc { | |||
153 | u8 reserved16[3]; | 153 | u8 reserved16[3]; |
154 | u8 irfdr; /* PSC + 0x54 */ | 154 | u8 irfdr; /* PSC + 0x54 */ |
155 | u8 reserved17[3]; | 155 | u8 reserved17[3]; |
156 | }; | ||
157 | |||
158 | struct mpc52xx_psc_fifo { | ||
156 | u16 rfnum; /* PSC + 0x58 */ | 159 | u16 rfnum; /* PSC + 0x58 */ |
157 | u16 reserved18; | 160 | u16 reserved18; |
158 | u16 tfnum; /* PSC + 0x5c */ | 161 | u16 tfnum; /* PSC + 0x5c */ |
diff --git a/include/asm-ppc/mpc52xx_psc.h b/include/asm-ppc/mpc52xx_psc.h index c82b8d49a7da..39fcd02cd4e8 100644 --- a/include/asm-ppc/mpc52xx_psc.h +++ b/include/asm-ppc/mpc52xx_psc.h | |||
@@ -159,6 +159,9 @@ struct mpc52xx_psc { | |||
159 | u8 reserved16[3]; | 159 | u8 reserved16[3]; |
160 | u8 irfdr; /* PSC + 0x54 */ | 160 | u8 irfdr; /* PSC + 0x54 */ |
161 | u8 reserved17[3]; | 161 | u8 reserved17[3]; |
162 | }; | ||
163 | |||
164 | struct mpc52xx_psc_fifo { | ||
162 | u16 rfnum; /* PSC + 0x58 */ | 165 | u16 rfnum; /* PSC + 0x58 */ |
163 | u16 reserved18; | 166 | u16 reserved18; |
164 | u16 tfnum; /* PSC + 0x5c */ | 167 | u16 tfnum; /* PSC + 0x5c */ |