Hello Ran, Am 27.01.2017 um 08:08 schrieb Ran Shalit:
On Fri, Jan 27, 2017 at 8:46 AM, Heiko Schocher <h...@denx.de <mailto:h...@denx.de>> wrote: Hello Ran, Am 26.01.2017 um 18:42 schrieb Ran Shalit: Hello, I have some issue in u-boot trying to access bus #1. On which hardware? Is the board in mainline? Yes, it's TI's dm8148 (ti81xx, ti814x)
Which defconfig do you use?
I can access bus #0, #2 with i2c dev 0/2 I can also access bus #0,1,2 from linux. But on trying to access i2c #1 in u-boot in hangs: The function i2c_set_bus_num get stuck . ret = i2c_set_bus_num(1); <<------- never gets here ......... if (ret) printf("Failure changing bus number (%d)\n", ret); It hangs in i2c_set_bus_num->i2c_init-> ...... printf("i2c_init 8\n"); You see this printf? Yes, it seems to get stuck here: if (readw (I2C_CON) & I2C_CON_EN) { <<--------- we never gets here !!!!!!!!!!!!!!!!!!!!!!!!!!! writew (0, I2C_CON); bus_initialized[current_bus] = 1; if (readw (I2C_CON) & I2C_CON_EN) {
Hmm... if I search for "bus_initialized" in mainline code: $ grep -lr bus_initialized drivers/i2c/ drivers/i2c/mv_i2c.c I only find the mv_i2c driver ... do you use current mainline code?
writew (0, I2C_CON); udelay (50000); } writew(psc, I2C_PSC); writew(scll, I2C_SCLL); writew(sclh, I2C_SCLH); /* own address */ writew (slaveadd, I2C_OA); writew (I2C_CON_EN, I2C_CON); printf("i2c_init 9\n"); <<------ never get printed .................. I have seen a similar question, yet I am doing this access after u-boot complete, and command prompt. Is anyone familiar with this ? Hmm.. no reason, why the last printf should not come ... As I do not know, on which hw ... I just can speculate ... Is the clock for the i2c subsystem 1 in the SoC enabled? TI's DM8148. I remember that I once used that code and it works, so I quite amazed that it stopped working now. The board had some changes from that time when I tried the code, and the sw too some minor changes (i2c eerom added in bus #0), but I really don't understand why it doesn't work any more :( It might be clock issue, I'll check.
Thanks! bye, Heiko
bye, Heiko Regards, Ran _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de <mailto:U-Boot@lists.denx.de> http://lists.denx.de/mailman/listinfo/u-boot <http://lists.denx.de/mailman/listinfo/u-boot> -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
-- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot