summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--recipes-support/libusbg/libusbg/g1.schema65
-rw-r--r--recipes-support/libusbg/libusbg/usbg.service16
-rw-r--r--recipes-support/libusbg/libusbg_git.bbappend25
3 files changed, 106 insertions, 0 deletions
diff --git a/recipes-support/libusbg/libusbg/g1.schema b/recipes-support/libusbg/libusbg/g1.schema
new file mode 100644
index 0000000..ebe91b4
--- /dev/null
+++ b/recipes-support/libusbg/libusbg/g1.schema
@@ -0,0 +1,65 @@
+attrs :
+{
+ bcdUSB = 0x0;
+ bDeviceClass = 0x0;
+ bDeviceSubClass = 0x0;
+ bDeviceProtocol = 0x0;
+ bMaxPacketSize0 = 0x40;
+ idVendor = 0x1d6b;
+ idProduct = 0x0104;
+ bcdDevice = 0x400;
+};
+strings = (
+ {
+ lang = 0x409;
+ manufacturer = "Toradex";
+ product = "Unknown";
+ serialnumber = "";
+ } );
+functions :
+{
+ acm_GS0 :
+ {
+ instance = "GS0";
+ type = "acm";
+ attrs :
+ {
+ port_num = 0;
+ };
+ };
+ rndis_0 :
+ {
+ instance = "0";
+ type = "rndis";
+ attrs :
+ {
+ dev_addr = "00:14:2d:ff:ff:ff";
+ host_addr = "00:14:2d:ff:ff:fe";
+ qmult = 5;
+ };
+ };
+};
+configs = (
+ {
+ id = 1;
+ name = "c";
+ attrs :
+ {
+ bmAttributes = 0x80;
+ bMaxPower = 0x2;
+ };
+ strings = (
+ {
+ lang = 0x409;
+ configuration = "Conf 1";
+ } );
+ functions = (
+ {
+ name = "acm.GS0";
+ function = "acm_GS0";
+ },
+ {
+ name = "rndis.0";
+ function = "rndis_0";
+ } );
+ } );
diff --git a/recipes-support/libusbg/libusbg/usbg.service b/recipes-support/libusbg/libusbg/usbg.service
new file mode 100644
index 0000000..ac16ee3
--- /dev/null
+++ b/recipes-support/libusbg/libusbg/usbg.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Load default USB gadget schema g1.schema
+ConditionPathExists=/etc/usbg/g1.schema
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/gadget-import g1 /etc/usbg/g1.schema
+ExecStartPost=/bin/sh -c '/bin/cat /proc/device-tree/model > \
+ /sys/kernel/config/usb_gadget/g1/strings/0x409/product'
+ExecStartPost=/bin/sh -c '/bin/cat /proc/device-tree/serial-number > \
+ /sys/kernel/config/usb_gadget/g1/strings/0x409/serialnumber'
+ExecStartPost=/bin/sh -c '/bin/echo `ls /sys/class/udc/` > \
+ /sys/kernel/config/usb_gadget/g1/UDC'
+
+[Install]
+WantedBy=multi-user.target
diff --git a/recipes-support/libusbg/libusbg_git.bbappend b/recipes-support/libusbg/libusbg_git.bbappend
new file mode 100644
index 0000000..ceb009d
--- /dev/null
+++ b/recipes-support/libusbg/libusbg_git.bbappend
@@ -0,0 +1,25 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/libusbg:"
+
+PV = "0.1.0-git"
+
+SRCREV = "93631e618436989ebd7e9df2c997c175feb14bda"
+SRC_URI = "git://github.com/kopasiak/libusbg.git \
+ file://usbg.service \
+ file://g1.schema \
+"
+
+DEPENDS = "libconfig"
+
+inherit autotools pkgconfig systemd
+
+do_install_append () {
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/usbg.service ${D}${systemd_unitdir}/system
+
+ install -d ${D}${sysconfdir}/usbg/
+ install -m 0644 ${WORKDIR}/g1.schema ${D}${sysconfdir}/usbg/g1.schema
+}
+
+NATIVE_SYSTEMD_SUPPORT = "1"
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "usbg.service"