#compdef flasher

_arguments \
  '(--fiasco -F)'{--fiasco,-F}':location of a FIASCO image:_files' \
  '(--kernel -k)'{--kernel,-k}':location of kernel image:_files' \
  '(--initfs -n)'{--initfs,-n}':location of initfs image:_files' \
  '(--rootfs -r)'{--rootfs,-r}':location of root JFFS2 image:_files' \
  '(--xloader -x)'{--xloader,-x}':location of X-Loader image:_files' \
  '(--secondary -s)'{--secondary,-s}':location of NOLO secondary bootloader image:_files' \
  '(--2nd -2)'{--2nd,-2}':location of NOLO cold flasher ("2nd") image:_files' \
  '(--unpack -u)'{--unpack,-u}'::unpack a FIASCO image:_files' \
  '(--flash -f)'{--flash,-f}'[load and flash all supplied images]' \
  '(--load -l)'{--load,-l}'[only load all supplied images]' \
  '(--boot -b)'{--boot,-b}'::kernel cmdline' \
  '(--reboot -R)'{--reboot,-R}'[reboot the board]' \
  '(--read-board-id -i)'{--read-board-id,-i}'[print out the board type]' \
  '(--serial-port -S)'{--serial-port,-S}':serial port used for cold flashing' \
  '(--initialize-port -I)'{--initialize-port,-I}':something' \
  '(--cold-flash -c)'{--cold-flash,-c}'[cold flash the device]' \
  '--enable-rd-mode[enable R&D mode on the device]' \
  '--disable-rd-mode[disable R&D mode on the device]' \
  '--set-rd-flags::R&D mode flags to set' \
  '--clear-rd-flags::R&D mode flags to clear' \
  '--query-rd-mode[query the device R&D mode status and flags]' \
  '--set-root-device:default root device' \
  '--query-root-device[query the default root device]' \
  '--enable-usb-host-mode[set the device into USB host mode]' \
  '--disable-usb-host-mode[set the device into USB peripheral mode]' \
  '--flash-only:components'
