diff options
author | wdenk <wdenk> | 2004-03-23 20:18:25 +0000 |
---|---|---|
committer | wdenk <wdenk> | 2004-03-23 20:18:25 +0000 |
commit | efa329cb892c8b9a5e453638b3ca57c94b71e9a2 (patch) | |
tree | b8c5361b7054e21662e619100c1a7f53e6d8de0a /cpu | |
parent | 7d7ce4125f769a21a321c3df972272c5854d54f7 (diff) | |
download | u-boot-efa329cb892c8b9a5e453638b3ca57c94b71e9a2.tar.gz u-boot-efa329cb892c8b9a5e453638b3ca57c94b71e9a2.tar.bz2 u-boot-efa329cb892c8b9a5e453638b3ca57c94b71e9a2.zip |
* Add start-up delay to make sure power has stabilized before
attempting to switch on USB on SX1 board.
* Patch by Josef Wagner, 18 Mar 2004:
- Add support for MicroSys XM250 board (PXA255)
- Add support for MicroSys PM828 board (MPC8280)
- Add support for 32 MB Flash on PM825/826
- new SDRAM refresh rate for PM825/PM826
- added support for MicroSys PM520 (MPC5200)
- replaced Query by Identify command in CPU86/flash.c
to support 28F160F3B
* Fix wrap around problem with udelay() on ARM920T
* Add support for Macronix flash on TRAB board
Diffstat (limited to 'cpu')
-rw-r--r-- | cpu/arm920t/interrupts.c | 5 | ||||
-rw-r--r-- | cpu/mpc5xxx/fec.c | 10 | ||||
-rw-r--r-- | cpu/pxa/i2c.c | 6 |
3 files changed, 13 insertions, 8 deletions
diff --git a/cpu/arm920t/interrupts.c b/cpu/arm920t/interrupts.c index 9ff06c1de7..521c4f479d 100644 --- a/cpu/arm920t/interrupts.c +++ b/cpu/arm920t/interrupts.c @@ -235,14 +235,13 @@ void set_timer (ulong t) void udelay (unsigned long usec) { ulong tmo; + ulong start = get_timer(0); tmo = usec / 1000; tmo *= (timer_load_val * 100); tmo /= 1000; - tmo += get_timer (0); - - while (get_timer_masked () < tmo) + while ((ulong)(get_timer_masked () - start) < tmo) /*NOP*/; } diff --git a/cpu/mpc5xxx/fec.c b/cpu/mpc5xxx/fec.c index 04e8001dfe..50499e214e 100644 --- a/cpu/mpc5xxx/fec.c +++ b/cpu/mpc5xxx/fec.c @@ -830,12 +830,14 @@ int mpc5xxx_fec_initialize(bd_t * bis) fec->eth = (ethernet_regs *)MPC5XXX_FEC; fec->tbdBase = (FEC_TBD *)FEC_BD_BASE; fec->rbdBase = (FEC_RBD *)(FEC_BD_BASE + FEC_TBD_NUM * sizeof(FEC_TBD)); -#if defined(CONFIG_ICECUBE) || defined(CONFIG_TOP5200) -# ifndef CONFIG_FEC_10MBIT +#if defined(CONFIG_ICECUBE) || + defined(CONFIG_PM520) || + defined(CONFIG_TOP5200) +# ifndef CONFIG_FEC_10MBIT fec->xcv_type = MII100; -# else +# else fec->xcv_type = MII10; -# endif +# endif #else #error fec->xcv_type not initialized. #endif diff --git a/cpu/pxa/i2c.c b/cpu/pxa/i2c.c index cc2c49ca73..b6155b137e 100644 --- a/cpu/pxa/i2c.c +++ b/cpu/pxa/i2c.c @@ -448,13 +448,17 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len) uchar i2c_reg_read (uchar chip, uchar reg) { + char buf; + PRINTD(("i2c_reg_read(chip=0x%02x, reg=0x%02x)\n",chip,reg)); - return 0; + i2c_read(chip, reg, 1, &buf, 1); + return (buf); } void i2c_reg_write(uchar chip, uchar reg, uchar val) { PRINTD(("i2c_reg_write(chip=0x%02x, reg=0x%02x, val=0x%02x)\n",chip,reg,val)); + i2c_write(chip, reg, 1, &val, 1); } #endif /* CONFIG_HARD_I2C */ |