[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