jtag/drivers: add linuxgpiod driver
New adapter driver for GPIO bitbanging over Linux GPIO descriptors through the library libgpiod. On Debian based distribution, the package libgpiod-dev is required for build. Change-Id: I1ce1a4f1ca79096d6d476b01b523c8c10f2cac07 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5559 Tested-by: jenkins
This commit is contained in:
17
configure.ac
17
configure.ac
@@ -137,6 +137,9 @@ m4_define([LIBFTDI_ADAPTERS],
|
||||
[[presto], [ASIX Presto Adapter], [PRESTO]],
|
||||
[[openjtag], [OpenJTAG Adapter], [OPENJTAG]]])
|
||||
|
||||
m4_define([LIBGPIOD_ADAPTERS],
|
||||
[[[linuxgpiod], [Linux GPIO bitbang through libgpiod], [LINUXGPIOD]]])
|
||||
|
||||
m4_define([LIBJAYLINK_ADAPTERS],
|
||||
[[[jlink], [SEGGER J-Link Programmer], [JLINK]]])
|
||||
|
||||
@@ -241,6 +244,7 @@ AC_ARG_ADAPTERS([
|
||||
HIDAPI_ADAPTERS,
|
||||
HIDAPI_USB1_ADAPTERS,
|
||||
LIBFTDI_ADAPTERS,
|
||||
LIBGPIOD_ADAPTERS,
|
||||
LIBJAYLINK_ADAPTERS
|
||||
],[auto])
|
||||
|
||||
@@ -335,6 +339,10 @@ AS_CASE([$host_os],
|
||||
AC_MSG_ERROR([sysfsgpio is only available on linux])
|
||||
])
|
||||
|
||||
AS_IF([test "x$enable_linuxgpiod" = "xyes"], [
|
||||
AC_MSG_ERROR([linuxgpiod is only available on linux])
|
||||
])
|
||||
|
||||
AS_IF([test "x$build_xlnx_pcie_xvc" = "xyes"], [
|
||||
AC_MSG_ERROR([xlnx_pcie_xvc is only available on linux])
|
||||
])
|
||||
@@ -643,6 +651,8 @@ PKG_CHECK_MODULES([LIBFTDI], [libftdi1], [use_libftdi=yes], [
|
||||
PKG_CHECK_MODULES([LIBFTDI], [libftdi], [use_libftdi=yes], [use_libftdi=no])
|
||||
])
|
||||
|
||||
PKG_CHECK_MODULES([LIBGPIOD], [libgpiod], [use_libgpiod=yes], [use_libgpiod=no])
|
||||
|
||||
PKG_CHECK_MODULES([LIBJAYLINK], [libjaylink >= 0.2],
|
||||
[use_libjaylink=yes], [use_libjaylink=no])
|
||||
|
||||
@@ -672,6 +682,7 @@ PROCESS_ADAPTERS([USB0_ADAPTERS], ["x$use_libusb0" = "xyes"], [libusb-0.1])
|
||||
PROCESS_ADAPTERS([HIDAPI_ADAPTERS], ["x$use_hidapi" = "xyes"], [hidapi])
|
||||
PROCESS_ADAPTERS([HIDAPI_USB1_ADAPTERS], ["x$use_hidapi" = "xyes" -a "x$use_libusb1" = "xyes"], [hidapi and libusb-1.x])
|
||||
PROCESS_ADAPTERS([LIBFTDI_ADAPTERS], ["x$use_libftdi" = "xyes"], [libftdi])
|
||||
PROCESS_ADAPTERS([LIBGPIOD_ADAPTERS], ["x$use_libgpiod" = "xyes"], [libgpiod])
|
||||
PROCESS_ADAPTERS([LIBJAYLINK_ADAPTERS], ["x$use_internal_libjaylink" = "xyes" -o "x$use_libjaylink" = "xyes"], [libjaylink-0.2])
|
||||
|
||||
AS_IF([test "x$build_openjtag" = "xyes"], [
|
||||
@@ -681,6 +692,10 @@ AS_IF([test "x$build_openjtag" = "xyes"], [
|
||||
])
|
||||
])
|
||||
|
||||
AS_IF([test "x$enable_linuxgpiod" != "xno"], [
|
||||
build_bitbang=yes
|
||||
])
|
||||
|
||||
AS_IF([test "x$enable_stlink" != "xno" -o "x$enable_ti_icdi" != "xno"], [
|
||||
AC_DEFINE([BUILD_HLADAPTER], [1], [1 if you want the High Level JTAG driver.])
|
||||
AM_CONDITIONAL([HLADAPTER], [true])
|
||||
@@ -736,6 +751,7 @@ AM_CONDITIONAL([IS_WIN32], [test "x$is_win32" = "xyes"])
|
||||
AM_CONDITIONAL([IS_DARWIN], [test "x$is_darwin" = "xyes"])
|
||||
AM_CONDITIONAL([BITQ], [test "x$build_bitq" = "xyes"])
|
||||
AM_CONDITIONAL([USE_LIBFTDI], [test "x$use_libftdi" = "xyes"])
|
||||
AM_CONDITIONAL([USE_LIBGPIOD], [test "x$use_libgpiod" = "xyes"])
|
||||
AM_CONDITIONAL([USE_HIDAPI], [test "x$use_hidapi" = "xyes"])
|
||||
AM_CONDITIONAL([USE_LIBJAYLINK], [test "x$use_libjaylink" = "xyes"])
|
||||
AM_CONDITIONAL([RSHIM], [test "x$build_rshim" = "xyes"])
|
||||
@@ -807,6 +823,7 @@ echo OpenOCD configuration summary
|
||||
echo --------------------------------------------------
|
||||
m4_foreach([adapter], [USB1_ADAPTERS, USB0_ADAPTERS,
|
||||
HIDAPI_ADAPTERS, HIDAPI_USB1_ADAPTERS, LIBFTDI_ADAPTERS,
|
||||
LIBGPIOD_ADAPTERS,
|
||||
LIBJAYLINK_ADAPTERS, PCIE_ADAPTERS],
|
||||
[s=m4_format(["%-40s"], ADAPTER_DESC([adapter]))
|
||||
AS_CASE([$ADAPTER_VAR([adapter])],
|
||||
|
||||
Reference in New Issue
Block a user