Merge branch 'master' of git://www.denx.de/git/u-boot-mpc85xx

This commit is contained in:
Wolfgang Denk 2007-11-01 22:38:01 +01:00
commit 0f8b8d0f4c
8 changed files with 38 additions and 22 deletions

View File

@ -37,17 +37,24 @@ static void cds_pci_fixup(void *blob)
map = ft_get_prop(blob, "/" OF_SOC "/pci@8000/interrupt-map", &len); map = ft_get_prop(blob, "/" OF_SOC "/pci@8000/interrupt-map", &len);
len /= sizeof(u32); if (!map)
map = ft_get_prop(blob, "/" OF_PCI "/interrupt-map", &len);
slot = get_pci_slot(); if (map) {
len /= sizeof(u32);
for (i=0;i<len;i+=7) { slot = get_pci_slot();
/* We rotate the interrupt pins so that the mapping
* changes depending on the slot the carrier card is in.
*/
map[3] = ((map[3] + slot - 2) % 4) + 1;
map+=7; for (i=0;i<len;i+=7) {
/* We rotate the interrupt pins so that the mapping
* changes depending on the slot the carrier card is in.
*/
map[3] = ((map[3] + slot - 2) % 4) + 1;
map+=7;
}
} else {
printf("*** Warning - No PCI node found\n");
} }
} }
#endif #endif

View File

@ -163,7 +163,12 @@ int do_reset (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
* Initiate hard reset in debug control register DBCR0 * Initiate hard reset in debug control register DBCR0
* Make sure MSR[DE] = 1 * Make sure MSR[DE] = 1
*/ */
unsigned long val; unsigned long val, msr;
msr = mfmsr ();
msr |= MSR_DE;
mtmsr (msr);
val = mfspr(DBCR0); val = mfspr(DBCR0);
val |= 0x70000000; val |= 0x70000000;
mtspr(DBCR0,val); mtspr(DBCR0,val);

View File

@ -218,6 +218,8 @@ _start_e500:
bdnz 0b bdnz 0b
/* Clear and set up some registers. */ /* Clear and set up some registers. */
li r0,0
mtmsr r0
li r0,0x0000 li r0,0x0000
lis r1,0xffff lis r1,0xffff
mtspr DEC,r0 /* prevent dec exceptions */ mtspr DEC,r0 /* prevent dec exceptions */
@ -266,18 +268,17 @@ _start_e500:
*/ */
lis r3,CFG_INIT_RAM_ADDR@h lis r3,CFG_INIT_RAM_ADDR@h
ori r3,r3,CFG_INIT_RAM_ADDR@l ori r3,r3,CFG_INIT_RAM_ADDR@l
li r2,512 /* 512*32=16K */ li r2,(CFG_DCACHE_SIZE / (2 * CFG_CACHELINE_SIZE))
mtctr r2 mtctr r2
li r0,0 li r0,0
1: 1:
dcbz r0,r3 dcbz r0,r3
dcbtls 0,r0,r3 dcbtls 0,r0,r3
addi r3,r3,32 addi r3,r3,CFG_CACHELINE_SIZE
bdnz 1b bdnz 1b
/* Jump out the last 4K page and continue to 'normal' start */ /* Jump out the last 4K page and continue to 'normal' start */
#ifdef CFG_RAMBOOT #ifdef CFG_RAMBOOT
bl 3f
b _start_cont b _start_cont
#else #else
/* Calculate absolute address in FLASH and jump there */ /* Calculate absolute address in FLASH and jump there */
@ -286,15 +287,9 @@ _start_e500:
ori r3,r3,CFG_MONITOR_BASE@l ori r3,r3,CFG_MONITOR_BASE@l
addi r3,r3,_start_cont - _start + _START_OFFSET addi r3,r3,_start_cont - _start + _START_OFFSET
mtlr r3 mtlr r3
blr
#endif #endif
3: li r0,0
mtspr SRR1,r0 /* Keep things disabled for now */
mflr r1
mtspr SRR0,r1
rfi
isync
.text .text
.globl _start .globl _start
_start: _start:
@ -701,6 +696,7 @@ in8:
.globl out8 .globl out8
out8: out8:
stb r4,0x0000(r3) stb r4,0x0000(r3)
sync
blr blr
/*------------------------------------------------------------------------------- */ /*------------------------------------------------------------------------------- */
@ -710,6 +706,7 @@ out8:
.globl out16 .globl out16
out16: out16:
sth r4,0x0000(r3) sth r4,0x0000(r3)
sync
blr blr
/*------------------------------------------------------------------------------- */ /*------------------------------------------------------------------------------- */
@ -719,6 +716,7 @@ out16:
.globl out16r .globl out16r
out16r: out16r:
sthbrx r4,r0,r3 sthbrx r4,r0,r3
sync
blr blr
/*------------------------------------------------------------------------------- */ /*------------------------------------------------------------------------------- */
@ -728,6 +726,7 @@ out16r:
.globl out32 .globl out32
out32: out32:
stw r4,0x0000(r3) stw r4,0x0000(r3)
sync
blr blr
/*------------------------------------------------------------------------------- */ /*------------------------------------------------------------------------------- */
@ -737,6 +736,7 @@ out32:
.globl out32r .globl out32r
out32r: out32r:
stwbrx r4,r0,r3 stwbrx r4,r0,r3
sync
blr blr
/*------------------------------------------------------------------------------- */ /*------------------------------------------------------------------------------- */
@ -1061,11 +1061,11 @@ unlock_ram_in_cache:
/* invalidate the INIT_RAM section */ /* invalidate the INIT_RAM section */
lis r3,(CFG_INIT_RAM_ADDR & ~31)@h lis r3,(CFG_INIT_RAM_ADDR & ~31)@h
ori r3,r3,(CFG_INIT_RAM_ADDR & ~31)@l ori r3,r3,(CFG_INIT_RAM_ADDR & ~31)@l
li r4,512 li r4,(CFG_DCACHE_SIZE / (2 * CFG_CACHELINE_SIZE))
mtctr r4 mtctr r4
1: icbi r0,r3 1: icbi r0,r3
dcbi r0,r3 dcbi r0,r3
addi r3,r3,32 addi r3,r3,CFG_CACHELINE_SIZE
bdnz 1b bdnz 1b
sync /* Wait for all icbi to complete on bus */ sync /* Wait for all icbi to complete on bus */
isync isync

View File

@ -803,6 +803,7 @@ static void startup_tsec(struct eth_device *dev)
/* Tell the DMA it is clear to go */ /* Tell the DMA it is clear to go */
regs->dmactrl |= DMACTRL_INIT_SETTINGS; regs->dmactrl |= DMACTRL_INIT_SETTINGS;
regs->tstat = TSTAT_CLEAR_THALT; regs->tstat = TSTAT_CLEAR_THALT;
regs->rstat = RSTAT_CLEAR_RHALT;
regs->dmactrl &= ~(DMACTRL_GRS | DMACTRL_GTS); regs->dmactrl &= ~(DMACTRL_GRS | DMACTRL_GTS);
} }

View File

@ -316,6 +316,7 @@ extern unsigned long get_clock_freq(void);
#define OF_SOC "soc8541@e0000000" #define OF_SOC "soc8541@e0000000"
#define OF_TBCLK (bd->bi_busfreq / 8) #define OF_TBCLK (bd->bi_busfreq / 8)
#define OF_STDOUT_PATH "/soc8541@e0000000/serial@4600" #define OF_STDOUT_PATH "/soc8541@e0000000/serial@4600"
#define OF_PCI "pci@e0008000"
/* /*
* I2C * I2C

View File

@ -340,6 +340,7 @@ extern unsigned long get_clock_freq(void);
#define OF_SOC "soc8548@e0000000" #define OF_SOC "soc8548@e0000000"
#define OF_TBCLK (bd->bi_busfreq / 8) #define OF_TBCLK (bd->bi_busfreq / 8)
#define OF_STDOUT_PATH "/soc8548@e0000000/serial@4600" #define OF_STDOUT_PATH "/soc8548@e0000000/serial@4600"
#define OF_PCI "pci@e0008000"
/* /*
* I2C * I2C

View File

@ -316,6 +316,7 @@ extern unsigned long get_clock_freq(void);
#define OF_SOC "soc8555@e0000000" #define OF_SOC "soc8555@e0000000"
#define OF_TBCLK (bd->bi_busfreq / 8) #define OF_TBCLK (bd->bi_busfreq / 8)
#define OF_STDOUT_PATH "/soc8555@e0000000/serial@4600" #define OF_STDOUT_PATH "/soc8555@e0000000/serial@4600"
#define OF_PCI "pci@e0008000"
/* /*
* I2C * I2C

View File

@ -297,7 +297,7 @@ extern unsigned long get_clock_freq(void);
#define OF_SOC "soc8568@e0000000" #define OF_SOC "soc8568@e0000000"
#define OF_QE "qe@e0080000" #define OF_QE "qe@e0080000"
#define OF_TBCLK (bd->bi_busfreq / 8) #define OF_TBCLK (bd->bi_busfreq / 8)
#define OF_STDOUT_PATH "/soc8568@e0000000/serial@4600" #define OF_STDOUT_PATH "/soc8568@e0000000/serial@4500"
/* /*
* I2C * I2C