
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?
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?
bus_initialized[current_bus] = 1; if (readw (I2C_CON) & I2C_CON_EN) { 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?
bye, Heiko
Regards,
Ran _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot