aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/system/gpio-cdev/nu801/Makefile39
-rwxr-xr-xpackage/system/gpio-cdev/nu801/files/nu801.init14
-rw-r--r--target/linux/x86/base-files/etc/board.d/01_leds2
-rw-r--r--target/linux/x86/modules.mk2
4 files changed, 55 insertions, 2 deletions
diff --git a/package/system/gpio-cdev/nu801/Makefile b/package/system/gpio-cdev/nu801/Makefile
new file mode 100644
index 0000000000..b3fae616cd
--- /dev/null
+++ b/package/system/gpio-cdev/nu801/Makefile
@@ -0,0 +1,39 @@
+# 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:=d9942c0ceb949080b93366a9431028de3608e535
+
+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:=@TARGET_x86 +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..a29554ae30
--- /dev/null
+++ b/package/system/gpio-cdev/nu801/files/nu801.init
@@ -0,0 +1,14 @@
+#!/bin/sh /etc/rc.common
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+START=11
+
+boot() {
+ . /lib/functions.sh
+ /usr/sbin/nu801 "$(board_name)"
+
+ # Because this is a userspace driver, we need to trigger diag.sh after
+ # we start the driver, but before boot is complete so we blink.
+ . /etc/diag.sh
+ set_state preinit_regular
+}
diff --git a/target/linux/x86/base-files/etc/board.d/01_leds b/target/linux/x86/base-files/etc/board.d/01_leds
index 42974d8290..74ad2d59fe 100644
--- a/target/linux/x86/base-files/etc/board.d/01_leds
+++ b/target/linux/x86/base-files/etc/board.d/01_leds
@@ -9,7 +9,7 @@ board_config_update
case "$(board_name)" in
cisco-mx100-hw)
ucidef_set_led_usbport "usb" "USB" "mx100:green:usb" "1-1-port2"
- ucidef_set_led_default "diag" "DIAG" "mx100:green:ha" "1"
+ ucidef_set_led_default "diag" "DIAG" "mx100:green:tricolor" "1"
;;
pc-engines-apu1|pc-engines-apu2|pc-engines-apu3)
ucidef_set_led_netdev "wan" "WAN" "apu:green:3" "eth0"
diff --git a/target/linux/x86/modules.mk b/target/linux/x86/modules.mk
index 4005ee97ef..0071ebda41 100644
--- a/target/linux/x86/modules.mk
+++ b/target/linux/x86/modules.mk
@@ -88,7 +88,7 @@ define KernelPackage/meraki-mx100
SUBMENU:=$(OTHER_MENU)
TITLE:=Cisco Meraki MX100 Platform Driver
DEPENDS:=@TARGET_x86 @!LINUX_5_4 +kmod-tg3 +kmod-gpio-button-hotplug +kmod-leds-gpio \
- +kmod-usb-ledtrig-usbport +kmod-itco-wdt
+ +kmod-usb-ledtrig-usbport +nu801 +kmod-itco-wdt
KCONFIG:=CONFIG_MERAKI_MX100
FILES:=$(LINUX_DIR)/drivers/platform/x86/meraki-mx100.ko
AUTOLOAD:=$(call AutoLoad,60,meraki-mx100,1)