From f026aa7bd09a75034b28a0aa7e750059fd2c2813 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Tue, 17 Apr 2012 14:47:42 +0200 Subject: beaglebone-capes: userspace support for capes Not everything can be done inside the kernel yet, so have a script that does the userspace portion. Only the LCD3 cape is supported currently, more will follow later. Signed-off-by: Koen Kooi Signed-off-by: Denys Dmytriyenko --- recipes-ti/beagleboard/beaglebone-capes.bb | 23 ++++++++++++++++++++++ .../beagleboard/beaglebone-capes/cape.service | 8 ++++++++ recipes-ti/beagleboard/beaglebone-capes/cape.sh | 12 +++++++++++ 3 files changed, 43 insertions(+) create mode 100644 recipes-ti/beagleboard/beaglebone-capes.bb create mode 100644 recipes-ti/beagleboard/beaglebone-capes/cape.service create mode 100755 recipes-ti/beagleboard/beaglebone-capes/cape.sh diff --git a/recipes-ti/beagleboard/beaglebone-capes.bb b/recipes-ti/beagleboard/beaglebone-capes.bb new file mode 100644 index 00000000..88d4a173 --- /dev/null +++ b/recipes-ti/beagleboard/beaglebone-capes.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "Userspace setup for beaglebone capes" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58" + +inherit allarch + +SRC_URI = "file://cape.service \ + file://cape.sh \ + " + +do_install() { + install -d ${D}${base_libdir}/systemd/system/ + install -m 0644 ${WORKDIR}/cape.service ${D}${base_libdir}/systemd/system + + install -d ${D}${base_libdir}/systemd/system/basic.target.wants + ln -sf ../cape.service ${D}${base_libdir}/systemd/system/basic.target.wants/ + + install -d ${D}${bindir} + install -m 0755 ${WORKDIR}/cape.sh ${D}${bindir} +} + +FILES_${PN} += "${base_libdir}/systemd/system" diff --git a/recipes-ti/beagleboard/beaglebone-capes/cape.service b/recipes-ti/beagleboard/beaglebone-capes/cape.service new file mode 100644 index 00000000..44a2a38b --- /dev/null +++ b/recipes-ti/beagleboard/beaglebone-capes/cape.service @@ -0,0 +1,8 @@ +[Unit] +Description=Beaglebone cape support + +[Service] +ExecStart=/usr/bin/cape.sh + +[Install] +WantedBy=basic.target diff --git a/recipes-ti/beagleboard/beaglebone-capes/cape.sh b/recipes-ti/beagleboard/beaglebone-capes/cape.sh new file mode 100755 index 00000000..69accfff --- /dev/null +++ b/recipes-ti/beagleboard/beaglebone-capes/cape.sh @@ -0,0 +1,12 @@ +#!/bin/sh +for eeprom in /sys/bus/i2c/devices/3-005*/eeprom ; do + PARTNUMBER=$(hexdump -e '8/1 "%c"' $eeprom -s 58 -n16) + case $PARTNUMBER in + "BB-BONE-LCD3-01.") + echo "Turning on backlight for LCD3 cape" + i2cset -f -y 1 0x24 0x07 0x09 + i2cset -f -y 1 0x24 0x08 0x60;; + *) + echo "unknown cape: $PARTNUMBER";; + esac +done -- cgit v1.2.3-54-g00ecf