
On Thu, Apr 30, 2009 at 03:00:50PM -0500, Kim Phillips wrote:
On Thu, 30 Apr 2009 01:50:00 +0400 Anton Vorontsov avorontsov@ru.mvista.com wrote:
This patch implements simple hwconfig infrastructure: an interface for software knobs to control a hardware.
This is very simple implementation, i.e. it is implemented via `hwconfig' environment variable. Later we could write some "hwconfig <enable|disable|list>" commands, ncurses interface for Award BIOS-like interface, and frame-buffer interface for AMI GUI[1] BIOS-like interface with mouse support[2].
Current implementation details/limitations:
Doesn't support options dependencies and mutual exclusion. We can implement this by integrating apt-get[3] into the u-boot. But I didn't bother yet.
Since we don't implement hwconfig command, i.e. we're working with the environement directly, there is no way to tell that toggling a particular option will need a reboot to take an effect. So, for now it's advised to always reboot the target after modifying hwconfig variable.
We support hwconfig options with arguments. For example,
set hwconfig dr_usb,dr_usb_mode:peripheral,dr_usb_phy_type:ulpi
so a newbie displays his board's environment and sees the above line for the first time. It's not clear whether they will interpret the above as how you would have them:
There are three hwconfig options selected:
- dr_usb - enable Dual-Role USB controller;
- dr_usb_mode:peripheral - USB in Function mode;
- dr_usb_phy_type:ulpi - USB should work with ULPI PHYs.
or as something starting along the lines of "dr_usb and/or dr_usb_mode acquire the 'peripheral' setting,..." and then realize "peripheral,dr_usb_phy_type" doesn't make much sense, and have to revert to applying different 'weights' to the comma (,) and colon (:) token separator characters (to a native English speaker, a colon has a higher separation weight than the comma).
May I suggest something more clearer on the outset, such as:
set hwconfig "dr_usb=enable; dr_usb_mode=peripheral; dr_usb_phy_type=ulpi"
or
set hwconfig "usb=dr; dr_usb_mode=peripheral; dr_usb_phy_type=ulpi"
Yes, much more readable. Will implement.
Thanks!