
20 Feb
2004
20 Feb
'04
2:35 p.m.
Hi there,
to make porting U-Boot to new AT91RM9200 based boards easier I suggest the small attached patch.
* Patch by Steven Scholz, 20 Feb 2004: - some cleanup in AT91RM9200 related code
PS:
a) The patch adds the configuration setting "CFG_AT91C_BRGR_DIVISOR" which is only AT91RM9200 specific. Should I provide a patch for README or rather create a doc/README.at91rm9200?
b) Should we do some white space cleanings REDAME's "Directory Hierarchy" section?
Thanks.
--
Steven Scholz
imc Measurement & Control imc Meßsysteme GmbH
Voltastr. 5 Voltastr. 5
13355 Berlin 13355 Berlin
Germany Deutschland
Index: Makefile
===================================================================
RCS file: /cvsroot/u-boot/u-boot/Makefile,v
retrieving revision 1.84
diff -p -u -r1.84 Makefile
--- Makefile 12 Feb 2004 00:47:09 -0000 1.84
+++ Makefile 20 Feb 2004 13:21:08 -0000
@@ -891,9 +891,6 @@ ZUMA_config: unconfig
## StrongARM Systems
#########################################################################
-at91rm9200dk_config : unconfig
- @./mkconfig $(@:_config=) arm at91rm9200 at91rm9200dk
-
lart_config : unconfig
@./mkconfig $(@:_config=) arm sa1100 lart
@@ -958,6 +955,13 @@ impa7_config : unconfig
ep7312_config : unconfig
@./mkconfig $(@:_config=) arm arm720t ep7312
+
+#########################################################################
+## AT91RM9200 Systems
+#########################################################################
+
+at91rm9200dk_config : unconfig
+ @./mkconfig $(@:_config=) arm at91rm9200 at91rm9200dk
#########################################################################
## XScale Systems
Index: README
===================================================================
RCS file: /cvsroot/u-boot/u-boot/README,v
retrieving revision 1.72
diff -p -u -r1.72 README
--- README 8 Feb 2004 22:55:39 -0000 1.72
+++ README 20 Feb 2004 13:21:09 -0000
@@ -142,6 +142,7 @@ Directory Hierarchy:
- cpu/74xx_7xx Files specific to Motorola MPC74xx and 7xx CPUs
- cpu/arm925t Files specific to ARM 925 CPUs
- cpu/arm926ejs Files specific to ARM 926 CPUs
+- cpu/at91rm9200 Files specific to Atmel AT91RM9200 CPUs
- cpu/mpc5xx Files specific to Motorola MPC5xx CPUs
- cpu/mpc8xx Files specific to Motorola MPC8xx CPUs
- cpu/mpc824x Files specific to Motorola MPC824x CPUs
Index: cpu/at91rm9200/serial.c
===================================================================
RCS file: /cvsroot/u-boot/u-boot/cpu/at91rm9200/serial.c,v
retrieving revision 1.3
diff -p -u -r1.3 serial.c
--- cpu/at91rm9200/serial.c 25 Jun 2003 22:26:36 -0000 1.3
+++ cpu/at91rm9200/serial.c 20 Feb 2004 13:21:10 -0000
@@ -43,7 +43,7 @@ void serial_setbrg(void)
if ((baudrate = gd->bd->bi_baudrate) <= 0)
baudrate = CONFIG_BAUDRATE;
- us->US_BRGR = 33 /* AT91C_MASTER_CLOCK / baudrate / 16 */; /* hardcode so no __divsi3 */
+ us->US_BRGR = CFG_AT91C_BRGR_DIVISOR; /* hardcode so no __divsi3 */
}
int serial_init(void)
Index: include/asm-arm/arch-at91rm9200/hardware.h
===================================================================
RCS file: /cvsroot/u-boot/u-boot/include/asm-arm/arch-at91rm9200/hardware.h,v
retrieving revision 1.1
diff -p -u -r1.1 hardware.h
--- include/asm-arm/arch-at91rm9200/hardware.h 31 Mar 2003 16:35:03 -0000 1.1
+++ include/asm-arm/arch-at91rm9200/hardware.h 20 Feb 2004 13:21:11 -0000
@@ -28,11 +28,6 @@
#include "AT91RM9200_inc.h"
#endif
-/* AT91RM92000 clocks */
-#define AT91_MAIN_CLOCK 179712000 /* from 18.432 MHz crystal (18432000 / 4 * 39) */
-#define AT91_MASTER_CLOCK 59904000 /* peripheral clock (AT91C_MASTER_CLOCK / 3) */
-#define AT91_SLOW_CLOCK 32768 /* slow clock */
-
/* Virtual and Physical base address for system peripherals */
#define AT91_SYS_BASE 0xFFFFF000 /*4K */
Index: include/configs/at91rm9200dk.h
===================================================================
RCS file: /cvsroot/u-boot/u-boot/include/configs/at91rm9200dk.h,v
retrieving revision 1.5
diff -p -u -r1.5 at91rm9200dk.h
--- include/configs/at91rm9200dk.h 6 Dec 2003 23:55:11 -0000 1.5
+++ include/configs/at91rm9200dk.h 20 Feb 2004 13:21:11 -0000
@@ -36,6 +36,8 @@
#define AT91C_MASTER_CLOCK 59904000 /* peripheral clock (AT91C_MASTER_CLOCK / 3) */
/* #define AT91C_MASTER_CLOCK 44928000 */ /* peripheral clock (AT91C_MASTER_CLOCK / 4) */
+#define AT91_SLOW_CLOCK 32768 /* slow clock */
+
#define CONFIG_AT91RM9200DK 1 /* on an AT91RM9200DK Board */
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
#define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
@@ -49,6 +51,8 @@
#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */
#define CONFIG_BAUDRATE 115200
+
+#define CFG_AT91C_BRGR_DIVISOR 33 /* hardcode so no __divsi3 : AT91C_MASTER_CLOCK / baudrate / 16 */
/*
* Hardware drivers