| Submitter | robertcnelson@gmail.com |
|---|---|
| Date | Feb. 4, 2013, 4:03 p.m. |
| Message ID | <1359993790-22454-1-git-send-email-robertcnelson@gmail.com> |
| Download | mbox | patch |
| Permalink | /patch/217980/ |
| State | Accepted |
| Delegated to: | Tom Rini |
| Headers | show |
Comments
On Mon, Feb 04, 2013 at 06:03:10AM -0000, robertcnelson@gmail.com wrote: > Some expansion boards now ship with at24 eeproms that need to communicate > via 16bit addressing. > > Signed-off-by: Robert Nelson <robertcnelson@gmail.com> This and 2/2 have been applied to u-boot-ti/master, thanks!
Patch
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c index b829a79..9493c6b 100644 --- a/board/ti/beagle/beagle.c +++ b/board/ti/beagle/beagle.c @@ -227,6 +227,14 @@ static unsigned int get_expansion_id(void) i2c_read(EXPANSION_EEPROM_I2C_ADDRESS, 0, 1, (u8 *)&expansion_config, sizeof(expansion_config)); + /* retry reading configuration data with 16bit addressing */ + if ((expansion_config.device_vendor == 0xFFFFFF00) || + (expansion_config.device_vendor == 0xFFFFFFFF)) { + printf("EEPROM is blank or 8bit addressing failed: retrying with 16bit:\n"); + i2c_read(EXPANSION_EEPROM_I2C_ADDRESS, 0, 2, (u8 *)&expansion_config, + sizeof(expansion_config)); + } + i2c_set_bus_num(TWL4030_I2C_BUS); return expansion_config.device_vendor;
Some expansion boards now ship with at24 eeproms that need to communicate via 16bit addressing. Signed-off-by: Robert Nelson <robertcnelson@gmail.com> --- board/ti/beagle/beagle.c | 8 ++++++++ 1 file changed, 8 insertions(+)