mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 18:35:42 +01:00 
			
		
		
		
	This converts the following to Kconfig: CONFIG_HWCONFIG Signed-off-by: Tom Rini <trini@konsulko.com>
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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 bothered yet.
 | |
| 
 | |
| 2. Since we don't implement a hwconfig command, i.e. we're working
 | |
|    with the environment 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.
 |