diff options
author | John Rigby <jrigby@freescale.com> | 2008-01-16 16:37:24 -0500 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2008-01-21 13:01:32 -0500 |
commit | 94f389485e27641348c1951ab8d65157122a8939 (patch) | |
tree | 513c59839b466e893b9c8e3db2d6a0df2a8db11b | |
parent | 5b5820d08b8cc90ba0148bf8d4a5a1f792e9e8ba (diff) |
[POWERPC] Separate MPC52xx PSC FIFO registers from rest of PSC
This is in preparation for the addition of MPC512x
PSC support. The main difference in the 512x is
in the fifo registers.
Signed-off-by: John Rigby <jrigby@freescale.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
-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 7e3ba8b455..141b8da7e0 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 26690d2b32..bea42b9539 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 c82b8d49a7..39fcd02cd4 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 */ |