[U-Boot] [PATCH] overo: add SPL support

Andreas Müller schnitzeltony at gmx.de
Wed Dec 21 02:00:21 CET 2011


On Tuesday, December 20, 2011 02:55:50 PM you wrote:
> On Tue, Dec 20, 2011 at 4:20 AM, Igor Grinberg <grinberg at compulab.co.il>wrote:
> > What about forging some very not optimized default DRAM settings,
> > that suit any assembled DRAM and then when you have I2C access,
> > reconfigure it - is it possible?
> 
> The board ID is used to determine some fairly fundamental things like how
> the address bits are multiplexed, bank size, number of banks, and timing.
> 
> Perhaps it might be possible to determine some non-optimal settings that
> can work with the current set of POP memories used, and also a scheme to
> modify the above on the fly while executing from said ram, but then one
> would have to revisit this every time a new vendor/type of POP was used.
> 
> That seems a lot more complex than the current method.
> 
> I suppose we could just drop support for the old boards in u-boot.  Those
> folks could continue to use the current x-load solution. 
I am afraid you are right. It seems that the current U-boot/OMAP/SPL environment 
it is not designed to have i2c in early state when SDRAM is set up. 
My experience:
* After moving the i2c variables to SDRAM, i2c_set_bus_num (and thereby 
i2c_init) work but i2c_write hangs when calling udelay because timer is not yet 
running.
* This can be worked around by calling timer_init() within s_init(). With this 
setup booting is possible but I get MMC timeout messages from u-boot although 
kernel is loaded properly.
* I don't know if this is the reason for timeout but I think successful booting 
is just by accident because the register pointer to global data is not yet set 
(i2c and timer use global data). I tried to setup global data earlier but up to 
now without success. Even if successful I think the number of friends for such a 
deep change is limited...
Not to be misunderstood: This is no criticism to anybody. The experince that a 
design does not fit for a (corner case) request I have had in several projects :)
> Or perhaps someone will come up with a more clever idea!
> 
My suggestion: 

* Soon: Clean up the patch already sent as reviewed and leave i2c TWL4030 shut-
up out. As fallback for old boards leave x-load in oe meta-gumstix  (maybe just 
create a different machine configuration).
* Later: Think about a 'more probing' approach as suggested in this thread (or a 
combination e.g if revision 1 detected, check size of SDRAM and with the result 
deciding if this is a revision 1/0).

Anyway: The informations regarding SDRAM I copied from x-load. Since this is a 
bit fishing in the dark: Are there documents from gumstix available, describing 
which memories were used (with which revision :) or are these secret IP?

Regards

Andreas


More information about the U-Boot mailing list