[U-Boot] [PATCH] overo: add SPL support
Tom Rini
tom.rini at gmail.com
Thu Dec 15 19:32:35 CET 2011
On Thu, Dec 15, 2011 at 7:34 AM, Andreas Müller <schnitzeltony at gmx.de> wrote:
> On Wednesday, December 14, 2011 06:24:13 PM Steve Sakoman wrote:
>>
>> I think you will also need to update the get_board_revision function
>> to ensure that SPL works with very early Overo revisions.
>>
>> Note this excerpt from the X-loader get_board_revision funtion:
>>
>> /* board revisions <= R2410 connect 4030 irq_1 to gpio112 */
>> /* these boards should return a revision number of 0 */
>> /* the code below forces a 4030 RTC irq to ensure that gpio112 is low */
>> #ifdef CONFIG_DRIVER_OMAP34XX_I2C
>> i2c_init(CFG_I2C_SPEED, CFG_I2C_SLAVE);
>> data = 0x01;
>> i2c_write(0x4B, 0x29, 1, &data, 1);
>> data = 0x0c;
>> i2c_write(0x4B, 0x2b, 1, &data, 1);
>> i2c_read(0x4B, 0x2a, 1, &data, 1);
>> #endif
>>
>> Yup, ugly, but this is the only way to detect revision properly on those
>> boards.
> I tried the following (as you can see I already commented out the i2c-read-write
> for test):
>
> int get_board_revision(void)
> {
> #ifdef CONFIG_DRIVER_OMAP34XX_I2C
> i2c_set_bus_num(TWL4030_I2C_BUS);
> /*data = 0x01;
> i2c_write(0x4B, 0x29, 1, &data, 1);
> data = 0x0c;
> i2c_write(0x4B, 0x2b, 1, &data, 1);
> i2c_read(0x4B, 0x2a, 1, &data, 1);*/
> #endif
> ....
> }
>
> SPL Boot process hangs on i2c_set_bus_num ( tested by removing i2c_set_bus_num -
>> proper operation ) with console freeze:
>
> | U-Boot SPL 2011.12-rc1-00004-g06e42c6-dirty (Dec 15 2011 - 14:03:34)
> | Texas Instruments Revision detection unimplemented
>
> The call stack for get_board_revision() is for SPL
>
> s_init()
> mem_init()
> do_sdrc_init(..)
> get_board_mem_timings(..)
> get_board_revision(..)
>
> It seems that the call to i2c_set_bus_num comes too early. Before I dive into x-
> loader analysis: Has anybody an idea what goes wrong?
Without digging too hard into overo stuff, we've only called
i2c_init() on the main bus and the x-load snippet is on the slave bus.
--
Tom
More information about the U-Boot
mailing list