Skip to content
  • Caleb Connolly's avatar
    boot: add support for button commands · e761035b
    Caleb Connolly authored and Tom Rini's avatar Tom Rini committed
    With the relatively new button API in U-Boot, it's now much easier to
    model the common usecase of mapping arbitrary actions to different
    buttons during boot - for example entering fastboot mode, setting some
    additional kernel cmdline arguments, or booting with a custom recovery
    ramdisk, to name a few.
    
    Historically, this functionality has been implemented in board code,
    making it fixed for a given U-Boot binary and requiring the code be
    duplicated and modified for every board.
    
    Implement a generic abstraction to run an arbitrary command during boot
    when a specific button is pressed. The button -> command mapping is
    configured via environment variables with the following format:
    
      button_cmd_N_name=<button label>
      button_cmd_N=<command to run>
    
    Where N is the mapping number starting from 0. For example:
    
      button_cmd_0_name=vol_down
      button_cmd_0=fastboot usb 0
    
    This will cause the device to enter fastboot mode if volume down is held
    during boot.
    
    After we enter the...
    e761035b