diff --git a/drivers/serial/serial_sh.c b/drivers/serial/serial_sh.c
index 00a9b39195184a6f5eb2232235136b1dc3b278b7..70fd23ff0af6d53548d2f0c228dd26100a9bdd29 100644
--- a/drivers/serial/serial_sh.c
+++ b/drivers/serial/serial_sh.c
@@ -1,6 +1,6 @@
 /*
  * SuperH SCIF device driver.
- * Copyright (c) 2007 Nobuhiro Iwamatsu
+ * Copyright (c) 2007,2008 Nobuhiro Iwamatsu
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -36,7 +36,7 @@
 #define SCSCR	(vu_short *)(SCIF_BASE + 0x8)
 #define SCFCR	(vu_short *)(SCIF_BASE + 0x18)
 #define SCFDR	(vu_short *)(SCIF_BASE + 0x1C)
-#ifdef CONFIG_SH7720 /* SH7720 specific */
+#ifdef CONFIG_CPU_SH7720 /* SH7720 specific */
 #define SCFSR	(vu_short *)(SCIF_BASE + 0x14)   /* SCSSR */
 #define SCFTDR	(vu_char  *)(SCIF_BASE + 0x20)
 #define SCFRDR	(vu_char  *)(SCIF_BASE + 0x24)
@@ -57,12 +57,19 @@
 #define SCLSR 	(vu_short *)(SCIF_BASE + 0x24)
 #define LSR_ORER	1
 #elif defined (CONFIG_SH3)
-#ifdef CONFIG_SH7720 /* SH7720 specific */
-# define SCLSR	SCFSR	/* SCSSR */
+#ifdef CONFIG_CPU_SH7720 /* SH7720 specific */
+#define SCLSR   (vu_short *)(SCIF_BASE + 0x24)
+#define LSR_ORER	0x0200
 #else
-# define SCLSR   (vu_short *)(SCIF_BASE + 0x24)
+#define SCLSR	SCFSR	/* SCSSR */
+#define LSR_ORER	1
 #endif
-#define LSR_ORER	0x0200
+#endif
+
+#if defined(CONFIG_CPU_SH7720)
+#define SCBRR_VALUE(bps, clk) (((clk*2)+16*bps)/(32*bps)-1)
+#else	/* Generic SuperH */
+#define SCBRR_VALUE(bps, clk) ((clk+16*bps)/(32*bps)-1)
 #endif
 
 #define SCR_RE 		(1 << 4)
@@ -82,18 +89,7 @@
 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
+	*SCBRR = SCBRR_VALUE(gd->baudrate,CONFIG_SYS_CLK_FREQ);
 }
 
 int serial_init (void)
diff --git a/include/configs/ms7720se.h b/include/configs/ms7720se.h
index 8a94c28237bac800fd8794458e3b3962d4b0cd8b..7035002c4f32bc20f072d85eb516f01dc6ddb520 100644
--- a/include/configs/ms7720se.h
+++ b/include/configs/ms7720se.h
@@ -40,13 +40,6 @@
 #define CONFIG_CMD_IDE
 #define CONFIG_CMD_EXT2
 
-#define CFG_CMD_PCMCIA	0x01
-#define CFG_CMD_IDE	0x02
-
-#define CONFIG_COMMANDS		((CONFIG_CMD_DFL	| \
-				 CFG_CMD_IDE|CFG_CMD_PCMCIA)	& \
-				~(CFG_CMD_FPGA))
-
 #define CONFIG_BAUDRATE		115200
 #define CONFIG_BOOTARGS		"console=ttySC0,115200"
 #define CONFIG_BOOTFILE		/boot/zImage