summaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
Diffstat (limited to 'package')
-rw-r--r--package/Config.in1
-rw-r--r--package/spidev_test/Config.in17
-rw-r--r--package/spidev_test/spidev_test.mk33
3 files changed, 51 insertions, 0 deletions
diff --git a/package/Config.in b/package/Config.in
index 84e7bd2669..e5686f6524 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -85,6 +85,7 @@ endif
source "package/ramsmp/Config.in"
source "package/ramspeed/Config.in"
source "package/rt-tests/Config.in"
+ source "package/spidev_test/Config.in"
source "package/strace/Config.in"
source "package/stress/Config.in"
source "package/sysprof/Config.in"
diff --git a/package/spidev_test/Config.in b/package/spidev_test/Config.in
new file mode 100644
index 0000000000..0d8214cc29
--- /dev/null
+++ b/package/spidev_test/Config.in
@@ -0,0 +1,17 @@
+config BR2_PACKAGE_SPIDEV_TEST
+ bool "spidev_test"
+ help
+ SPI testing utility (using spidev driver).
+
+ This package builds and installs the userspace 'spidev_test'
+ command. It is up to the user to ensure that the kernel
+ configuration has all suitable options enabled to allow a
+ proper operation of 'spidev_test'.
+
+ The version used is based on your toolchain headers version,
+ if it's older than 3.15 then 3.0 is used, otherwise 3.15
+ is used.
+ This means you won't have quad-pumped SPI support if your
+ toolchain is too old.
+
+ https://www.kernel.org/doc/Documentation/spi/spidev_test.c
diff --git a/package/spidev_test/spidev_test.mk b/package/spidev_test/spidev_test.mk
new file mode 100644
index 0000000000..646372f2f5
--- /dev/null
+++ b/package/spidev_test/spidev_test.mk
@@ -0,0 +1,33 @@
+################################################################################
+#
+# spidev_test
+#
+################################################################################
+
+# v3.15+ requires SPI_TX_QUAD/SPI_RX_QUAD to build
+# Normally kernel headers can't be newer than kernel so switch based on that.
+# If you need quad-pumped spi support you need to upgrade your toolchain.
+ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15),y)
+SPIDEV_TEST_VERSION = v3.15
+else
+SPIDEV_TEST_VERSION = v3.0
+endif
+SPIDEV_TEST_SITE = http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Documentation/spi
+SPIDEV_TEST_SOURCE = spidev_test.c?id=$(SPIDEV_TEST_VERSION)
+SPIDEV_TEST_LICENSE = GPLv2
+
+define SPIDEV_TEST_EXTRACT_CMDS
+ cp $(BR2_DL_DIR)/$(SPIDEV_TEST_SOURCE) $(@D)/spidev_test.c
+endef
+
+define SPIDEV_TEST_BUILD_CMDS
+ $(TARGET_MAKE_ENV) $(TARGET_CC) $(TARGET_CFLAGS) \
+ -o $(@D)/spidev_test $(@D)/spidev_test.c
+endef
+
+define SPIDEV_TEST_INSTALL_TARGET_CMDS
+ $(INSTALL) -D -m 755 $(@D)/spidev_test \
+ $(TARGET_DIR)/usr/sbin/spidev_test
+endef
+
+$(eval $(generic-package))
OpenPOWER on IntegriCloud