serial_sh: Add support for SH7720
PATCH 1/1 serial_sh: Add support for SH7720
Add support for SH7720 in serial_sh driver.
Signed-off-by Yoshihiro Shimoda <[email protected]>
CC Nobuhiro Iwamatsu <[email protected]>
--- drivers/serial_sh.c | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-)
drivers/serial_sh.c +24 -2
@@ -30,6 +30,17 @@#error "Default SCIF doesn't set....."#endif +#if defined(CONFIG_SH3 ) +/* There are SH7720's register */ +#define SCSMR (volatile unsigned short *)(SCIF_BASE + 0x0) +#define SCBRR (volatile unsigned char *)(SCIF_BASE + 0x4) +#define SCSCR (volatile unsigned short *)(SCIF_BASE + 0x8) +#define SCFSR (volatile unsigned short *)(SCIF_BASE + 0x14)/* SCSSR */ +#define SCFCR (volatile unsigned short *)(SCIF_BASE + 0x18) +#define SCFDR (volatile unsigned short *)(SCIF_BASE + 0x1C) +#define SCFTDR (volatile unsigned char *)(SCIF_BASE + 0x20) +#define SCFRDR (volatile unsigned char *)(SCIF_BASE + 0x24) +#else #define SCSMR (volatile unsigned short *)(SCIF_BASE + 0x0)#define SCBRR (volatile unsigned char *)(SCIF_BASE + 0x4)#define SCSCR (volatile unsigned short *)(SCIF_BASE + 0x8)
@@ -38,16 +49,21 @@#define SCFRDR (volatile unsigned char *)(SCIF_BASE + 0x14)#define SCFCR (volatile unsigned short *)(SCIF_BASE + 0x18)#define SCFDR (volatile unsigned short *)(SCIF_BASE + 0x1C) +#endif +#if defined(CONFIG_SH4A )#define SCRFDR (volatile unsigned short *)(SCIF_BASE + 0x20)#define SCSPTR (volatile unsigned short *)(SCIF_BASE + 0x24)#define SCLSR (volatile unsigned short *)(SCIF_BASE + 0x28)#define SCRER (volatile unsigned short *)(SCIF_BASE + 0x2C) +#define LSR_ORER 1#elif defined (CONFIG_SH4 )#define SCSPTR (volatile unsigned short *)(SCIF_BASE + 0x20)#define SCLSR (volatile unsigned short *)(SCIF_BASE + 0x24) +#define LSR_ORER 1#elif defined (CONFIG_SH3 ) -#define SCLSR (volatile unsigned short *)(SCIF_BASE + 0x24) +#define SCLSR SCFSR/* SCSSR */ +#define LSR_ORER 0x0200#endif #define SCR_RE (1 << 4)
@@ -67,10 +83,17 @@void serial_setbrg (void ) {DECLARE_GLOBAL_DATA_PTR ; +#if defined(CONFIG_CPU_SH7720 ) +int divisor = gd->baudrate *16 ; + + *SCBRR = (CONFIG_SYS_CLK_FREQ *2 + (divisor /2 )) / + (gd->baudrate *32 ) -1 ; +#else int divisor = gd->baudrate *32 ; *SCBRR = (CONFIG_SYS_CLK_FREQ + (divisor /2 )) / (gd->baudrate *32 ) -1 ; +#endif }int serial_init (void )
@@ -133,7 +156,6 @@ int serial_tstc (void)#define FSR_ERR_CLEAR 0x0063#define RDRF_CLEAR 0x00fc -#define LSR_ORER 1void handle_error (void ){ (void )*SCFSR ;
Nobuhiro Iwamatsu
AppliedPATCH 1/1 serial_sh: Add support for SH7720
Quoted 7 lines · On Mon, 03 Dec 2007 22:58:47 +0900 Yoshihiro Shimoda…
Add support for SH7720 in
serial_shdriver.Signed-off-by Yoshihiro Shimoda <[email protected]>CC Nobuhiro Iwamatsu <[email protected]>--- drivers/serial_sh.c | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-)
Applied, thanks.
Signature · 5 lines
Nobuhiro Iwamatsu hemamu at t-base.ne.jp iwamatsu at debian.or.jp GPG ID : 3170EBE9