diff options
author | wdenk <wdenk> | 2003-03-26 06:55:25 +0000 |
---|---|---|
committer | wdenk <wdenk> | 2003-03-26 06:55:25 +0000 |
commit | dc7c9a1a52403093b9e4aef14ac4c5c014386e57 (patch) | |
tree | 4ca643323e3e7c96efd12190ec9bf10142acb375 /board/innokom | |
parent | 10f670178cce29d7f078ca622f0eeafd6903748a (diff) |
* Patch by Rick Bronson, 16 Mar 2003:
Add support for Atmel AT91RM9200DK w/NAND
* Patches by Robert Schwebel, 19 Mar 2003:
- use arm-linux-gcc as default compiler for ARM
- fix i2c fixup code
- fix missing baudrate setting
- added $loadaddr / CFG_LOAD_ADDR support to loadb
- moved "ignoring trailing characters" _before_ u-boot wants to
print out diagnostics messages; removes bogus characters at the
end of transmission
* Patch by John Zhan, 18 Mar 2003:
Add support for SinoVee Microsystems SC8xx boards
* Patch by Rolf Offermanns, 21 Mar 2003:
ported the dnp1110 related changes from the current armboot cvs to
current u-boot cvs. smc91111 does not work. problem marked in
smc91111.c, grep for "FIXME".
* Patch by Brian Auld, 25 Mar 2003:
Add support for STM flash chips on ebony board
* Add PCI support for MPC8250 Boards (PM825 module)
* Patch by Stefan Roese, 25 Mar 2003:
Diffstat (limited to 'board/innokom')
-rw-r--r-- | board/innokom/flash.c | 3 | ||||
-rw-r--r-- | board/innokom/innokom.c | 27 |
2 files changed, 22 insertions, 8 deletions
diff --git a/board/innokom/flash.c b/board/innokom/flash.c index b56707d232a..32c57d8d962 100644 --- a/board/innokom/flash.c +++ b/board/innokom/flash.c @@ -9,6 +9,9 @@ * (C) Copyright 2002 * Robert Schwebel, Pengutronix, <r.schwebel@pengutronix.de> * + * (C) Copyright 2002 + * Kai-Uwe Bloem, GDS, <kai-uwe.bloem@auerswald.de> + * * See file CREDITS for list of people who contributed to this * project. * diff --git a/board/innokom/innokom.c b/board/innokom/innokom.c index 0176d9c2c33..5ee511764ab 100644 --- a/board/innokom/innokom.c +++ b/board/innokom/innokom.c @@ -39,20 +39,28 @@ * The Innokom board has GPIO70 connected to SCLK which can be toggled * until all chips think that their current cycles are finished. */ -void i2c_init_board(void) +int i2c_init_board(void) { - int i; + int i, icr; - /* set gpio pin to output */ - GPDR(70) |= GPIO_bit(70); - for (i = 0; i < 11; i++) { + /* disable I2C controller first, otherwhise it thinks we want to */ + /* talk to the slave port... */ + icr = ICR; ICR &= ~(ICR_SCLE | ICR_IUE); + + /* set gpio pin low _before_ we change direction to output */ GPCR(70) = GPIO_bit(70); + + /* now toggle between output=low and high-impedance */ + for (i = 0; i < 20; i++) { + GPDR(70) |= GPIO_bit(70); /* output */ udelay(10); - GPSR(70) = GPIO_bit(70); + GPDR(70) &= ~GPIO_bit(70); /* input */ udelay(10); } - /* set gpio pin to input */ - GPDR(70) &= ~GPIO_bit(70); + + ICR = icr; + + return 0; } @@ -98,6 +106,9 @@ int board_init (void) /* adress of boot parameters */ gd->bd->bi_boot_params = 0xa0000100; + /* baud rate */ + gd->bd->bi_baudrate = CONFIG_BAUDRATE; + return 0; } |