diff options
author | Magnus Damm <damm@igel.co.jp> | 2007-07-25 21:14:16 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2007-07-26 02:35:54 -0400 |
commit | 0fbde9509d7b2f71b9326f9c5807a0b4193c7c76 (patch) | |
tree | f6c027713f2607c086760f460831e71ecbd44f3d | |
parent | ac79fd58a25dbd9848f2c2857da6a79494dabb9a (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>
-rw-r--r-- | drivers/serial/sh-sci.h | 25 |
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) || \ |
483 | static 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) | ||
492 | static inline int sci_rxd_in(struct uart_port *port) | 483 | static inline int sci_rxd_in(struct uart_port *port) |
493 | { | 484 | { |
494 | if (port->mapbase == 0xfffffe80) | 485 | if (port->mapbase == 0xfffffe80) |