
21 Jul
2008
21 Jul
'08
10:31 p.m.
David Hawkins wrote:
Hi Timur,
- i2c_bus_speed[0] = set_i2c_bus_speed(dev, gd->i2c1_clk, speed);
- temp = set_i2c_bus_speed(dev, gd->i2c1_clk, speed);
- if (gd->flags & GD_FLG_RELOC)
i2c_bus_speed[0] = temp;
Does i2c_init() get called again after relocation?
Yes.
I guess in some cases a board with fixed DDR would not need to initialize the I2C controller until after relocation.
We're okay then, too.
If you need I2C speed tracking code, why not just re-read the I2C controller registers, and determine the speed from there? That is independent of relocation.
I suppose we could do that. I was planning on rewriting the I2C subsystem one day, anyway.
--
Timur Tabi
Linux kernel developer at Freescale