Merge branch 'master' of git://git.denx.de/u-boot-coldfire
authorWolfgang Denk <wd@denx.de>
Sun, 13 Jul 2008 12:44:04 +0000 (14:44 +0200)
committerWolfgang Denk <wd@denx.de>
Sun, 13 Jul 2008 12:44:04 +0000 (14:44 +0200)
18 files changed:
MAKEALL
board/BuS/EB+MCF-EV123/mii.c
board/cobra5272/mii.c
board/freescale/m5235evb/m5235evb.c
cpu/mcf5227x/cpu_init.c
cpu/mcf52x2/cpu_init.c
cpu/mcf52x2/speed.c
cpu/mcf5445x/config.mk
cpu/mcf5445x/cpu_init.c
cpu/mcf5445x/start.S
cpu/mcf547x_8x/config.mk
cpu/mcf547x_8x/start.S
drivers/serial/mcfuart.c
include/asm-m68k/timer.h
include/configs/EB+MCF-EV123.h
include/configs/M5475EVB.h
include/configs/M5485EVB.h
lib_m68k/board.c

diff --git a/MAKEALL b/MAKEALL
index 2ec2c22291a0433515a1bd879e353af8788b2eac..804dd8876e8c5c8b4010a03b6b537be5c114f0f2 100755 (executable)
--- a/MAKEALL
+++ b/MAKEALL
@@ -691,7 +691,7 @@ LIST_coldfire="                     \
        M52277EVB               \
        M5235EVB                \
        M5249EVB                \
-       M5253EVB                \
+       M5253EVBE               \
        M5271EVB                \
        M5272C3                 \
        M5275EVB                \
index 3ea20a6109ee18362de3359eedeacef317fb30a6..8ae2ec69ce39ee178446af2c3c6b0339cfc15a07 100644 (file)
@@ -201,7 +201,7 @@ int mii_discover_phy(struct eth_device *dev)
 }
 #endif                         /* CFG_DISCOVER_PHY */
 
-int mii_init(void) __attribute__((weak,alias("__mii_init")));
+void mii_init(void) __attribute__((weak,alias("__mii_init")));
 
 void __mii_init(void)
 {
index d0a4a39f99ffe48371ad352f68a902222e7bf8b4..b30ba803f9215c8b02e124edf0ab72b09e2a5ab0 100644 (file)
@@ -200,7 +200,7 @@ int mii_discover_phy(struct eth_device *dev)
 }
 #endif                         /* CFG_DISCOVER_PHY */
 
-int mii_init(void) __attribute__((weak,alias("__mii_init")));
+void mii_init(void) __attribute__((weak,alias("__mii_init")));
 
 void __mii_init(void)
 {
index c2c8fe859085c1373f58bc564a915590843962e8..bd8a4e5e68838c1ee43668d8fc38b9c206979bc3 100644 (file)
@@ -75,9 +75,11 @@ phys_size_t initdram(int board_type)
                sdram->dacr0 =
                    SDRAMC_DARCn_BA(CFG_SDRAM_BASE) | SDRAMC_DARCn_CASL_C1 |
                    SDRAMC_DARCn_CBM_CMD20 | SDRAMC_DARCn_PS_32;
+               asm("nop");
 
                /* Initialize DMR0 */
                sdram->dmr0 = ((dramsize - 1) & 0xFFFC0000) | SDRAMC_DMRn_V;
+               asm("nop");
 
                /* Set IP (bit 3) in DACR */
                sdram->dacr0 |= SDRAMC_DARCn_IP;
@@ -100,6 +102,7 @@ phys_size_t initdram(int board_type)
 
                /* Finish the configuration by issuing the MRS. */
                sdram->dacr0 |= SDRAMC_DARCn_IMRS;
+               asm("nop");
 
                /* Write to the SDRAM Mode Register */
                *(u32 *) (CFG_SDRAM_BASE + 0x400) = 0xA5A59696;
index 71b053d4d6e90af612f72437de498bd7c6a3749e..cf29559e7144b31e9df46b640c1d2775e8bd38e6 100644 (file)
@@ -106,7 +106,7 @@ void cpu_init_f(void)
  */
 int cpu_init_r(void)
 {
-#ifdef CONFIG_MCFTMR
+#ifdef CONFIG_MCFRTC
        volatile rtc_t *rtc = (volatile rtc_t *)(CFG_MCFRTC_BASE);
        volatile rtcex_t *rtcex = (volatile rtcex_t *)&rtc->extended;
        u32 oscillator = CFG_RTC_OSCILLATOR;
index 207a37e7d57c55bbb3888873dacb0eef1b507aed..344bceeda10f1d38bc8e979097508b9793aa09d9 100644 (file)
@@ -419,8 +419,7 @@ void cpu_init_f(void)
           else is doing it! */
 
 #if defined(CFG_CS0_BASE) & defined(CFG_CS0_SIZE) & \
-    defined(CFG_CS0_WIDTH) & defined(CFG_CS0_RO) & \
-       defined(CFG_CS0_WS)
+    defined(CFG_CS0_WIDTH) & defined(CFG_CS0_WS)
 
        MCFCSM_CSAR0 = (CFG_CS0_BASE >> 16) & 0xFFFF;
 
@@ -447,8 +446,7 @@ void cpu_init_f(void)
 #endif
 
 #if defined(CFG_CS1_BASE) & defined(CFG_CS1_SIZE) & \
-    defined(CFG_CS1_WIDTH) & defined(CFG_CS1_RO) & \
-       defined(CFG_CS1_WS)
+    defined(CFG_CS1_WIDTH) & defined(CFG_CS1_WS)
 
        MCFCSM_CSAR1 = (CFG_CS1_BASE >> 16) & 0xFFFF;
 
@@ -476,8 +474,7 @@ void cpu_init_f(void)
 #endif
 
 #if defined(CFG_CS2_BASE) & defined(CFG_CS2_SIZE) & \
-    defined(CFG_CS2_WIDTH) & defined(CFG_CS2_RO) & \
-       defined(CFG_CS2_WS)
+    defined(CFG_CS2_WIDTH) & defined(CFG_CS2_WS)
 
        MCFCSM_CSAR2 = (CFG_CS2_BASE >> 16) & 0xFFFF;
 
@@ -505,8 +502,7 @@ void cpu_init_f(void)
 #endif
 
 #if defined(CFG_CS3_BASE) & defined(CFG_CS3_SIZE) & \
-    defined(CFG_CS3_WIDTH) & defined(CFG_CS3_RO) & \
-       defined(CFG_CS3_WS)
+    defined(CFG_CS3_WIDTH) & defined(CFG_CS3_WS)
 
        MCFCSM_CSAR3 = (CFG_CS3_BASE >> 16) & 0xFFFF;
 
index 5fafcd8c5f90eaf7748d07efd5685fa686ba2dee..f6edd5b6fa81fa2bdaa6946bfc34567f91ecb1fc 100644 (file)
@@ -69,7 +69,7 @@ int get_clocks (void)
 
        /* Setup PLL */
        pll->syncr = 0x01080000;
-       while (!(pll->synsr & FMPLL_SYNSR_LOCK)
+       while (!(pll->synsr & FMPLL_SYNSR_LOCK))
                ;
        pll->syncr = 0x01000000;
        while (!(pll->synsr & FMPLL_SYNSR_LOCK))
index 88433f2f6d6e04494d46b662e528ea5a1547a049..67efa07af75b80641f2c7ae0024682853d0a20ac 100644 (file)
@@ -29,3 +29,9 @@ PLATFORM_CPPFLAGS += -mcpu=54455 -fPIC
 else
 PLATFORM_CPPFLAGS += -m5407 -fPIC
 endif
+
+ifneq (,$(findstring -linux-,$(shell $(CC) --version)))
+ifneq (,$(findstring GOT,$(shell $(LD) --help)))
+PLATFORM_LDFLAGS += --got=single
+endif
+endif
index 585216d6e6f6ed51132091f42df8970b17e101de..e07748bd802e5b7aa6d06c9d7a7b1013b6ef569d 100644 (file)
@@ -110,7 +110,7 @@ void cpu_init_f(void)
  */
 int cpu_init_r(void)
 {
-#ifdef CONFIG_MCFTMR
+#ifdef CONFIG_MCFRTC
        volatile rtc_t *rtc = (volatile rtc_t *)(CFG_MCFRTC_BASE);
        volatile rtcex_t *rtcex = (volatile rtcex_t *)&rtc->extended;
 
index 3241b278e1cabc9d5c5a537f9d5635e01242b5f3..89ec7bcc914599a3139526855f8d73d97f9c7d64 100644 (file)
@@ -253,7 +253,7 @@ clear_bss:
 /* exception code */
        .globl _fault
 _fault:
-       jmp _fault
+       bra _fault
        .globl  _exc_handler
 
 _exc_handler:
index e5f4385dd35f7ea23099a97f3f9bcd7d33b0140e..567b28192640bbf1b16823b36bb35b53a5363e52 100644 (file)
@@ -29,3 +29,9 @@ PLATFORM_CPPFLAGS += -mcpu=5485 -fPIC
 else
 PLATFORM_CPPFLAGS += -m5407 -fPIC
 endif
+
+ifneq (,$(findstring -linux-,$(shell $(CC) --version)))
+ifneq (,$(findstring GOT,$(shell $(LD) --help)))
+PLATFORM_LDFLAGS += --got=single
+endif
+endif
index 8b8708d030b34550ada6cd5cc79328bffda6d61d..87355f95813683eb75657a3f186a9b4263a37c04 100644 (file)
@@ -259,7 +259,7 @@ clear_bss:
 /* exception code */
        .globl _fault
 _fault:
-       jmp _fault
+       bra _fault
        .globl  _exc_handler
 
 _exc_handler:
index 88f3eb10abf8f3b4b67d5459b503cb3b6f8e7830..5eb4f458f815e0a966ea8c8b1bd892c7241bbc13 100644 (file)
@@ -63,8 +63,8 @@ int serial_init(void)
        uart->umr = UART_UMR_SB_STOP_BITS_1;
 
        /* Setting up BaudRate */
-       counter = (u32) (gd->bus_clk / (gd->baudrate));
-       counter >>= 5;
+       counter = (u32) ((gd->bus_clk / 32) + (gd->baudrate / 2));
+       counter = counter / gd->baudrate;
 
        /* write to CTUR: divide counter upper byte */
        uart->ubg1 = (u8) ((counter & 0xff00) >> 8);
index 030720c89f32f20e42132c65994c7712f33f57c3..1a5de0587148631013856336728a9385877a76c7 100644 (file)
@@ -33,7 +33,7 @@
 /****************************************************************************/
 /* DMA Timer module registers */
 typedef struct dtimer_ctrl {
-#if defined(CONFIG_M5249) || defined(CONFIG_M5253)
+#if defined(CONFIG_M5249) || defined(CONFIG_M5253) || defined(CONFIG_M5272)
        u16 tmr;                /* 0x00 Mode register */
        u16 res1;               /* 0x02 */
        u16 trr;                /* 0x04 Reference register */
index 417099e0377642203040caf910548a9c0af5ee3b..324eb6ce15bfef1e43858b73a1127be876dde6aa 100644 (file)
@@ -84,6 +84,8 @@
 #define CONFIG_CMD_MII
 #define CONFIG_CMD_NET
 
+#define CONFIG_MCFTMR
+
 #define CONFIG_MCFFEC
 #ifdef CONFIG_MCFFEC
 #      define CONFIG_NET_MULTI         1
index a19c3422708f46eea9015d73bd334f42158f480d..e8804b56609ce7fcfe28e62ebc447334314ae143 100644 (file)
 #define CFG_CS0_CTRL           0x00101980
 
 #ifdef CFG_NOR1SZ
-#define CFG_CS1_BASE           0xF8000000
+#define CFG_CS1_BASE           0xE0000000
 #define CFG_CS1_MASK           (((CFG_NOR1SZ << 20) - 1) & 0xFFFF0001)
-#define CFG_CS1_CTRL           0x00000D80
+#define CFG_CS1_CTRL           0x00101D80
 #endif
 
 #endif                         /* _M5475EVB_H */
index b73e2e006d12ea750b51578be0eaffb2f15db7da..0f957fff58423d0714597d54e7891c97fc807e1f 100644 (file)
 #define CFG_CS0_CTRL           0x00101980
 
 #ifdef CFG_NOR1SZ
-#define CFG_CS1_BASE           0xF8000000
+#define CFG_CS1_BASE           0xE0000000
 #define CFG_CS1_MASK           (((CFG_NOR1SZ << 20) - 1) & 0xFFFF0001)
-#define CFG_CS1_CTRL           0x00000D80
+#define CFG_CS1_CTRL           0x00101D80
 #endif
 
 #endif                         /* _M5485EVB_H */
index ae942e5e579cb0eeda317997f19ef718d69047a8..d27c89c645006cacaa4735bdd7c65b0dc57c49e3 100644 (file)
@@ -176,7 +176,7 @@ typedef int (init_fnc_t) (void);
 
 static int init_baudrate (void)
 {
-       uchar tmp[64];  /* long enough for environment variables */
+       char tmp[64];   /* long enough for environment variables */
        int i = getenv_r ("baudrate", tmp, sizeof (tmp));
 
        gd->baudrate = (i > 0)
@@ -267,7 +267,7 @@ board_init_f (ulong bootflag)
 #ifdef CONFIG_PRAM
        int i;
        ulong reg;
-       uchar tmp[64];          /* long enough for environment variables */
+       char tmp[64];           /* long enough for environment variables */
 #endif
 
        /* Pointer is writable since we allocated a register for it */
@@ -752,7 +752,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
         */
        {
                ulong pram;
-               uchar memsz[32];
+               char memsz[32];
 #ifdef CONFIG_PRAM
                char *s;