diff options
Diffstat (limited to 'drivers/serial/sh-sci.h')
| -rw-r--r-- | drivers/serial/sh-sci.h | 35 | 
1 files changed, 27 insertions, 8 deletions
diff --git a/drivers/serial/sh-sci.h b/drivers/serial/sh-sci.h index fad67d33b0b..f70c49f915f 100644 --- a/drivers/serial/sh-sci.h +++ b/drivers/serial/sh-sci.h @@ -31,7 +31,9 @@  # define SCSCR_INIT(port) (port->mapbase == SCIF2) ? 0xF3 : 0xF0  #elif defined(CONFIG_CPU_SUBTYPE_SH7720) || \        defined(CONFIG_CPU_SUBTYPE_SH7721) || \ -      defined(CONFIG_ARCH_SHMOBILE) +      defined(CONFIG_ARCH_SH7367) || \ +      defined(CONFIG_ARCH_SH7377) || \ +      defined(CONFIG_ARCH_SH7372)  # define SCSCR_INIT(port)  0x0030 /* TIE=0,RIE=0,TE=1,RE=1 */  # define PORT_PTCR	   0xA405011EUL  # define PORT_PVCR	   0xA4050122UL @@ -94,7 +96,9 @@  # define SCSCR_INIT(port)       0x0038  /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */  #elif defined(CONFIG_CPU_SUBTYPE_SH7724)  # define SCIF_ORER              0x0001  /* overrun error bit */ -# define SCSCR_INIT(port)       0x0038  /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ +# define SCSCR_INIT(port) ((port)->type == PORT_SCIFA ? \ +	0x30 /* TIE=0,RIE=0,TE=1,RE=1 */ : \ +	0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ )  #elif defined(CONFIG_CPU_SUBTYPE_SH4_202)  # define SCSPTR2 0xffe80020 /* 16 bit SCIF */  # define SCIF_ORER 0x0001   /* overrun error bit */ @@ -197,6 +201,8 @@      defined(CONFIG_CPU_SUBTYPE_SH7786)  || \      defined(CONFIG_CPU_SUBTYPE_SHX3)  #define SCI_CTRL_FLAGS_REIE 0x08 /* 7750 SCIF */ +#elif defined(CONFIG_CPU_SUBTYPE_SH7724) +#define SCI_CTRL_FLAGS_REIE ((port)->type == PORT_SCIFA ? 0 : 8)  #else  #define SCI_CTRL_FLAGS_REIE 0  #endif @@ -230,7 +236,9 @@  #if defined(CONFIG_CPU_SUBTYPE_SH7705) || \      defined(CONFIG_CPU_SUBTYPE_SH7720) || \      defined(CONFIG_CPU_SUBTYPE_SH7721) || \ -    defined(CONFIG_ARCH_SHMOBILE) +    defined(CONFIG_ARCH_SH7367) || \ +    defined(CONFIG_ARCH_SH7377) || \ +    defined(CONFIG_ARCH_SH7372)  # define SCIF_ORER    0x0200  # define SCIF_ERRORS ( SCIF_PER | SCIF_FER | SCIF_ER | SCIF_BRK | SCIF_ORER)  # define SCIF_RFDC_MASK 0x007f @@ -264,7 +272,9 @@  #if defined(CONFIG_CPU_SUBTYPE_SH7705) || \      defined(CONFIG_CPU_SUBTYPE_SH7720) || \      defined(CONFIG_CPU_SUBTYPE_SH7721) || \ -    defined(CONFIG_ARCH_SHMOBILE) +    defined(CONFIG_ARCH_SH7367) || \ +    defined(CONFIG_ARCH_SH7377) || \ +    defined(CONFIG_ARCH_SH7372)  # define SCxSR_RDxF_CLEAR(port)	 (sci_in(port, SCxSR) & 0xfffc)  # define SCxSR_ERROR_CLEAR(port) (sci_in(port, SCxSR) & 0xfd73)  # define SCxSR_TDxE_CLEAR(port)	 (sci_in(port, SCxSR) & 0xffdf) @@ -359,7 +369,10 @@      SCI_OUT(sci_size, sci_offset, value);				\    } -#if defined(CONFIG_CPU_SH3) || defined(CONFIG_ARCH_SHMOBILE) +#if defined(CONFIG_CPU_SH3) || \ +    defined(CONFIG_ARCH_SH7367) || \ +    defined(CONFIG_ARCH_SH7377) || \ +    defined(CONFIG_ARCH_SH7372)  #if defined(CONFIG_CPU_SUBTYPE_SH7710) || defined(CONFIG_CPU_SUBTYPE_SH7712)  #define SCIx_FNS(name, sh3_sci_offset, sh3_sci_size, sh4_sci_offset, sh4_sci_size, \  		                sh3_scif_offset, sh3_scif_size, sh4_scif_offset, sh4_scif_size, \ @@ -370,7 +383,9 @@  #elif defined(CONFIG_CPU_SUBTYPE_SH7705) || \        defined(CONFIG_CPU_SUBTYPE_SH7720) || \        defined(CONFIG_CPU_SUBTYPE_SH7721) || \ -      defined(CONFIG_ARCH_SHMOBILE) +      defined(CONFIG_ARCH_SH7367) || \ +      defined(CONFIG_ARCH_SH7377) || \ +      defined(CONFIG_ARCH_SH7372)  #define SCIF_FNS(name, scif_offset, scif_size) \    CPU_SCIF_FNS(name, scif_offset, scif_size)  #else @@ -406,7 +421,9 @@  #if defined(CONFIG_CPU_SUBTYPE_SH7705) || \      defined(CONFIG_CPU_SUBTYPE_SH7720) || \      defined(CONFIG_CPU_SUBTYPE_SH7721) || \ -    defined(CONFIG_ARCH_SHMOBILE) +    defined(CONFIG_ARCH_SH7367) || \ +    defined(CONFIG_ARCH_SH7377) || \ +    defined(CONFIG_ARCH_SH7372)  SCIF_FNS(SCSMR,  0x00, 16)  SCIF_FNS(SCBRR,  0x04,  8) @@ -589,7 +606,9 @@ static inline int sci_rxd_in(struct uart_port *port)  #elif defined(CONFIG_CPU_SUBTYPE_SH7705) || \        defined(CONFIG_CPU_SUBTYPE_SH7720) || \        defined(CONFIG_CPU_SUBTYPE_SH7721) || \ -      defined(CONFIG_ARCH_SHMOBILE) +      defined(CONFIG_ARCH_SH7367) || \ +      defined(CONFIG_ARCH_SH7377) || \ +      defined(CONFIG_ARCH_SH7372)  #define SCBRR_VALUE(bps, clk) (((clk*2)+16*bps)/(32*bps)-1)  #elif defined(CONFIG_CPU_SUBTYPE_SH7723) ||\        defined(CONFIG_CPU_SUBTYPE_SH7724)  |