aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial
diff options
context:
space:
mode:
authorMagnus Damm <damm@igel.co.jp>2007-07-25 21:14:16 -0400
committerPaul Mundt <lethal@linux-sh.org>2007-07-26 02:35:54 -0400
commit0fbde9509d7b2f71b9326f9c5807a0b4193c7c76 (patch)
treef6c027713f2607c086760f460831e71ecbd44f3d /drivers/serial
parentac79fd58a25dbd9848f2c2857da6a79494dabb9a (diff)
sh: sh-sci - fix SH7708 support
This patch makes sure the sci serial port driver compiles for sh7708. The approach taken is to treat the sh7708 as a subset of sh7706, sh7707, sh7709. sh7708 is very similar to sh7706, sh7707, sh7709, but only equipped with a single sci port. The platform data in setup-sh770x.c already limits the number of serial ports for sh7708 to a single one, so the non-existing scif ports pointed out in sh-sci.h will remain unused in case of sh7708. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'drivers/serial')
-rw-r--r--drivers/serial/sh-sci.h25
1 files changed, 8 insertions, 17 deletions
diff --git a/drivers/serial/sh-sci.h b/drivers/serial/sh-sci.h
index dd05b3403d2f..b11127d0edab 100644
--- a/drivers/serial/sh-sci.h
+++ b/drivers/serial/sh-sci.h
@@ -23,13 +23,10 @@
23#endif 23#endif
24#endif 24#endif
25 25
26#if defined(CONFIG_CPU_SUBTYPE_SH7708) 26#if defined(CONFIG_CPU_SUBTYPE_SH7706) || \
27# define SCSPTR 0xffffff7c /* 8 bit */ 27 defined(CONFIG_CPU_SUBTYPE_SH7707) || \
28# define SCSCR_INIT(port) 0x30 /* TIE=0,RIE=0,TE=1,RE=1 */ 28 defined(CONFIG_CPU_SUBTYPE_SH7708) || \
29# define SCI_ONLY 29 defined(CONFIG_CPU_SUBTYPE_SH7709)
30#elif defined(CONFIG_CPU_SUBTYPE_SH7707) || \
31 defined(CONFIG_CPU_SUBTYPE_SH7709) || \
32 defined(CONFIG_CPU_SUBTYPE_SH7706)
33# define SCPCR 0xA4000116 /* 16 bit SCI and SCIF */ 30# define SCPCR 0xA4000116 /* 16 bit SCI and SCIF */
34# define SCPDR 0xA4000136 /* 8 bit SCI and SCIF */ 31# define SCPDR 0xA4000136 /* 8 bit SCI and SCIF */
35# define SCSCR_INIT(port) 0x30 /* TIE=0,RIE=0,TE=1,RE=1 */ 32# define SCSCR_INIT(port) 0x30 /* TIE=0,RIE=0,TE=1,RE=1 */
@@ -479,16 +476,10 @@ static const struct __attribute__((packed)) {
479}; 476};
480#endif 477#endif
481 478
482#if defined(CONFIG_CPU_SUBTYPE_SH7708) 479#if defined(CONFIG_CPU_SUBTYPE_SH7706) || \
483static inline int sci_rxd_in(struct uart_port *port) 480 defined(CONFIG_CPU_SUBTYPE_SH7707) || \
484{ 481 defined(CONFIG_CPU_SUBTYPE_SH7708) || \
485 if (port->mapbase == 0xfffffe80) 482 defined(CONFIG_CPU_SUBTYPE_SH7709)
486 return ctrl_inb(SCSPTR)&0x01 ? 1 : 0; /* SCI */
487 return 1;
488}
489#elif defined(CONFIG_CPU_SUBTYPE_SH7707) || \
490 defined(CONFIG_CPU_SUBTYPE_SH7709) || \
491 defined(CONFIG_CPU_SUBTYPE_SH7706)
492static inline int sci_rxd_in(struct uart_port *port) 483static inline int sci_rxd_in(struct uart_port *port)
493{ 484{
494 if (port->mapbase == 0xfffffe80) 485 if (port->mapbase == 0xfffffe80)