Hi Tom, On 30/05/13 20:07, Tom Rini wrote: > On Thu, May 30, 2013 at 10:37:42AM -0400, Tom Rini wrote: >> On Thu, May 30, 2013 at 01:24:42AM +0300, Lubomir Popov wrote: >> >>> Tested on OMAP4/5 only, but should work on older OMAPs and >>> derivatives as well. >>> >>> - Rewritten i2c_read to operate correctly with all types of chips >>> (old function could not read consistent data from some I2C slaves). >>> - Optimised i2c_write. >>> - New i2c_probe, optionally selectable via CONFIG_I2C_PROBE_WRITE, >>> performs write access vs read. The old probe could hang the system >>> under certain conditions (e.g. unconfigured pads). >>> - The read/write/probe functions try to identify unconfigured bus. >>> - Status functions now read irqstatus_raw as per TRM guidelines >>> (except for OMAP243X and OMAP34XX). >>> - Driver now supports up to I2C5 (OMAP5). >>> >>> Signed-off-by: Lubomir Popov <lpo...@mm-sol.com> >> >> With CONFIG_I2C_PROBE_WRITE set: >> Tested-by: Tom Rini <tr...@ti.com> on Beagleboard / Beagleboard xM > > But, crap, breaks am335x_evm (and probably beaglebones, etc). I'll > dig into this more to see if I can spot something obvious tomorrow. Made it work on the am335x_evm (tested, with AM3359 on board). Problem was in the new i2c_probe, which on this board is called by the SPL and caused a hang (interestingly, when called from regular u-boot, works fine). Fix is to add a small delay. Clocking and I2C speed should be identical between SPL and U-Boot, but probably are not; I did not have time to look with a scope, but don't have any other reasonable explanation. Whatever, now it is working. I shall submit the patch tonight.
Would like as well to note that the current u-boot-ti/master (freshly cloned, no changes whatsoever) does not boot on the am335x-evm: U-Boot SPL 2013.04-11562-g47c6ea0 (May 31 2013 - 09:56:46) musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn) musb-hdrc: MHDRC RTL version 2.0 musb-hdrc: setup fifo_mode 4 musb-hdrc: 28/31 max ep, 16384/16384 memory USB Peripheral mode controller at 47401000 using PIO, IRQ 0 musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn) musb-hdrc: MHDRC RTL version 2.0 musb-hdrc: setup fifo_mode 4 musb-hdrc: 28/31 max ep, 16384/16384 memory USB Host mode controller at 47401800 using PIO, IRQ 0 ### ERROR ### Please RESET the board ### -- Lubo _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot