From 71260fa70ed256fcbef169ad86e0939aadabaf70 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Wed, 29 Apr 2015 18:39:10 +0200 Subject: libusbg: add updated version of USB gadget library Add updated version of USB gadget library. Also add a systemd start- script which loads the default schema located at /etc/usbg/g1.schema. --- recipes-support/libusbg/libusbg/g1.schema | 65 ++++++++++++++++++++++++++++ recipes-support/libusbg/libusbg/usbg.service | 16 +++++++ recipes-support/libusbg/libusbg_git.bbappend | 25 +++++++++++ 3 files changed, 106 insertions(+) create mode 100644 recipes-support/libusbg/libusbg/g1.schema create mode 100644 recipes-support/libusbg/libusbg/usbg.service create mode 100644 recipes-support/libusbg/libusbg_git.bbappend 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" -- cgit v1.2.3