Greg, On 08.04.2013 16:16, txcotrader wrote: > Thanks for the suggestion, I2C_BASE_ADDR is the same in both versions. After > doing some more digging, I can see why v2013.01.01 is not passing > i2c_transfer. The following routine yields different results in the 2 > versions: > > v2013.01.01- > do { > /* Get status */ > status = in_8(&i2c->sts); > printf("gd_ do status->i = %x, status = %d, IIC_STS = %x\n", i, > status, &i2c->sts); > udelay(10); > i--; > } while ((status & IIC_STS_PT) && !(status & IIC_STS_ERR) && > (i > 0)); > > Result: gd_ do status->i = 80, status = 4, IIC_STS = ef600408 > > v1.7.02- > do { > /* Get status */ > status = in_8((u8 *)IIC_STS); > printf("gd_ do status->i = %d, status = %d, IIC_STS = %x\n", i, > status, IIC_STS); > udelay(10); > i--; > } while ((status & IIC_STS_PT) && !(status & IIC_STS_ERR) && (i > > 0)); > > Result: gd_ do status->i = 80, status = 40, IIC_STS = ef600408 > > So in v2013.01.01 (status & IIC_STS_ERR) == 1, versus a (status & > IIC_STS_ERR) == 0 in v1.7.02. Am I missing some sort of offset config > someplace? Once again, any help is greatly appreciated.
So look into the manual to check what exactly these IIC_STS bits/differences mean. 0x4 versus 0x40. This might give you a hint. Perhaps some clocks missing? Not sure. Which PPC4xx variant are you using again? 460SX? Thanks, Stefan _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot