diff options
Diffstat (limited to 'recipes-support')
5 files changed, 70 insertions, 0 deletions
diff --git a/recipes-support/usb-suspend-resume/files/usb-resume.service b/recipes-support/usb-suspend-resume/files/usb-resume.service new file mode 100644 index 0000000..3bd9713 --- /dev/null +++ b/recipes-support/usb-suspend-resume/files/usb-resume.service @@ -0,0 +1,10 @@ +[Unit] +Description=User resume actions +After=suspend.target + +[Service] +Type=simple +ExecStart=-/usr/bin/usb-resume.sh + +[Install] +WantedBy=suspend.target diff --git a/recipes-support/usb-suspend-resume/files/usb-resume.sh b/recipes-support/usb-suspend-resume/files/usb-resume.sh new file mode 100644 index 0000000..2584813 --- /dev/null +++ b/recipes-support/usb-suspend-resume/files/usb-resume.sh @@ -0,0 +1,11 @@ +#!/bin/sh +echo ci_hdrc.1 > /sys/bus/platform/drivers/ci_hdrc/unbind +echo ci_hdrc.1 > /sys/bus/platform/drivers/ci_hdrc/bind +echo ci_hdrc.0 > /sys/bus/platform/drivers/ci_hdrc/unbind +echo ci_hdrc.0 > /sys/bus/platform/drivers/ci_hdrc/bind +/bin/sh -c '/bin/cat /proc/device-tree/model > \ + /sys/kernel/config/usb_gadget/g1/strings/0x409/product' +/bin/sh -c '/bin/cat /proc/device-tree/serial-number > \ + /sys/kernel/config/usb_gadget/g1/strings/0x409/serialnumber' +/bin/sh -c '/bin/echo `ls /sys/class/udc/` > \ + /sys/kernel/config/usb_gadget/g1/UDC' diff --git a/recipes-support/usb-suspend-resume/files/usb-suspend.service b/recipes-support/usb-suspend-resume/files/usb-suspend.service new file mode 100644 index 0000000..e56630d --- /dev/null +++ b/recipes-support/usb-suspend-resume/files/usb-suspend.service @@ -0,0 +1,10 @@ +[Unit] +Description=User suspend actions +Before=sleep.target + +[Service] +Type=simple +ExecStart=-/usr/bin/usb-suspend.sh + +[Install] +WantedBy=sleep.target diff --git a/recipes-support/usb-suspend-resume/files/usb-suspend.sh b/recipes-support/usb-suspend-resume/files/usb-suspend.sh new file mode 100644 index 0000000..4a2df84 --- /dev/null +++ b/recipes-support/usb-suspend-resume/files/usb-suspend.sh @@ -0,0 +1,2 @@ +#!/bin/sh +echo "" > /sys/kernel/config/usb_gadget/g1/UDC diff --git a/recipes-support/usb-suspend-resume/usb-suspend-resume.bb b/recipes-support/usb-suspend-resume/usb-suspend-resume.bb new file mode 100644 index 0000000..d555b79 --- /dev/null +++ b/recipes-support/usb-suspend-resume/usb-suspend-resume.bb @@ -0,0 +1,37 @@ +SECTION = "USB" +SUMMARY = "Fix for USB suspend resume on Vybrid" +RDEPENDS_${PN} = "" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690" + +PR = "r1" + +inherit allarch systemd + +SRC_URI = " \ + file://usb-suspend.sh \ + file://usb-resume.sh \ + file://usb-suspend.service \ + file://usb-resume.service \ +" + +do_install() { + install -d ${D}/${bindir} + install -m 0755 ${WORKDIR}/usb-suspend.sh ${D}/${bindir}/ + install -m 0755 ${WORKDIR}/usb-resume.sh ${D}/${bindir}/ + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/usb-suspend.service ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/usb-resume.service ${D}${systemd_unitdir}/system +} + +FILES_${PN} += " \ + ${systemd_unitdir}/system \ +" + +NATIVE_SYSTEMD_SUPPORT = "1" +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "usb-suspend.service usb-resume.service" +SYSTEMD_AUTO_ENABLE_mx6 = "disable" +SYSTEMD_AUTO_ENABLE_t30 = "disable" +SYSTEMD_AUTO_ENABLE_t20 = "disable" |