diff options
author | Wolfgang Denk <wd@denx.de> | 2008-10-18 21:59:44 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-10-18 21:59:44 +0200 |
commit | f82642e33899766892499b163e60560fbbf87773 (patch) | |
tree | ab90f076f18e56b2b3e8c9375b95917daa78c1d9 /lib_m68k | |
parent | b59b16ca24bc7e77ec113021a6d77b9b32fcf192 (diff) | |
parent | 360fe71e82b83e264c964c9447c537e9a1f643c8 (diff) | |
download | u-boot-imx-f82642e33899766892499b163e60560fbbf87773.zip u-boot-imx-f82642e33899766892499b163e60560fbbf87773.tar.gz u-boot-imx-f82642e33899766892499b163e60560fbbf87773.tar.bz2 |
Merge 'next' branch
Conflicts:
board/freescale/mpc8536ds/mpc8536ds.c
include/configs/mgcoge.h
Signed-off-by: Wolfgang Denk <wd@denx.de>
Diffstat (limited to 'lib_m68k')
-rw-r--r-- | lib_m68k/board.c | 66 | ||||
-rw-r--r-- | lib_m68k/bootm.c | 33 | ||||
-rw-r--r-- | lib_m68k/interrupts.c | 2 | ||||
-rw-r--r-- | lib_m68k/time.c | 36 |
4 files changed, 70 insertions, 67 deletions
diff --git a/lib_m68k/board.c b/lib_m68k/board.c index fa6ab6b..583ce10 100644 --- a/lib_m68k/board.c +++ b/lib_m68k/board.c @@ -49,7 +49,7 @@ #if defined(CONFIG_CMD_BEDBUG) #include <cmd_bedbug.h> #endif -#ifdef CFG_ALLOC_DPRAM +#ifdef CONFIG_SYS_ALLOC_DPRAM #include <commproc.h> #endif #include <version.h> @@ -75,12 +75,12 @@ extern flash_info_t flash_info[]; #include <environment.h> -#if ( ((CONFIG_ENV_ADDR+CONFIG_ENV_SIZE) < CFG_MONITOR_BASE) || \ - (CONFIG_ENV_ADDR >= (CFG_MONITOR_BASE + CFG_MONITOR_LEN)) ) || \ +#if ( ((CONFIG_ENV_ADDR+CONFIG_ENV_SIZE) < CONFIG_SYS_MONITOR_BASE) || \ + (CONFIG_ENV_ADDR >= (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)) ) || \ defined(CONFIG_ENV_IS_IN_NVRAM) -#define TOTAL_MALLOC_LEN (CFG_MALLOC_LEN + CONFIG_ENV_SIZE) +#define TOTAL_MALLOC_LEN (CONFIG_SYS_MALLOC_LEN + CONFIG_ENV_SIZE) #else -#define TOTAL_MALLOC_LEN CFG_MALLOC_LEN +#define TOTAL_MALLOC_LEN CONFIG_SYS_MALLOC_LEN #endif extern ulong __init_end; @@ -118,7 +118,7 @@ static ulong mem_malloc_brk = 0; */ static void mem_malloc_init (void) { - ulong dest_addr = CFG_MONITOR_BASE + gd->reloc_off; + ulong dest_addr = CONFIG_SYS_MONITOR_BASE + gd->reloc_off; mem_malloc_end = dest_addr; mem_malloc_start = dest_addr - TOTAL_MALLOC_LEN; @@ -195,7 +195,7 @@ static int init_func_ram (void) static int init_func_i2c (void) { puts ("I2C: "); - i2c_init (CFG_I2C_SPEED, CFG_I2C_SLAVE); + i2c_init (CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); puts ("ready\n"); return (0); } @@ -234,9 +234,9 @@ init_fnc_t *init_sequence[] = { init_func_spi, #endif init_func_ram, -#if defined(CFG_DRAM_TEST) +#if defined(CONFIG_SYS_DRAM_TEST) testdram, -#endif /* CFG_DRAM_TEST */ +#endif /* CONFIG_SYS_DRAM_TEST */ INIT_FUNC_WATCHDOG_INIT NULL, /* Terminate this list */ }; @@ -273,7 +273,7 @@ board_init_f (ulong bootflag) #endif /* Pointer is writable since we allocated a register for it */ - gd = (gd_t *) (CFG_INIT_RAM_ADDR + CFG_GBL_DATA_OFFSET); + gd = (gd_t *) (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_GBL_DATA_OFFSET); /* compiler optimization barrier needed for GCC >= 3.4 */ __asm__ __volatile__("": : :"memory"); @@ -296,9 +296,9 @@ board_init_f (ulong bootflag) * - monitor code * - board info struct */ - len = (ulong)&_end - CFG_MONITOR_BASE; + len = (ulong)&_end - CONFIG_SYS_MONITOR_BASE; - addr = CFG_SDRAM_BASE + gd->ram_size; + addr = CONFIG_SYS_SDRAM_BASE + gd->ram_size; #ifdef CONFIG_LOGBUFFER /* reserve kernel log buffer */ @@ -357,10 +357,10 @@ board_init_f (ulong bootflag) sizeof (gd_t), addr_sp); /* Reserve memory for boot params. */ - addr_sp -= CFG_BOOTPARAMS_LEN; + addr_sp -= CONFIG_SYS_BOOTPARAMS_LEN; bd->bi_boot_params = addr_sp; debug ("Reserving %dk for boot parameters at: %08lx\n", - CFG_BOOTPARAMS_LEN >> 10, addr_sp); + CONFIG_SYS_BOOTPARAMS_LEN >> 10, addr_sp); /* * Finally, we set up a new (bigger) stack. @@ -381,13 +381,13 @@ board_init_f (ulong bootflag) /* * Save local variables to board info struct */ - bd->bi_memstart = CFG_SDRAM_BASE; /* start of DRAM memory */ + bd->bi_memstart = CONFIG_SYS_SDRAM_BASE; /* start of DRAM memory */ bd->bi_memsize = gd->ram_size; /* size of DRAM memory in bytes */ -#ifdef CFG_INIT_RAM_ADDR - bd->bi_sramstart = CFG_INIT_RAM_ADDR; /* start of SRAM memory */ - bd->bi_sramsize = CFG_INIT_RAM_END; /* size of SRAM memory */ +#ifdef CONFIG_SYS_INIT_RAM_ADDR + bd->bi_sramstart = CONFIG_SYS_INIT_RAM_ADDR; /* start of SRAM memory */ + bd->bi_sramsize = CONFIG_SYS_INIT_RAM_END; /* size of SRAM memory */ #endif - bd->bi_mbar_base = CFG_MBAR; /* base of internal registers */ + bd->bi_mbar_base = CONFIG_SYS_MBAR; /* base of internal registers */ bd->bi_bootflags = bootflag; /* boot / reboot flag (for LynxOS) */ @@ -404,7 +404,7 @@ board_init_f (ulong bootflag) #endif bd->bi_baudrate = gd->baudrate; /* Console Baudrate */ -#ifdef CFG_EXTBDINFO +#ifdef CONFIG_SYS_EXTBDINFO strncpy (bd->bi_s_version, "1.2", sizeof (bd->bi_s_version)); strncpy (bd->bi_r_version, U_BOOT_VERSION, sizeof (bd->bi_r_version)); #endif @@ -420,7 +420,7 @@ board_init_f (ulong bootflag) memcpy (id, (void *)gd, sizeof (gd_t)); - debug ("Start relocate of code from %08x to %08lx\n", CFG_MONITOR_BASE, addr); + debug ("Start relocate of code from %08x to %08lx\n", CONFIG_SYS_MONITOR_BASE, addr); relocate_code (addr_sp, id, addr); /* NOTREACHED - jump_to_ram() does not return */ @@ -446,7 +446,7 @@ void board_init_r (gd_t *id, ulong dest_addr) #ifndef CONFIG_ENV_IS_NOWHERE extern char * env_name_spec; #endif -#ifndef CFG_NO_FLASH +#ifndef CONFIG_SYS_NO_FLASH ulong flash_size; #endif gd = id; /* initialize RAM version of global data */ @@ -462,7 +462,7 @@ void board_init_r (gd_t *id, ulong dest_addr) WATCHDOG_RESET (); - gd->reloc_off = dest_addr - CFG_MONITOR_BASE; + gd->reloc_off = dest_addr - CONFIG_SYS_MONITOR_BASE; monitor_flash_len = (ulong)&__init_end - dest_addr; @@ -486,7 +486,7 @@ void board_init_r (gd_t *id, ulong dest_addr) addr = (ulong)(cmdtp->usage) + gd->reloc_off; cmdtp->usage = (char *)addr; } -#ifdef CFG_LONGHELP +#ifdef CONFIG_SYS_LONGHELP if (cmdtp->help) { addr = (ulong)(cmdtp->help) + gd->reloc_off; cmdtp->help = (char *)addr; @@ -517,13 +517,13 @@ void board_init_r (gd_t *id, ulong dest_addr) /* * Setup trap handlers */ - trap_init (CFG_SDRAM_BASE); + trap_init (CONFIG_SYS_SDRAM_BASE); -#if !defined(CFG_NO_FLASH) +#if !defined(CONFIG_SYS_NO_FLASH) puts ("FLASH: "); if ((flash_size = flash_init ()) > 0) { -# ifdef CFG_FLASH_CHECKSUM +# ifdef CONFIG_SYS_FLASH_CHECKSUM print_size (flash_size, ""); /* * Compute and print flash CRC if flashchecksum is set to 'y' @@ -534,27 +534,27 @@ void board_init_r (gd_t *id, ulong dest_addr) if (s && (*s == 'y')) { printf (" CRC: %08lX", crc32 (0, - (const unsigned char *) CFG_FLASH_BASE, + (const unsigned char *) CONFIG_SYS_FLASH_BASE, flash_size) ); } putc ('\n'); -# else /* !CFG_FLASH_CHECKSUM */ +# else /* !CONFIG_SYS_FLASH_CHECKSUM */ print_size (flash_size, "\n"); -# endif /* CFG_FLASH_CHECKSUM */ +# endif /* CONFIG_SYS_FLASH_CHECKSUM */ } else { puts (failed); hang (); } - bd->bi_flashstart = CFG_FLASH_BASE; /* update start of FLASH memory */ + bd->bi_flashstart = CONFIG_SYS_FLASH_BASE; /* update start of FLASH memory */ bd->bi_flashsize = flash_size; /* size of FLASH memory (final value) */ bd->bi_flashoffset = 0; -#else /* CFG_NO_FLASH */ +#else /* CONFIG_SYS_NO_FLASH */ bd->bi_flashsize = 0; bd->bi_flashstart = 0; bd->bi_flashoffset = 0; -#endif /* !CFG_NO_FLASH */ +#endif /* !CONFIG_SYS_NO_FLASH */ WATCHDOG_RESET (); diff --git a/lib_m68k/bootm.c b/lib_m68k/bootm.c index 6504cc9..c52dd2f 100644 --- a/lib_m68k/bootm.c +++ b/lib_m68k/bootm.c @@ -43,28 +43,16 @@ DECLARE_GLOBAL_DATA_PTR; static ulong get_sp (void); static void set_clocks_in_mhz (bd_t *kbd); -int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images) +void arch_lmb_reserve(struct lmb *lmb) { ulong sp; - ulong rd_len; - ulong initrd_start, initrd_end; - int ret; - - ulong cmd_start, cmd_end; - ulong bootmap_base; - bd_t *kbd; - void (*kernel) (bd_t *, ulong, ulong, ulong, ulong); - struct lmb *lmb = &images->lmb; - - bootmap_base = getenv_bootm_low(); - /* * Booting a (Linux) kernel image * * Allocate space for command line and board info - the * address should be as high as possible within the reach of - * the kernel (see CFG_BOOTMAPSZ settings), but in unused + * the kernel (see CONFIG_SYS_BOOTMAPSZ settings), but in unused * memory, which means far enough below the current stack * pointer. */ @@ -73,7 +61,22 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images) /* adjust sp by 1K to be safe */ sp -= 1024; - lmb_reserve(lmb, sp, (CFG_SDRAM_BASE + gd->ram_size - sp)); + lmb_reserve(lmb, sp, (CONFIG_SYS_SDRAM_BASE + gd->ram_size - sp)); +} + +int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images) +{ + ulong rd_len; + ulong initrd_start, initrd_end; + int ret; + + ulong cmd_start, cmd_end; + ulong bootmap_base; + bd_t *kbd; + void (*kernel) (bd_t *, ulong, ulong, ulong, ulong); + struct lmb *lmb = &images->lmb; + + bootmap_base = getenv_bootm_low(); /* allocate space and init command line */ ret = boot_get_cmdline (lmb, &cmd_start, &cmd_end, bootmap_base); diff --git a/lib_m68k/interrupts.c b/lib_m68k/interrupts.c index 1635d6f..2dc079b 100644 --- a/lib_m68k/interrupts.c +++ b/lib_m68k/interrupts.c @@ -29,7 +29,7 @@ #include <asm/processor.h> #include <asm/immap.h> -#define NR_IRQS (CFG_NUM_IRQS) +#define NR_IRQS (CONFIG_SYS_NUM_IRQS) /* * Interrupt vector functions. diff --git a/lib_m68k/time.c b/lib_m68k/time.c index 6eba784..697d67e 100644 --- a/lib_m68k/time.c +++ b/lib_m68k/time.c @@ -33,18 +33,18 @@ DECLARE_GLOBAL_DATA_PTR; static ulong timestamp; #if defined(CONFIG_MCFTMR) -#ifndef CFG_UDELAY_BASE +#ifndef CONFIG_SYS_UDELAY_BASE # error "uDelay base not defined!" #endif -#if !defined(CFG_TMR_BASE) || !defined(CFG_INTR_BASE) || !defined(CFG_TMRINTR_NO) || !defined(CFG_TMRINTR_MASK) +#if !defined(CONFIG_SYS_TMR_BASE) || !defined(CONFIG_SYS_INTR_BASE) || !defined(CONFIG_SYS_TMRINTR_NO) || !defined(CONFIG_SYS_TMRINTR_MASK) # error "TMR_BASE, INTR_BASE, TMRINTR_NO or TMRINTR_MASk not defined!" #endif extern void dtimer_intr_setup(void); void udelay(unsigned long usec) { - volatile dtmr_t *timerp = (dtmr_t *) (CFG_UDELAY_BASE); + volatile dtmr_t *timerp = (dtmr_t *) (CONFIG_SYS_UDELAY_BASE); uint start, now, tmp; while (usec > 0) { @@ -59,7 +59,7 @@ void udelay(unsigned long usec) timerp->tcn = 0; /* set period to 1 us */ timerp->tmr = - CFG_TIMER_PRESCALER | DTIM_DTMR_CLK_DIV1 | DTIM_DTMR_FRR | + CONFIG_SYS_TIMER_PRESCALER | DTIM_DTMR_CLK_DIV1 | DTIM_DTMR_FRR | DTIM_DTMR_RST_EN; start = now = timerp->tcn; @@ -70,10 +70,10 @@ void udelay(unsigned long usec) void dtimer_interrupt(void *not_used) { - volatile dtmr_t *timerp = (dtmr_t *) (CFG_TMR_BASE); + volatile dtmr_t *timerp = (dtmr_t *) (CONFIG_SYS_TMR_BASE); /* check for timer interrupt asserted */ - if ((CFG_TMRPND_REG & CFG_TMRINTR_MASK) == CFG_TMRINTR_PEND) { + if ((CONFIG_SYS_TMRPND_REG & CONFIG_SYS_TMRINTR_MASK) == CONFIG_SYS_TMRINTR_PEND) { timerp->ter = (DTIM_DTER_CAP | DTIM_DTER_REF); timestamp++; return; @@ -82,7 +82,7 @@ void dtimer_interrupt(void *not_used) void timer_init(void) { - volatile dtmr_t *timerp = (dtmr_t *) (CFG_TMR_BASE); + volatile dtmr_t *timerp = (dtmr_t *) (CONFIG_SYS_TMR_BASE); timestamp = 0; @@ -93,7 +93,7 @@ void timer_init(void) timerp->tmr = DTIM_DTMR_RST_RST; /* initialize and enable timer interrupt */ - irq_install_handler(CFG_TMRINTR_NO, dtimer_interrupt, 0); + irq_install_handler(CONFIG_SYS_TMRINTR_NO, dtimer_interrupt, 0); timerp->tcn = 0; timerp->trr = 1000; /* Interrupt every ms */ @@ -101,7 +101,7 @@ void timer_init(void) dtimer_intr_setup(); /* set a period of 1us, set timer mode to restart and enable timer and interrupt */ - timerp->tmr = CFG_TIMER_PRESCALER | DTIM_DTMR_CLK_DIV1 | + timerp->tmr = CONFIG_SYS_TIMER_PRESCALER | DTIM_DTMR_CLK_DIV1 | DTIM_DTMR_FRR | DTIM_DTMR_ORRI | DTIM_DTMR_RST_EN; } @@ -122,15 +122,15 @@ void set_timer(ulong t) #endif /* CONFIG_MCFTMR */ #if defined(CONFIG_MCFPIT) -#if !defined(CFG_PIT_BASE) -# error "CFG_PIT_BASE not defined!" +#if !defined(CONFIG_SYS_PIT_BASE) +# error "CONFIG_SYS_PIT_BASE not defined!" #endif static unsigned short lastinc; void udelay(unsigned long usec) { - volatile pit_t *timerp = (pit_t *) (CFG_UDELAY_BASE); + volatile pit_t *timerp = (pit_t *) (CONFIG_SYS_UDELAY_BASE); uint tmp; while (usec > 0) { @@ -144,7 +144,7 @@ void udelay(unsigned long usec) timerp->pcsr = PIT_PCSR_OVW; timerp->pmr = 0; /* set period to 1 us */ - timerp->pcsr |= PIT_PCSR_PRE(CFG_PIT_PRESCALE) | PIT_PCSR_EN; + timerp->pcsr |= PIT_PCSR_PRE(CONFIG_SYS_PIT_PRESCALE) | PIT_PCSR_EN; timerp->pmr = tmp; while (timerp->pcntr > 0) ; @@ -153,18 +153,18 @@ void udelay(unsigned long usec) void timer_init(void) { - volatile pit_t *timerp = (pit_t *) (CFG_PIT_BASE); + volatile pit_t *timerp = (pit_t *) (CONFIG_SYS_PIT_BASE); timestamp = 0; /* Set up TIMER 4 as poll clock */ timerp->pcsr = PIT_PCSR_OVW; timerp->pmr = lastinc = 0; - timerp->pcsr |= PIT_PCSR_PRE(CFG_PIT_PRESCALE) | PIT_PCSR_EN; + timerp->pcsr |= PIT_PCSR_PRE(CONFIG_SYS_PIT_PRESCALE) | PIT_PCSR_EN; } void set_timer(ulong t) { - volatile pit_t *timerp = (pit_t *) (CFG_PIT_BASE); + volatile pit_t *timerp = (pit_t *) (CONFIG_SYS_PIT_BASE); timestamp = 0; timerp->pmr = lastinc = 0; @@ -173,7 +173,7 @@ void set_timer(ulong t) ulong get_timer(ulong base) { unsigned short now, diff; - volatile pit_t *timerp = (pit_t *) (CFG_PIT_BASE); + volatile pit_t *timerp = (pit_t *) (CONFIG_SYS_PIT_BASE); now = timerp->pcntr; diff = -(now - lastinc); @@ -211,6 +211,6 @@ unsigned long usec2ticks(unsigned long usec) ulong get_tbclk(void) { ulong tbclk; - tbclk = CFG_HZ; + tbclk = CONFIG_SYS_HZ; return tbclk; } |