summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2016-03-22 09:07:43 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2016-03-22 09:08:00 +0100
commit561a2b5764af1fd1301e24d703e680aafc0ffae5 (patch)
treebc88af3969cdecf145d86ade01a26efe279c4a64
parentab20306b70b10a860b566bf912487d1f8a6eb22e (diff)
nfc: add driver and library for nfc-nci chips
-rw-r--r--mk/pkg-bottom.mk2
-rw-r--r--package/Config.in1
-rw-r--r--package/libnfc-nci/Makefile35
-rw-r--r--package/libnfc-nci/patches/patch-configure_ac37
-rw-r--r--package/nxp-pn5xx/Makefile35
-rw-r--r--package/section.lst1
6 files changed, 110 insertions, 1 deletions
diff --git a/mk/pkg-bottom.mk b/mk/pkg-bottom.mk
index f16f854e1..a519c7a22 100644
--- a/mk/pkg-bottom.mk
+++ b/mk/pkg-bottom.mk
@@ -25,7 +25,7 @@ post-configure:
${_CONFIGURE_COOKIE}: ${_PATCH_COOKIE}
ifneq (,$(filter bootstrap,${AUTOTOOL_STYLE}))
@$(CMD_TRACE) "autotool configuring.. "
- @cd ${WRKSRC}; env ${AUTOTOOL_ENV} $(BASH) bootstrap.sh $(MAKE_TRACE)
+ @cd ${WRKSRC}; env ${AUTOTOOL_ENV} $(BASH) bootstrap* $(MAKE_TRACE)
endif
ifneq (,$(filter autogen,${AUTOTOOL_STYLE}))
@$(CMD_TRACE) "autotool configuring.. "
diff --git a/package/Config.in b/package/Config.in
index a392c6e4e..a3ddfe633 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -8,6 +8,7 @@ source package/Config.in.auto.base.tests
endmenu
menu "System"
+source package/Config.in.auto.sys.drivers
source package/Config.in.auto.sys.fs
source package/Config.in.auto.sys.serial
source package/Config.in.auto.sys.utils
diff --git a/package/libnfc-nci/Makefile b/package/libnfc-nci/Makefile
new file mode 100644
index 000000000..2632d167c
--- /dev/null
+++ b/package/libnfc-nci/Makefile
@@ -0,0 +1,35 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libnfc-nci
+PKG_VERSION:= fbad2fb842f2b4e7cfd5bc82136a9381402c07ce
+PKG_RELEASE:= 1
+PKG_GIT:= hash
+PKG_DESCR:= nfc nci library
+PKG_SECTION:= libs/net
+PKG_DEPENDS:= nxp-pn5xx
+PKG_NEEDS:= threads rt c++
+PKG_URL:= https://github.com/NXPNFCLinux/linux_libnfc-nci
+PKG_SITES:= https://github.com/NXPNFCLinux/linux_libnfc-nci.git
+PKG_OPTS:= dev
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBNFC_NCI,libnfc-nci,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+AUTOTOOL_STYLE:= bootstrap
+
+libnfc-nci-install:
+ $(INSTALL_DIR) $(IDIR_LIBNFC_NCI)/etc
+ $(INSTALL_DIR) $(IDIR_LIBNFC_NCI)/usr/lib
+ $(INSTALL_DIR) $(IDIR_LIBNFC_NCI)/usr/sbin
+ $(CP) $(WRKINST)/usr/lib/libnfc*.so* \
+ $(IDIR_LIBNFC_NCI)/usr/lib
+ $(CP) $(WRKINST)/usr/sbin/nfcDemoApp \
+ $(IDIR_LIBNFC_NCI)/usr/sbin
+ $(CP) $(WRKINST)/etc/libnfc* \
+ $(IDIR_LIBNFC_NCI)/etc
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libnfc-nci/patches/patch-configure_ac b/package/libnfc-nci/patches/patch-configure_ac
new file mode 100644
index 000000000..fc8d2c6e2
--- /dev/null
+++ b/package/libnfc-nci/patches/patch-configure_ac
@@ -0,0 +1,37 @@
+--- libnfc-nci-fbad2fb842f2b4e7cfd5bc82136a9381402c07ce.orig/configure.ac 2016-03-21 10:14:22.000000000 +0100
++++ libnfc-nci-fbad2fb842f2b4e7cfd5bc82136a9381402c07ce/configure.ac 2016-03-21 10:21:27.855611688 +0100
+@@ -54,16 +54,6 @@ AC_ARG_ENABLE([pn7120],
+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-pn7120]) ;;
+ esac],[pn7120=false])
+
+-AC_ARG_VAR(openssldir, help-string)
+-
+-AC_ARG_ENABLE([llcp1_3],
+-[ --enable-llcp1_3 enable LLCP1.3 (secured P2P)],
+-[case "${enableval}" in
+- yes) llcp1_3=true ;;
+- no) llcp1_3=false ;;
+- *) AC_MSG_ERROR([bad value ${enableval} for --enable-llcp1_3]) ;;
+-esac],[llcp1_3=false])
+-
+ AM_CONDITIONAL([CHIP_SEL_NOK], [
+ COUNT=0
+ if [ "$pn7120" = "true" ]; then
+@@ -73,17 +63,6 @@ if [test "$COUNT" -gt 1]; then
+ AC_MSG_ERROR(Can not enable multiple chip type)
+ fi])
+
+-AM_CONDITIONAL([LLCP1_3_ENABLED], [if [$llcp1_3]; then
+-AC_MSG_NOTICE([LLCP1.3 support is enabled (secure P2P)])
+-AM_CONDITIONAL([OPENSSLDIR_SET], [if ["${ac_cv_env_openssldir_set}" = "set"]; then
+-AC_MSG_NOTICE([openssldir path set])
+-else
+-AC_MSG_ERROR(path to openssldir not set (required when LLCP1.3 support is enabled))
+-fi])
+-else
+-AC_MSG_NOTICE([LLCP1.3 support is disabled (no secure P2P)])
+-fi])
+-
+ AM_CONDITIONAL([CHIP_SEL_ONE], [if [$pn7120]; then
+ AC_MSG_NOTICE([Selected chip type is PN7120])
+ else
diff --git a/package/nxp-pn5xx/Makefile b/package/nxp-pn5xx/Makefile
new file mode 100644
index 000000000..274754fa8
--- /dev/null
+++ b/package/nxp-pn5xx/Makefile
@@ -0,0 +1,35 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= nxp-pn5xx
+PKG_VERSION:= 573e2ddb7cd15c34d3da0743318569f48b949ceb
+PKG_GIT:= hash
+PKG_RELEASE:= 1
+PKG_DESCR:= driver for nfc pn5xx/pn71xx
+PKG_SECTION:= sys/drivers
+PKG_URL:= https://github.com/NXPNFCLinux/nxp-pn5xx
+PKG_SITES:= https://github.com/NXPNFCLinux/nxp-pn5xx.git
+
+include $(ADK_TOPDIR)/mk/package.mk
+include ${ADK_TOPDIR}/mk/kernel-ver.mk
+include ${ADK_TOPDIR}/mk/kernel-vars.mk
+
+$(eval $(call PKG_template,NXP_PN5XX,nxp-pn5xx,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIG_STYLE:= manual
+BUILD_STYLE:= manual
+INSTALL_STYLE:= manual
+
+do-build:
+ GCC_HONOUR_COPTS=0 LDFLAGS="" ${MAKE} -C ${LINUX_DIR} ${KERNEL_MAKE_OPTS} M="${WRKBUILD}" modules
+
+do-install:
+ ${INSTALL_DIR} ${IDIR_NXP_PN5XX}/etc/modules.d/
+ echo "pn5xx_i2c" > ${IDIR_NXP_PN5XX}/etc/modules.d/90-pn5xx
+ ${INSTALL_DIR} ${IDIR_NXP_PN5XX}/lib/modules/${KERNEL_VERSION}/
+ $(INSTALL_DATA) $(WRKBUILD)/pn5xx_i2c.ko \
+ $(IDIR_NXP_PN5XX)/lib/modules/${KERNEL_VERSION}/
+
+include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/section.lst b/package/section.lst
index ce6587491..17b2dc696 100644
--- a/package/section.lst
+++ b/package/section.lst
@@ -4,6 +4,7 @@ base/apps Base System
base/misc Base Misc
base/tests Testsuites
base/shells Shells
+sys/drivers Hardware drivers / externel Kernel modules
sys/fs Filesystem / Blockdevice Utilities
sys/misc System Misc
sys/serial Serial communications & terminal emulation