aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/serial/mpc52xx_uart.c10
-rw-r--r--include/asm-powerpc/mpc52xx_psc.h3
-rw-r--r--include/asm-ppc/mpc52xx_psc.h3
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
223mpc52xx_uart_startup(struct uart_port *port) 224mpc52xx_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
158struct 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
164struct 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 */