diff options
Diffstat (limited to 'c/src/lib/libbsp/powerpc/mbx8xx/startup')
4 files changed, 47 insertions, 13 deletions
diff --git a/c/src/lib/libbsp/powerpc/mbx8xx/startup/bspstart.c b/c/src/lib/libbsp/powerpc/mbx8xx/startup/bspstart.c index e6e94a44cf..fbce715f0b 100644 --- a/c/src/lib/libbsp/powerpc/mbx8xx/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/mbx8xx/startup/bspstart.c @@ -196,6 +196,7 @@ void bsp_start(void) Cpu_table.pretasking_hook = bsp_pretasking_hook; /* init libc, etc. */ Cpu_table.postdriver_hook = bsp_postdriver_hook; + if( Cpu_table.interrupt_stack_size < 4 * 1024 ) Cpu_table.interrupt_stack_size = 4 * 1024; diff --git a/c/src/lib/libbsp/powerpc/mbx8xx/startup/imbx8xx.c b/c/src/lib/libbsp/powerpc/mbx8xx/startup/imbx8xx.c index 19d8c59b77..81cf3c94f5 100644 --- a/c/src/lib/libbsp/powerpc/mbx8xx/startup/imbx8xx.c +++ b/c/src/lib/libbsp/powerpc/mbx8xx/startup/imbx8xx.c @@ -271,6 +271,7 @@ void _InitMBX8xx (void) m8xx.sccrk = M8xx_UNLOCK_KEY; /* unlock SCCR */ m8xx.sccr = 0x02800000; /* for MBX860/MBX821 */ +#if 0 /* IMD hack: do not init PLL after EPPCbug load */ /* Initialize the PLL, Low-Power, and Reset Control Register (PLPRCR) */ /* - set the clock speed and set normal power mode */ m8xx.plprck = M8xx_UNLOCK_KEY; /* unlock PLPRCR */ @@ -301,6 +302,7 @@ void _InitMBX8xx (void) #else #error "MBX board not defined" #endif +#endif /* Unlock the timebase and decrementer registers. */ m8xx.tbk = M8xx_UNLOCK_KEY; /* @@ -316,6 +318,7 @@ void _InitMBX8xx (void) _mtspr( M8xx_TBU_WR, r1 ); _mtspr( M8xx_TBL_WR, r1 ); +#if 0 /* IMD hack: do not init UPMs after EPPCbug load */ /* * Memory Controller Initialization */ @@ -584,6 +587,7 @@ void _InitMBX8xx (void) #endif m8xx.memc[7]._br = M8xx_BR_BA(0xFC000000) | M8xx_BR_AT(0) | M8xx_BR_PS8 | M8xx_BR_MS_GPCM | M8xx_MEMC_BR_V; +#endif /* IMD hack */ /* * PCMCIA initialization */ diff --git a/c/src/lib/libbsp/powerpc/mbx8xx/startup/mmutlbtab.c b/c/src/lib/libbsp/powerpc/mbx8xx/startup/mmutlbtab.c index 47b34f3e12..608e622391 100644 --- a/c/src/lib/libbsp/powerpc/mbx8xx/startup/mmutlbtab.c +++ b/c/src/lib/libbsp/powerpc/mbx8xx/startup/mmutlbtab.c @@ -31,19 +31,8 @@ * location is equal to its real address. */ MMU_TLB_table_t MMU_TLB_table[] = { -#if ( defined(mbx860_001b) ) - /* - * DRAM: CS1, Start address 0x00000000, 2M, - * ASID=0x0, APG=0x0, not guarded memory, copyback data cache policy, - * R/W,X for all, no ASID comparison, not cache-inhibited. - * Last 512K block is cache-inhibited, but not guarded for use by EPPCBug. - * EPN TWC RPN - */ - { 0x00000200, 0x05, 0x000009FD }, /* DRAM - PS=512K */ - { 0x00080200, 0x05, 0x000809FD }, /* DRAM - PS=512K */ - { 0x00100200, 0x05, 0x001009FD }, /* DRAM - PS=512K */ - { 0x00180200, 0x05, 0x001809FF }, /* DRAM - PS=512K, cache-inhibited */ -#elif ( defined(mbx860_002b) || \ +#if ( defined(mbx860_001b) || \ + defined(mbx860_002b) || \ defined(mbx860_003b) || \ defined(mbx821_001b) || \ defined(mbx821_002b) || \ diff --git a/c/src/lib/libbsp/powerpc/mbx8xx/startup/start.S b/c/src/lib/libbsp/powerpc/mbx8xx/startup/start.S index b254746247..bd1bbdbd7a 100644 --- a/c/src/lib/libbsp/powerpc/mbx8xx/startup/start.S +++ b/c/src/lib/libbsp/powerpc/mbx8xx/startup/start.S @@ -239,6 +239,46 @@ spin: cmpwi r3, 0x1 beq .spin /* + * test function: blink orange led once + */ +#define LEDBLINK_DELAY (5*1000*1000) +#define LEDPORT 0xFA100001 +#define LEDMASK 0xf0 +#define LEDON 0x00 +#define LEDOFF 0x08 + + PUBLIC_VAR(ledblink) +SYM(ledblink): + lis r3,LEDBLINK_DELAY>>16 +ledblink1: + subi r3,r3,1 + cmpi 0,1,r3,0 + bne ledblink1 + /* + * turn orange led off + */ + lis r3,LEDPORT@ha + lbz r0,LEDPORT@l(r3) + andi. r0,r0,LEDMASK + ori r0,r0,LEDOFF + stb r0,LEDPORT@l(r3) + + lis r3,LEDBLINK_DELAY>>16 +ledblink2: + subi r3,r3,1 + cmpi 0,1,r3,0 + bne ledblink2 + /* + * turn orange led on + */ + lis r3,LEDPORT@ha + lbz r0,LEDPORT@l(r3) + andi. r0,r0,LEDMASK + ori r0,r0,LEDON + stb r0,LEDPORT@l(r3) + + blr +/* * #define LOADED_BY_EPPCBUG */ #define LOADED_BY_EPPCBUG |