Cleanup serial console baudrate calculation on AT91RM9200
authorwdenk <wdenk>
Wed, 20 Apr 2005 12:36:05 +0000 (12:36 +0000)
committerwdenk <wdenk>
Wed, 20 Apr 2005 12:36:05 +0000 (12:36 +0000)
CHANGELOG
board/canmb/mt48lc16m32s2-75.h [new file with mode: 0644]
cpu/arm920t/at91rm9200/serial.c

index ba5e3dd14ef2b0ba2a8f83d825fc9856b6b3eded..eb597704b032015b1b6b33ae6f4ed9f774e175af 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,8 @@
 Changes for U-Boot 1.1.3:
 ======================================================================
 
+* Cleanup serial console baudrate calculation on AT91RM9200
+
 * Patch by Matthias Fuchs, 18 Apr 2005:
   Make PCI target address spaces on PMC405 and CPCI405 boards
   configurable via environment variables
diff --git a/board/canmb/mt48lc16m32s2-75.h b/board/canmb/mt48lc16m32s2-75.h
new file mode 100644 (file)
index 0000000..ffdf039
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * (C) Copyright 2004
+ * Mark Jonas, Freescale Semiconductor, mark.jonas@motorola.com.
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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 the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#define SDRAM_DDR      0               /* is SDR */
+
+#if defined(CONFIG_MPC5200)
+/* Settings for XLB = 132 MHz */
+#define SDRAM_MODE     0x00CD0000
+#define SDRAM_CONTROL  0x504F0000
+#define SDRAM_CONFIG1  0xD2322800
+#define SDRAM_CONFIG2  0x8AD70000
+
+#elif defined(CONFIG_MGT5100)
+/* Settings for XLB = 66 MHz */
+#define SDRAM_MODE     0x008D0000
+#define SDRAM_CONTROL  0x504F0000
+#define SDRAM_CONFIG1  0xC2222600
+#define SDRAM_CONFIG2  0x88B70004
+#define SDRAM_ADDRSEL  0x02000000
+
+#else
+#error Neither CONFIG_MPC5200 or CONFIG_MGT5100 defined
+#endif
index a9693bf44e372dd40eb8967ae084beb33578ed5e..b529cfa41b7bd587929245c5c88a5dbbf78d6403 100644 (file)
@@ -55,11 +55,8 @@ void serial_setbrg (void)
 
        if ((baudrate = gd->baudrate) <= 0)
                baudrate = CONFIG_BAUDRATE;
-       if (baudrate == 0 || baudrate == CONFIG_BAUDRATE)
-               us->US_BRGR = CFG_AT91C_BRGR_DIVISOR;   /* hardcode so no __divsi3 */
-       else
-               /* MASTER_CLOCK/(16 * baudrate) */
-               us->US_BRGR = (AT91C_MASTER_CLOCK >> 4)/baudrate;
+       /* MASTER_CLOCK/(16 * baudrate) */
+       us->US_BRGR = (AT91C_MASTER_CLOCK >> 4)/baudrate;
 }
 
 int serial_init (void)