diff --git a/board/freescale/m5329evb/nand.c b/board/freescale/m5329evb/nand.c index cf27dda2f..16025f91e 100644 --- a/board/freescale/m5329evb/nand.c +++ b/board/freescale/m5329evb/nand.c @@ -47,10 +47,12 @@ static void nand_hwcontrol(struct mtd_info *mtdinfo, int cmd, unsigned int ctrl) ulong IO_ADDR_W = (ulong) this->IO_ADDR_W; IO_ADDR_W &= ~(SET_ALE | SET_CLE); - *nCE &= 0xFFFB; if (ctrl & NAND_NCE) + *nCE &= 0xFFFB; + else *nCE |= 0x0004; + if (ctrl & NAND_CLE) IO_ADDR_W |= SET_CLE; if (ctrl & NAND_ALE) @@ -78,7 +80,7 @@ int board_nand_init(struct nand_chip *nand) gpio->pclrr_timer = 0; gpio->podr_timer = 0; - nand->chip_delay = 50; + nand->chip_delay = 60; nand->ecc.mode = NAND_ECC_SOFT; nand->cmd_ctrl = nand_hwcontrol; diff --git a/board/freescale/m5373evb/nand.c b/board/freescale/m5373evb/nand.c index 3ebef059e..df8c03b8a 100644 --- a/board/freescale/m5373evb/nand.c +++ b/board/freescale/m5373evb/nand.c @@ -47,10 +47,12 @@ static void nand_hwcontrol(struct mtd_info *mtdinfo, int cmd, unsigned int ctrl) ulong IO_ADDR_W = (ulong) this->IO_ADDR_W; IO_ADDR_W &= ~(SET_ALE | SET_CLE); - *nCE &= 0xFFFB; if (ctrl & NAND_NCE) + *nCE &= 0xFFFB; + else *nCE |= 0x0004; + if (ctrl & NAND_CLE) IO_ADDR_W |= SET_CLE; if (ctrl & NAND_ALE) @@ -82,7 +84,7 @@ int board_nand_init(struct nand_chip *nand) gpio->pclrr_timer = 0; gpio->podr_timer = 0; - nand->chip_delay = 50; + nand->chip_delay = 60; nand->ecc.mode = NAND_ECC_SOFT; nand->cmd_ctrl = nand_hwcontrol; diff --git a/cpu/mcf5227x/config.mk b/cpu/mcf5227x/config.mk index 8d60fd66b..8eab49dff 100644 --- a/cpu/mcf5227x/config.mk +++ b/cpu/mcf5227x/config.mk @@ -24,8 +24,8 @@ # PLATFORM_RELFLAGS += -ffixed-d7 -msep-data -ifeq ($(findstring 4.2,$(shell $(CC) --version)),4.2) -PLATFORM_CPPFLAGS += -mcpu=5208 -fPIC +ifneq ($(findstring 4.1,$(shell $(CC) --version)),4.1) +PLATFORM_CPPFLAGS += -mcpu=52277 -fPIC else PLATFORM_CPPFLAGS += -m5307 -fPIC endif diff --git a/cpu/mcf523x/config.mk b/cpu/mcf523x/config.mk index 93645a31e..fc7945451 100644 --- a/cpu/mcf523x/config.mk +++ b/cpu/mcf523x/config.mk @@ -24,7 +24,7 @@ # PLATFORM_RELFLAGS += -ffixed-d7 -msep-data -ifeq ($(findstring 4.2,$(shell $(CC) --version)),4.2) +ifneq ($(findstring 4.1,$(shell $(CC) --version)),4.1) PLATFORM_CPPFLAGS += -mcpu=5235 -fPIC else PLATFORM_CPPFLAGS += -m5307 -fPIC diff --git a/cpu/mcf52x2/config.mk b/cpu/mcf52x2/config.mk index 650e340ae..829273617 100644 --- a/cpu/mcf52x2/config.mk +++ b/cpu/mcf52x2/config.mk @@ -34,7 +34,7 @@ is5275:=$(shell grep CONFIG_M5275 $(TOPDIR)/include/$(cfg)) is5282:=$(shell grep CONFIG_M5282 $(TOPDIR)/include/$(cfg)) -ifeq ($(findstring 4.2,$(shell $(CC) --version)),4.2) +ifneq ($(findstring 4.1,$(shell $(CC) --version)),4.1) ifneq (,$(findstring CONFIG_M5249,$(is5249))) PLATFORM_CPPFLAGS += -mcpu=5249 diff --git a/cpu/mcf532x/config.mk b/cpu/mcf532x/config.mk index 16a0bc326..0cb90ac4e 100644 --- a/cpu/mcf532x/config.mk +++ b/cpu/mcf532x/config.mk @@ -24,7 +24,7 @@ # PLATFORM_RELFLAGS += -ffixed-d7 -msep-data -ifeq ($(findstring 4.2,$(shell $(CC) --version)),4.2) +ifneq ($(findstring 4.1,$(shell $(CC) --version)),4.1) PLATFORM_CPPFLAGS += -mcpu=5329 -fPIC else PLATFORM_CPPFLAGS += -m5307 -fPIC diff --git a/cpu/mcf5445x/config.mk b/cpu/mcf5445x/config.mk index 67efa07af..b0b49f7b2 100644 --- a/cpu/mcf5445x/config.mk +++ b/cpu/mcf5445x/config.mk @@ -24,7 +24,7 @@ # PLATFORM_RELFLAGS += -ffixed-d7 -msep-data -ifeq ($(findstring 4.2,$(shell $(CC) --version)),4.2) +ifneq ($(findstring 4.1,$(shell $(CC) --version)),4.1) PLATFORM_CPPFLAGS += -mcpu=54455 -fPIC else PLATFORM_CPPFLAGS += -m5407 -fPIC diff --git a/cpu/mcf5445x/start.S b/cpu/mcf5445x/start.S index d5a7f937f..26fb2ce0c 100644 --- a/cpu/mcf5445x/start.S +++ b/cpu/mcf5445x/start.S @@ -243,9 +243,9 @@ wait1000: nop #elif defined(CONFIG_M54451EVB) /* Issue LEMR */ - move.l #(CONFIG_SYS_SDRAM_MODE), (%a2) + move.l #(CONFIG_SYS_SDRAM_MODE), (%a1) nop - move.l #(CONFIG_SYS_SDRAM_EMOD), (%a2) + move.l #(CONFIG_SYS_SDRAM_EMOD), (%a1) nop #endif diff --git a/cpu/mcf547x_8x/config.mk b/cpu/mcf547x_8x/config.mk index 567b28192..83102abbb 100644 --- a/cpu/mcf547x_8x/config.mk +++ b/cpu/mcf547x_8x/config.mk @@ -24,7 +24,7 @@ # PLATFORM_RELFLAGS += -ffixed-d7 -msep-data -ifeq ($(findstring 4.2,$(shell $(CC) --version)),4.2) +ifneq ($(findstring 4.1,$(shell $(CC) --version)),4.1) PLATFORM_CPPFLAGS += -mcpu=5485 -fPIC else PLATFORM_CPPFLAGS += -m5407 -fPIC diff --git a/cpu/mcf547x_8x/cpu_init.c b/cpu/mcf547x_8x/cpu_init.c index 1ba57835e..96a3132b7 100644 --- a/cpu/mcf547x_8x/cpu_init.c +++ b/cpu/mcf547x_8x/cpu_init.c @@ -49,14 +49,14 @@ void cpu_init_f(void) volatile xlbarb_t *xlbarb = (volatile xlbarb_t *) MMAP_XARB; xlbarb->adrto = 0x2000; - xlbarb->datto = 0x2000; + xlbarb->datto = 0x2500; xlbarb->busto = 0x3000; - xlbarb->cfg = XARB_SR_AT | XARB_SR_DT; + xlbarb->cfg = XARB_CFG_AT | XARB_CFG_DT; /* Master Priority Enable */ - xlbarb->pri = 0; xlbarb->prien = 0xff; + xlbarb->pri = 0; #if (defined(CONFIG_SYS_CS0_BASE) && defined(CONFIG_SYS_CS0_MASK) && defined(CONFIG_SYS_CS0_CTRL)) fbcs->csar0 = CONFIG_SYS_CS0_BASE; diff --git a/include/asm-m68k/m5301x.h b/include/asm-m68k/m5301x.h index 52bbb87e2..80cefc40a 100644 --- a/include/asm-m68k/m5301x.h +++ b/include/asm-m68k/m5301x.h @@ -601,4 +601,8 @@ #define RTC_OCEN_OSCBYP (0x00000010) #define RTC_OCEN_CLKEN (0x00000008) +/* SDRAM */ +#define SDRAMC_SDCR_CKE (0x40000000) +#define SDRAMC_SDCR_REF (0x10000000) + #endif /* m5301x_h */ diff --git a/include/configs/M52277EVB.h b/include/configs/M52277EVB.h index 5d5966fc0..053a914eb 100644 --- a/include/configs/M52277EVB.h +++ b/include/configs/M52277EVB.h @@ -246,6 +246,7 @@ /* Initial Memory map for Linux */ #define CONFIG_SYS_BOOTMAPSZ (CONFIG_SYS_SDRAM_BASE + (CONFIG_SYS_SDRAM_SIZE << 20)) +#define CONFIG_SYS_BOOTM_LEN (CONFIG_SYS_SDRAM_SIZE << 20) /* * Configuration for environment diff --git a/include/configs/M5235EVB.h b/include/configs/M5235EVB.h index 8c66f879e..6b26c0bbc 100644 --- a/include/configs/M5235EVB.h +++ b/include/configs/M5235EVB.h @@ -197,6 +197,7 @@ */ /* Initial Memory map for Linux */ #define CONFIG_SYS_BOOTMAPSZ (CONFIG_SYS_SDRAM_BASE + (CONFIG_SYS_SDRAM_SIZE << 20)) +#define CONFIG_SYS_BOOTM_LEN (CONFIG_SYS_SDRAM_SIZE << 20) /*----------------------------------------------------------------------- * FLASH organization diff --git a/include/configs/M5253DEMO.h b/include/configs/M5253DEMO.h index 378e45a44..1fea6c36a 100644 --- a/include/configs/M5253DEMO.h +++ b/include/configs/M5253DEMO.h @@ -200,6 +200,7 @@ * the maximum mapped by the Linux kernel during initialization ?? */ #define CONFIG_SYS_BOOTMAPSZ (CONFIG_SYS_SDRAM_BASE + (CONFIG_SYS_SDRAM_SIZE << 20)) +#define CONFIG_SYS_BOOTM_LEN (CONFIG_SYS_SDRAM_SIZE << 20) /* FLASH organization */ #define CONFIG_SYS_FLASH_BASE (CONFIG_SYS_CS0_BASE) diff --git a/include/configs/M5253EVBE.h b/include/configs/M5253EVBE.h index 86de97d7d..cf8b773c2 100644 --- a/include/configs/M5253EVBE.h +++ b/include/configs/M5253EVBE.h @@ -164,6 +164,7 @@ * the maximum mapped by the Linux kernel during initialization ?? */ #define CONFIG_SYS_BOOTMAPSZ (CONFIG_SYS_SDRAM_BASE + (CONFIG_SYS_SDRAM_SIZE << 20)) +#define CONFIG_SYS_BOOTM_LEN (CONFIG_SYS_SDRAM_SIZE << 20) /* FLASH organization */ #define CONFIG_SYS_FLASH_BASE CONFIG_SYS_CS0_BASE diff --git a/include/configs/M5275EVB.h b/include/configs/M5275EVB.h index db48d7608..210bb2def 100644 --- a/include/configs/M5275EVB.h +++ b/include/configs/M5275EVB.h @@ -190,7 +190,8 @@ * have to be in the first 8 MB of memory, since this is * the maximum mapped by the Linux kernel during initialization ?? */ -#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial mmap for Linux */ +#define CONFIG_SYS_BOOTMAPSZ (CONFIG_SYS_SDRAM_BASE + (CONFIG_SYS_SDRAM_SIZE << 20)) +#define CONFIG_SYS_BOOTM_LEN (CONFIG_SYS_SDRAM_SIZE << 20) /*----------------------------------------------------------------------- * FLASH organization diff --git a/include/configs/M53017EVB.h b/include/configs/M53017EVB.h index df54c606b..07c85c4f5 100644 --- a/include/configs/M53017EVB.h +++ b/include/configs/M53017EVB.h @@ -196,6 +196,7 @@ * the maximum mapped by the Linux kernel during initialization ?? */ #define CONFIG_SYS_BOOTMAPSZ (CONFIG_SYS_SDRAM_BASE + (CONFIG_SYS_SDRAM_SIZE << 20)) +#define CONFIG_SYS_BOOTM_LEN (CONFIG_SYS_SDRAM_SIZE << 20) /*----------------------------------------------------------------------- * FLASH organization diff --git a/include/configs/M5329EVB.h b/include/configs/M5329EVB.h index 1f1586a21..a2d17c361 100644 --- a/include/configs/M5329EVB.h +++ b/include/configs/M5329EVB.h @@ -196,6 +196,7 @@ * the maximum mapped by the Linux kernel during initialization ?? */ #define CONFIG_SYS_BOOTMAPSZ (CONFIG_SYS_SDRAM_BASE + (CONFIG_SYS_SDRAM_SIZE << 20)) +#define CONFIG_SYS_BOOTM_LEN (CONFIG_SYS_SDRAM_SIZE << 20) /*----------------------------------------------------------------------- * FLASH organization diff --git a/include/configs/M5373EVB.h b/include/configs/M5373EVB.h index 19916876d..98d800f31 100644 --- a/include/configs/M5373EVB.h +++ b/include/configs/M5373EVB.h @@ -196,6 +196,7 @@ * the maximum mapped by the Linux kernel during initialization ?? */ #define CONFIG_SYS_BOOTMAPSZ (CONFIG_SYS_SDRAM_BASE + (CONFIG_SYS_SDRAM_SIZE << 20)) +#define CONFIG_SYS_BOOTM_LEN (CONFIG_SYS_SDRAM_SIZE << 20) /*----------------------------------------------------------------------- * FLASH organization