[U-Boot] doc: add README for CONFIG_HWCONFIG option

Signed-off-by: Heiko Schocher hs@xpert.denx.de --- doc/README.hwconfig | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 51 insertions(+), 0 deletions(-) create mode 100644 doc/README.hwconfig
diff --git a/doc/README.hwconfig b/doc/README.hwconfig new file mode 100644 index 0000000..dd5bdd8 --- /dev/null +++ b/doc/README.hwconfig @@ -0,0 +1,51 @@ +Enable this feature just define CONFIG_HWCONFIG in your board +config file. + +This 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:mode=peripheral,phy_type=ulpi" + + 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. + +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. +[3] The comment regarding apt-get is also a joke, meaning that + dependency tracking could be non-trivial. For example, for + enabling HW feature X we may need to disable Y, and turn Z + into reduced mode (like RMII-only interface for ethernet, + no MII). + + It's quite trivial to implement simple cases though. +

On Tuesday 09 February 2010 09:50:30 Heiko Schocher wrote:
+Enable this feature just define CONFIG_HWCONFIG in your board +config file.
To enable ...
+This implements simple hwconfig infrastructure: an +interface for software knobs to control a hardware.
... a simple ... ... control hardware.
+This is very simple implementation, i.e. it is implemented
... is a very ...
+via `hwconfig' environment variable. Later we could write
... via the ...
+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.
... into Das U-Boot. didn't -> haven't
+2. Since we don't implement hwconfig command, i.e. we're working
... implement a hwconfig ...
- toggling a particular option will need a reboot to take
- an effect. So, for now it's advised to always reboot the
... take effect.
- target after modifying hwconfig variable.
... modifying the hwconfig ...
+3. We support hwconfig options with arguments. For example,
- set hwconfig "dr_usb:mode=peripheral,phy_type=ulpi"
- There are three hwconfig options selected:
This selects three hwconfig options:
+The purpose of this simple implementation is to define some +internal API and
... to refine the internal ...
+and then we can continue improving user experience
... improving the user ...
+by adding more mature interface, like hwconfig command with
interfaces ... like a hwconfig ...
+bells and whistles. Or not adding, if we feel that current
... that the current ...
+interface fits its needs.
... fits people's needs. -mike

Signed-off-by: Heiko Schocher hs@denx.de --- changes since v1: - spelling check from Mike Frysinger, thanks!
doc/README.hwconfig | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 51 insertions(+), 0 deletions(-) create mode 100644 doc/README.hwconfig
diff --git a/doc/README.hwconfig b/doc/README.hwconfig new file mode 100644 index 0000000..a4f489a --- /dev/null +++ b/doc/README.hwconfig @@ -0,0 +1,51 @@ +To enable this feature just define CONFIG_HWCONFIG in your board +config file. + +This implements a simple hwconfig infrastructure: an +interface for software knobs to control hardware. + +This a is very simple implementation, i.e. it is implemented +via the `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 Das + U-Boot. But I haven't bother yet. + +2. Since we don't implement a 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 + effect. So, for now it's advised to always reboot the + target after modifying the hwconfig variable. + +3. We support hwconfig options with arguments. For example, + + set hwconfig "dr_usb:mode=peripheral,phy_type=ulpi" + + This selects three hwconfig options: + 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. + +The purpose of this simple implementation is to refine the +internal API and then we can continue improving the user +experience by adding more mature interfaces, like a hwconfig +command with bells and whistles. Or not adding, if we feel +that the current interface fits people's needs. + +[1] http://en.wikipedia.org/wiki/American_Megatrends +[2] Regarding ncurses and GUI with mouse support -- I'm just + kidding. +[3] The comment regarding apt-get is also a joke, meaning that + dependency tracking could be non-trivial. For example, for + enabling HW feature X we may need to disable Y, and turn Z + into reduced mode (like RMII-only interface for ethernet, + no MII). + + It's quite trivial to implement simple cases though. +

Dear Heiko Schocher,
In message 4B725A39.4040806@denx.de you wrote:
Signed-off-by: Heiko Schocher hs@denx.de
changes since v1:
- spelling check from Mike Frysinger, thanks!
doc/README.hwconfig | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 51 insertions(+), 0 deletions(-) create mode 100644 doc/README.hwconfig
Applied, thanks.
Best regards,
Wolfgang Denk
participants (3)
-
Heiko Schocher
-
Mike Frysinger
-
Wolfgang Denk