aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Blake <chrisrblake93@gmail.com>2021-09-24 08:42:03 -0500
committerChristian Lamparter <chunkeey@gmail.com>2021-10-10 16:47:41 +0200
commitf536f5ebddd9c532a08ac4a9be3ef0c02f7bfeb8 (patch)
tree670cb7186566671ae3a6edd1e2648f9bf23be7b7
parente166ee4ff123b18bc7248cda9596aa9ed7886a53 (diff)
downloadupstream-f536f5ebddd9c532a08ac4a9be3ef0c02f7bfeb8.tar.gz
upstream-f536f5ebddd9c532a08ac4a9be3ef0c02f7bfeb8.tar.bz2
upstream-f536f5ebddd9c532a08ac4a9be3ef0c02f7bfeb8.zip
gpio-cdev: add nu801 userspace driver
This adds a userspace interpretation of the nu801 driver used by Meraki hardware. Previously this was a driver that was added per target, but as multiple targets now have this driver, we should move to something that can be shared by all targets since no driver exists upstream. Co-developed-by: Christian Lamparter <chunkeey@gmail.com> Signed-off-by: Chris Blake <chrisrblake93@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
-rw-r--r--package/system/gpio-cdev/nu801/Makefile41
-rwxr-xr-xpackage/system/gpio-cdev/nu801/files/nu801.init15
2 files changed, 56 insertions, 0 deletions
diff --git a/package/system/gpio-cdev/nu801/Makefile b/package/system/gpio-cdev/nu801/Makefile
new file mode 100644
index 0000000000..a03d746634
--- /dev/null
+++ b/package/system/gpio-cdev/nu801/Makefile
@@ -0,0 +1,41 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=nu801
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/chunkeey/nu801.git
+PKG_SOURCE_VERSION:=794a588fce3150129bb2e5bb37590c7daceb8927
+
+PKG_MAINTAINER:=Christian Lamparter <chunkeey@gmail.com>
+PKG_LICENSE:=GPL-3.0-or-later
+PKG_LICENSE_FILES:=LICENSE
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/nu801
+ SECTION:=utils
+ CATEGORY:=Utilities
+ SUBMENU:=Userspace GPIO Drivers
+ DEPENDS:=@!LINUX_5_4 +kmod-leds-uleds
+ KCONFIG:= \
+ CONFIG_GPIO_CDEV=y
+ TITLE:=NU801 LED Driver
+endef
+
+define Package/nu801/description
+This package contains a userspace driver to power the NUMEN Tech. NU801 LED Driver.
+endef
+
+define Package/nu801/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/nu801 $(1)/usr/sbin/
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/nu801.init $(1)/etc/init.d/nu801
+
+endef
+
+$(eval $(call BuildPackage,nu801))
diff --git a/package/system/gpio-cdev/nu801/files/nu801.init b/package/system/gpio-cdev/nu801/files/nu801.init
new file mode 100755
index 0000000000..5613a92f6e
--- /dev/null
+++ b/package/system/gpio-cdev/nu801/files/nu801.init
@@ -0,0 +1,15 @@
+#!/bin/sh /etc/rc.common
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+START=15
+STOP=94
+USE_PROCD=1
+
+start_service() {
+ . /lib/functions.sh
+
+ procd_open_instance
+ procd_set_param command /usr/sbin/nu801 "$(board_name)"
+ procd_set_param respawn 5 1 5
+ procd_close_instance
+}