mirror of
https://github.com/Stichting-MINIX-Research-Foundation/u-boot.git
synced 2025-09-08 03:23:32 -04:00
* Patch by Imre Deak, 26 May 2004:
On OMAP1610 platforms check if booting from RAM(CS0) or flash(CS3). Set flash base accordingly, and decide whether to do or skip board specific setup steps. * Patch by Josef Baumgartner, 26 May 2004: Add missing define in include/asm-m68k/global_data.h
This commit is contained in:
parent
70f05ac34e
commit
3ff02c27d5
@ -2,6 +2,14 @@
|
|||||||
Changes since U-Boot 1.1.1:
|
Changes since U-Boot 1.1.1:
|
||||||
======================================================================
|
======================================================================
|
||||||
|
|
||||||
|
* Patch by Imre Deak, 26 May 2004:
|
||||||
|
On OMAP1610 platforms check if booting from RAM(CS0) or flash(CS3).
|
||||||
|
Set flash base accordingly, and decide whether to do or skip board
|
||||||
|
specific setup steps.
|
||||||
|
|
||||||
|
* Patch by Josef Baumgartner, 26 May 2004:
|
||||||
|
Add missing define in include/asm-m68k/global_data.h
|
||||||
|
|
||||||
* Patch by Josef Baumgartner, 25 May 2004:
|
* Patch by Josef Baumgartner, 25 May 2004:
|
||||||
Add missing functions get_ticks() and get_tbclk() in lib_m68k/time.c
|
Add missing functions get_ticks() and get_tbclk() in lib_m68k/time.c
|
||||||
|
|
||||||
|
9
Makefile
9
Makefile
@ -1020,7 +1020,7 @@ shannon_config : unconfig
|
|||||||
|
|
||||||
xtract_trab = $(subst _bigram,,$(subst _bigflash,,$(subst _old,,$(subst _config,,$1))))
|
xtract_trab = $(subst _bigram,,$(subst _bigflash,,$(subst _old,,$(subst _config,,$1))))
|
||||||
|
|
||||||
xtract_omap1610xxx = $(subst _cs0boot,,$(subst _cs3boot,, $(subst _config,,$1)))
|
xtract_omap1610xxx = $(subst _cs0boot,,$(subst _cs3boot,,$(subst _cs_autoboot,,$(subst _config,,$1))))
|
||||||
|
|
||||||
xtract_omap730p2 = $(subst _cs0boot,,$(subst _cs3boot,, $(subst _config,,$1)))
|
xtract_omap730p2 = $(subst _cs0boot,,$(subst _cs3boot,, $(subst _config,,$1)))
|
||||||
|
|
||||||
@ -1045,12 +1045,17 @@ omap5912osk_config : unconfig
|
|||||||
omap1610inn_config \
|
omap1610inn_config \
|
||||||
omap1610inn_cs0boot_config \
|
omap1610inn_cs0boot_config \
|
||||||
omap1610inn_cs3boot_config \
|
omap1610inn_cs3boot_config \
|
||||||
|
omap1610inn_cs_autoboot_config \
|
||||||
omap1610h2_config \
|
omap1610h2_config \
|
||||||
omap1610h2_cs0boot_config \
|
omap1610h2_cs0boot_config \
|
||||||
omap1610h2_cs3boot_config : unconfig
|
omap1610h2_cs3boot_config \
|
||||||
|
omap1610h2_cs_autoboot_config: unconfig
|
||||||
@if [ "$(findstring _cs0boot_, $@)" ] ; then \
|
@if [ "$(findstring _cs0boot_, $@)" ] ; then \
|
||||||
echo "#define CONFIG_CS0_BOOT" >> ./include/config.h ; \
|
echo "#define CONFIG_CS0_BOOT" >> ./include/config.h ; \
|
||||||
echo "... configured for CS0 boot"; \
|
echo "... configured for CS0 boot"; \
|
||||||
|
elif [ "$(findstring _cs_autoboot_, $@)" ] ; then \
|
||||||
|
echo "#define CONFIG_CS_AUTOBOOT" >> ./include/config.h ; \
|
||||||
|
echo "... configured for CS_AUTO boot"; \
|
||||||
else \
|
else \
|
||||||
echo "#define CONFIG_CS3_BOOT" >> ./include/config.h ; \
|
echo "#define CONFIG_CS3_BOOT" >> ./include/config.h ; \
|
||||||
echo "... configured for CS3 boot"; \
|
echo "... configured for CS3 boot"; \
|
||||||
|
@ -89,11 +89,12 @@ unsigned long flash_init (void)
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
ulong size = 0;
|
ulong size = 0;
|
||||||
|
|
||||||
for (i = 0; i < CFG_MAX_FLASH_BANKS; i++) {
|
for (i = 0; i < CFG_MAX_FLASH_BANKS; i++) {
|
||||||
switch (i) {
|
switch (i) {
|
||||||
case 0:
|
case 0:
|
||||||
flash_get_size ((FPW *) PHYS_FLASH_1, &flash_info[i]);
|
flash_get_size ((FPW *) CFG_FLASH_BASE, &flash_info[i]);
|
||||||
flash_get_offsets (PHYS_FLASH_1, &flash_info[i]);
|
flash_get_offsets (CFG_FLASH_BASE, &flash_info[i]);
|
||||||
/* to reset the lock bit */
|
/* to reset the lock bit */
|
||||||
flash_unlock(&flash_info[i]);
|
flash_unlock(&flash_info[i]);
|
||||||
break;
|
break;
|
||||||
|
@ -36,6 +36,10 @@
|
|||||||
#include <./configs/omap1510.h>
|
#include <./configs/omap1510.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_CS_AUTOBOOT
|
||||||
|
unsigned long omap_flash_base;
|
||||||
|
#endif
|
||||||
|
|
||||||
void flash__init (void);
|
void flash__init (void);
|
||||||
void ether__init (void);
|
void ether__init (void);
|
||||||
void set_muxconf_regs (void);
|
void set_muxconf_regs (void);
|
||||||
@ -95,6 +99,12 @@ void flash__init (void)
|
|||||||
{
|
{
|
||||||
#define EMIFS_GlB_Config_REG 0xfffecc0c
|
#define EMIFS_GlB_Config_REG 0xfffecc0c
|
||||||
unsigned int regval;
|
unsigned int regval;
|
||||||
|
|
||||||
|
#ifdef CONFIG_CS_AUTOBOOT
|
||||||
|
/* Check swapping of CS0 and CS3, set flash base accordingly */
|
||||||
|
omap_flash_base = ((*((u32 *)OMAP_EMIFS_CONFIG_REG) & 0x02) == 0) ?
|
||||||
|
PHYS_FLASH_1_BM0 : PHYS_FLASH_1_BM1;
|
||||||
|
#endif
|
||||||
regval = *((volatile unsigned int *) EMIFS_GlB_Config_REG);
|
regval = *((volatile unsigned int *) EMIFS_GlB_Config_REG);
|
||||||
/* Turn off write protection for flash devices. */
|
/* Turn off write protection for flash devices. */
|
||||||
regval = regval | 0x0001;
|
regval = regval | 0x0001;
|
||||||
|
@ -71,6 +71,12 @@ platformsetup:
|
|||||||
ldr r1, VAL_ARM_IDLECT3
|
ldr r1, VAL_ARM_IDLECT3
|
||||||
str r1, [r0]
|
str r1, [r0]
|
||||||
|
|
||||||
|
#ifdef CONFIG_CS_AUTOBOOT /* do the setup depending on boot mode */
|
||||||
|
ldr r0, CONF_STATUS
|
||||||
|
ldr r1, [r0]
|
||||||
|
tst r1, #0x02
|
||||||
|
beq disable_wd /* booting from RAM, skip setup */
|
||||||
|
#endif
|
||||||
|
|
||||||
mov r1, #0x01 /* PER_EN bit */
|
mov r1, #0x01 /* PER_EN bit */
|
||||||
ldr r0, REG_ARM_RSTCT2
|
ldr r0, REG_ARM_RSTCT2
|
||||||
@ -118,6 +124,7 @@ lock_end:
|
|||||||
/*------------------------------------------------------*
|
/*------------------------------------------------------*
|
||||||
* Turn off the watchdog during init... *
|
* Turn off the watchdog during init... *
|
||||||
*------------------------------------------------------*/
|
*------------------------------------------------------*/
|
||||||
|
disable_wd:
|
||||||
ldr r0, REG_WATCHDOG
|
ldr r0, REG_WATCHDOG
|
||||||
ldr r1, WATCHDOG_VAL1
|
ldr r1, WATCHDOG_VAL1
|
||||||
str r1, [r0]
|
str r1, [r0]
|
||||||
@ -281,6 +288,10 @@ common_tc:
|
|||||||
/* the literal pools origin */
|
/* the literal pools origin */
|
||||||
.ltorg
|
.ltorg
|
||||||
|
|
||||||
|
#ifdef CONFIG_CS_AUTOBOOT
|
||||||
|
CONF_STATUS:
|
||||||
|
.word 0xfffe1130 /* 32 bits */
|
||||||
|
#endif
|
||||||
|
|
||||||
REG_TC_EMIFS_CONFIG: /* 32 bits */
|
REG_TC_EMIFS_CONFIG: /* 32 bits */
|
||||||
.word 0xfffecc0c
|
.word 0xfffecc0c
|
||||||
|
@ -56,6 +56,7 @@ typedef struct global_data {
|
|||||||
*/
|
*/
|
||||||
#define GD_FLG_RELOC 0x00001 /* Code was relocated to RAM */
|
#define GD_FLG_RELOC 0x00001 /* Code was relocated to RAM */
|
||||||
#define GD_FLG_DEVINIT 0x00002 /* Devices have been initialized */
|
#define GD_FLG_DEVINIT 0x00002 /* Devices have been initialized */
|
||||||
|
#define GD_FLG_SILENT 0x00004 /* Silent mode */
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
extern gd_t *global_data;
|
extern gd_t *global_data;
|
||||||
|
@ -142,18 +142,29 @@
|
|||||||
/*-----------------------------------------------------------------------
|
/*-----------------------------------------------------------------------
|
||||||
* Physical Memory Map
|
* Physical Memory Map
|
||||||
*/
|
*/
|
||||||
#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */
|
#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */
|
||||||
#define PHYS_SDRAM_1 0x10000000 /* SDRAM Bank #1 */
|
#define PHYS_SDRAM_1 0x10000000 /* SDRAM Bank #1 */
|
||||||
#define PHYS_SDRAM_1_SIZE 0x02000000 /* 32 MB */
|
#define PHYS_SDRAM_1_SIZE 0x02000000 /* 32 MB */
|
||||||
|
|
||||||
#ifdef CONFIG_CS0_BOOT
|
#define PHYS_FLASH_1_BM1 0x00000000 /* Flash Bank #1 if booting from flash */
|
||||||
#define PHYS_FLASH_1 0x0C000000
|
#define PHYS_FLASH_1_BM0 0x0C000000 /* Flash Bank #1 if booting from RAM */
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_CS3_BOOT
|
|
||||||
#define PHYS_FLASH_1 0x00000000
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define CFG_FLASH_BASE PHYS_FLASH_1
|
#ifdef CONFIG_CS_AUTOBOOT /* Determine CS assignment in runtime */
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
|
extern unsigned long omap_flash_base; /* set in flash__init */
|
||||||
|
#endif
|
||||||
|
#define CFG_FLASH_BASE omap_flash_base
|
||||||
|
|
||||||
|
#elif defined(CONFIG_CS0_BOOT)
|
||||||
|
|
||||||
|
#define CFG_FLASH_BASE PHYS_FLASH_1_BM0
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#define CFG_FLASH_BASE PHYS_FLASH_1_BM1
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/*-----------------------------------------------------------------------
|
/*-----------------------------------------------------------------------
|
||||||
* FLASH and environment organization
|
* FLASH and environment organization
|
||||||
|
@ -147,18 +147,29 @@
|
|||||||
/*-----------------------------------------------------------------------
|
/*-----------------------------------------------------------------------
|
||||||
* Physical Memory Map
|
* Physical Memory Map
|
||||||
*/
|
*/
|
||||||
#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */
|
#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */
|
||||||
#define PHYS_SDRAM_1 0x10000000 /* SDRAM Bank #1 */
|
#define PHYS_SDRAM_1 0x10000000 /* SDRAM Bank #1 */
|
||||||
#define PHYS_SDRAM_1_SIZE 0x02000000 /* 32 MB */
|
#define PHYS_SDRAM_1_SIZE 0x02000000 /* 32 MB */
|
||||||
|
|
||||||
#ifdef CONFIG_CS0_BOOT
|
#define PHYS_FLASH_1_BM1 0x00000000 /* Flash Bank #1 if booting from flash */
|
||||||
#define PHYS_FLASH_1 0x0C000000
|
#define PHYS_FLASH_1_BM0 0x0C000000 /* Flash Bank #1 if booting from RAM */
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_CS3_BOOT
|
|
||||||
#define PHYS_FLASH_1 0x00000000
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define CFG_FLASH_BASE PHYS_FLASH_1
|
#ifdef CONFIG_CS_AUTOBOOT /* Determine CS assignment in runtime */
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
|
extern unsigned long omap_flash_base; /* set in flash__init */
|
||||||
|
#endif
|
||||||
|
#define CFG_FLASH_BASE omap_flash_base
|
||||||
|
|
||||||
|
#elif defined(CONFIG_CS0_BOOT)
|
||||||
|
|
||||||
|
#define CFG_FLASH_BASE PHYS_FLASH_1_BM0
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#define CFG_FLASH_BASE PHYS_FLASH_1_BM1
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/*-----------------------------------------------------------------------
|
/*-----------------------------------------------------------------------
|
||||||
* FLASH and environment organization
|
* FLASH and environment organization
|
||||||
|
Loading…
x
Reference in New Issue
Block a user