
Hello all,
We're trying to figure out how best to get rid of static code like this:
http://git.denx.de/?p=u-boot.git;a=blob;f=board/boundary/nitrogen6x/nitrogen...
and turn it into run time data.
Our idea is to use an environment variable so adding support for new screens and iterating on minor settings is quick and easy and then we can remove the static arrays like the one above and in wandboard.c and other places.
One way to do this is to create a data structure that can subsume the functionalities of of display_info_t and the various structures in lcd.h and elsewhere that can be used throughout U-Boot both with CONFIG_LCD and CONFIG_CFB_CONSOLE. Combined with the EDID functionality already in U-Boot this would allow code to easily select the "best" display supported by the monitor or closest to what the user wanted (given in the environment variable). This data structure would then be passed to Linux on boot up.
I realize that there's already the FDT and CONFIG_OF_CONTROL functionality and device trees sort of cover the passing to Linux part so maybe before handing it off, converting the relevant data into a device tree that Linux can already use/parse would work.
Is anyone working on something like this? Am I missing something that's already in place to accomplish this?
Thanks,
Robert Winkler