summaryrefslogtreecommitdiff
path: root/recipes-support/usb-suspend-resume
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-support/usb-suspend-resume')
-rw-r--r--recipes-support/usb-suspend-resume/files/usb-resume.service10
-rw-r--r--recipes-support/usb-suspend-resume/files/usb-resume.sh11
-rw-r--r--recipes-support/usb-suspend-resume/files/usb-suspend.service10
-rw-r--r--recipes-support/usb-suspend-resume/files/usb-suspend.sh2
-rw-r--r--recipes-support/usb-suspend-resume/usb-suspend-resume.bb37
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"