config BR2_PACKAGE_OPENOCD
	bool "openocd"
	help
	  OpenOCD - Open On-Chip Debugger

	  http://openocd.sourceforge.net/

if BR2_PACKAGE_OPENOCD

comment "Adapters"

config BR2_PACKAGE_OPENOCD_FTDI
	bool "MPSSE mode of FTDI based devices"
	select BR2_PACKAGE_LIBUSB
	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
	help
	  Enable building support for the MPSSE mode of FTDI
	  (FT2xxx/FT4xxx) based devices (default is auto)

config BR2_PACKAGE_OPENOCD_STLINK
	bool "ST-Link JTAG Programmer"
	select BR2_PACKAGE_LIBUSB
	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
	help
	  Enable building support for the ST-Link JTAG
	  Programmer (default is auto)

config BR2_PACKAGE_OPENOCD_TI_ICDI
	bool "TI ICDI JTAG Programmer"
	select BR2_PACKAGE_LIBUSB
	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
	help
	  Enable building support for the TI ICDI JTAG
	  Programmer (default is auto)

config BR2_PACKAGE_OPENOCD_ULINK
	bool "Keil ULINK JTAG Programmer"
	select BR2_PACKAGE_LIBUSB
	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
	help
	  Enable building support for the Keil ULINK JTAG
	  Programmer (default is auto)

config BR2_PACKAGE_OPENOCD_UBLASTER2
	bool "Altera USB-Blaster II Compatible"
	select BR2_PACKAGE_LIBUSB
	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
	help
	  Enable building support for the Altera USB-Blaster
	  II Compatible (default is auto)

config BR2_PACKAGE_OPENOCD_JLINK
	bool "Segger J-Link JTAG Programmer"
	select BR2_PACKAGE_LIBUSB
	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
	help
	  Segger J-Link JTAG Programmer and clone such as Atmel
	  SAM-ICE

config BR2_PACKAGE_OPENOCD_OSDBM
	bool "OSDBM JTAG (only) Programmer"
	select BR2_PACKAGE_LIBUSB
	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
	help
	  Enable building support for the OSBDM (JTAG only)
	  Programmer (default is auto)

config BR2_PACKAGE_OPENOCD_OPENDOUS
	bool "eStick/opendous JTAG Programmer"
	select BR2_PACKAGE_LIBUSB
	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
	help
	  Enable building support for the eStick/opendous JTAG
	  Programmer (default is auto)

config BR2_PACKAGE_OPENOCD_AICE
	bool "Andes JTAG Programmer"
	select BR2_PACKAGE_LIBUSB
	depends on BR2_USE_MMU # use fork()
	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
	help
	  Enable building support for the Andes JTAG
	  Programmer (default is auto)

config BR2_PACKAGE_OPENOCD_VSLLINK
	bool "Versaloon-Link JTAG Programmer"
	select BR2_PACKAGE_LIBUSB_COMPAT
	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb-compat -> libusb
	help
	  Enable building support for the Versaloon-Link JTAG
	  Programmer (default is auto)

config BR2_PACKAGE_OPENOCD_USBPROG
	bool "USBProg JTAG Programmer"
	select BR2_PACKAGE_LIBUSB_COMPAT
	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb-compat -> libusb
	help
	  Enable building support for the USBProg JTAG
	  Programmer (default is auto)

config BR2_PACKAGE_OPENOCD_RLINK
	bool "Raisonance RLink JTAG Programmer"
	select BR2_PACKAGE_LIBUSB_COMPAT
	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb-compat -> libusb
	help
	  Enable building support for the Raisonance RLink
	  JTAG Programmer (default is auto)

config BR2_PACKAGE_OPENOCD_ARMEW
	bool "Olimex ARM-JTAG-EW Programmer"
	select BR2_PACKAGE_LIBUSB_COMPAT
	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb-compat -> libusb
	help
	  Enable building support for the Olimex ARM-JTAG-EW
	  Programmer (default is auto)

config BR2_PACKAGE_OPENOCD_PARPORT
	bool "pc parallel port driver"
	help
	  Enable building the pc parallel port driver

config BR2_PACKAGE_OPENOCD_FT2XXX
	bool "FT2232 based devices (DEPRECATED)"
	select BR2_PACKAGE_LIBFTDI
	depends on BR2_TOOLCHAIN_HAS_THREADS # libftdi -> libusb
	depends on BR2_ARCH_HAS_ATOMICS
	help
	  (DEPRECATED) Enable building support for FT2232
	  based devices using the libftdi library

config BR2_PACKAGE_OPENOCD_VPI
	bool "JTAG VPI"
	help
	  Enable building support for JTAG VPI

config BR2_PACKAGE_OPENOCD_UBLASTER
	bool "Altera USB-Blaster"
	select BR2_PACKAGE_LIBFTDI
	depends on BR2_TOOLCHAIN_HAS_THREADS # libftdi -> libusb
	depends on BR2_ARCH_HAS_ATOMICS
	help
	  Enable building support for the Altera USB-Blaster
	  using the libftdi driver, opensource alternate of
	  FTD2XX

config BR2_PACKAGE_OPENOCD_AMTJT
	bool "Amontec JTAG-Accelerator"
	help
	  Enable building the Amontec JTAG-Accelerator driver

if BR2_arm

config BR2_PACKAGE_OPENOCD_EP93XX
	bool "EP93xx based SBCs"
	help
	  Enable building support for EP93xx based SBCs

config BR2_PACKAGE_OPENOCD_AT91RM
	bool "AT91RM9200 based SBCs"
	help
	  Enable building support for AT91RM9200 based SBCs

config BR2_PACKAGE_OPENOCD_BCM2835
	bool "bitbanging on BCM2835"
	help
	  Enable building support for bitbanging on BCM2835
	  (as found in Raspberry Pi)

endif # BR2_arm

config BR2_PACKAGE_OPENOCD_GW16012
	bool "Gateworks GW16012 JTAG Programmer"
	help
	  Enable building support for the Gateworks GW16012
	  JTAG Programmer

config BR2_PACKAGE_OPENOCD_PRESTO
	bool "ASIX Presto Programmer"
	select BR2_PACKAGE_LIBFTDI
	depends on BR2_TOOLCHAIN_HAS_THREADS # libftdi -> libusb
	depends on BR2_ARCH_HAS_ATOMICS
	help
	  Enable building support for ASIX Presto Programmer
	  using the libftdi driver

config BR2_PACKAGE_OPENOCD_OPENJTAG
	bool "OpenJTAG Programmer"
	select BR2_PACKAGE_LIBFTDI
	depends on BR2_TOOLCHAIN_HAS_THREADS # libftdi -> libusb
	depends on BR2_ARCH_HAS_ATOMICS
	help
	  Enable building support for the OpenJTAG Programmer
	  with ftdi driver

config BR2_PACKAGE_OPENOCD_BUSPIRATE
	bool "Buspirate"
	help
	  Enable building support for the Buspirate

config BR2_PACKAGE_OPENOCD_SYSFS
	bool "programming via sysfs gpios"
	help
	  Enable building support for programming driven via
	  sysfs gpios.

# Many adapters need libusb or libusb-compat, which require threads,
# but we don't want to duplicate this comment for all adapters that
# select libusb or libusb-compat.
comment "many openocd adapters needs a toolchain w/ threads"
	depends on !BR2_TOOLCHAIN_HAS_THREADS

endif # BR2_PACKAGE_OPENOCD
