[U-Boot] [PATCH 1/8] Add simple hwconfig infrastructure
Kim Phillips
kim.phillips at freescale.com
Thu Apr 30 22:00:50 CEST 2009
On Thu, 30 Apr 2009 01:50:00 +0400
Anton Vorontsov <avorontsov at 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:
>
> 1. 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.
>
> 2. 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.
>
> 3. 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:
> 1. dr_usb - enable Dual-Role USB controller;
> 2. dr_usb_mode:peripheral - USB in Function mode;
> 3. 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"
> The purpose of this simple implementation is to define some
> internal API and then we can continue improving user experience
> by adding more mature interface, like hwconfig command with
> bells and whistles. Or not adding, if we feel that current
> interface fits its needs.
>
> [1] http://en.wikipedia.org/wiki/American_Megatrends
> [2] Regarding ncurses and GUI with mouse support -- I'm just
> kidding.
phew, you had me for a second there :).
Kim
More information about the U-Boot
mailing list