Dear Marek Vasut,

In message <201009201205.41037.marek.va...@gmail.com> you wrote:
> 
> most of the readers here probably noticed, there are various forks of U-Boot 
> bootloader floating around the net. The development model there is quite 
> closed 
> and certainly not community driven, on the other hand, they have neat driver 
> model.

You are speaking about barebox, right? [I am not aware of another fork
with a driver model.]

> * Start with ethernet subsystem
> It seems to be quite ready for conversion of this scale. Besides it'd be easy 
> to 
> prove multiple instances of ethernet device work with the driver model.

Indeed ethernet seems to make sense; eventually followed by serial, as
this will quickly show some of the challenges (i. e. driver support in
the restricted environment before relocation). Block devices (IDE,
SDCard/MMC, USB, eventually also NAND etc.) could need some
unification as well.

> * Create an universal driver model:
> The driver will have usual .probe function, which will have some argument of 
> type "void *" to it's driver data. This way we can pass it's base address for 
> example instead of #defining it. Very similar to linux kernel.

Instead of picking out a single function, we should rather discuss the
whole interface. I guess the stating point would be the current BB
implementation?

> * We need some "device tree"
> To know, what driver is where and where are it's driver data etc.

Using the DT for run-time configuration of U-Boot would be especially
interesting. Assume: a single U-Boot image for all - say - OMAP3
boards...

> * Get rid of static data in drivers, switch to dynamic allocation
> So these wont interfere with multiple instances of the same driver.

This might be a challange. Keep in mind that some drivers (console,
eventually I2C / SPI, MMC/SDcard, NAND, ...) might be needed before
relocation to RAM.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
At the source of every error which is blamed on the computer you will
find at least two human errors, including the error of blaming it  on
the computer.
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to