summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsthen <sthen@openbsd.org>2019-03-22 12:04:25 +0000
committersthen <sthen@openbsd.org>2019-03-22 12:04:25 +0000
commitdd5672925edcb2bc9c95fdbbdb2fae8245aaec3e (patch)
tree58bf027d2c369cc22eff65036f1e32a01939a4dd
parentsync (diff)
downloadwireguard-openbsd-dd5672925edcb2bc9c95fdbbdb2fae8245aaec3e.tar.xz
wireguard-openbsd-dd5672925edcb2bc9c95fdbbdb2fae8245aaec3e.zip
support Meinberg DCF600USB, from weerd@, ok phessler
Diffstat (limited to '')
-rw-r--r--share/man/man4/umbg.46
-rw-r--r--sys/dev/usb/umbg.c21
2 files changed, 20 insertions, 7 deletions
diff --git a/share/man/man4/umbg.4 b/share/man/man4/umbg.4
index 24db381c574..6627519862f 100644
--- a/share/man/man4/umbg.4
+++ b/share/man/man4/umbg.4
@@ -1,4 +1,4 @@
-.\" $OpenBSD: umbg.4,v 1.4 2013/07/16 16:05:49 schwarze Exp $
+.\" $OpenBSD: umbg.4,v 1.5 2019/03/22 12:04:25 sthen Exp $
.\"
.\" Copyright (c) 2007 Marc Balmer <mbalmer@openbsd.org>
.\"
@@ -14,12 +14,12 @@
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd $Mdocdate: July 16 2013 $
+.Dd $Mdocdate: March 22 2019 $
.Dt UMBG 4
.Os
.Sh NAME
.Nm umbg
-.Nd Meinberg Funkuhren USB5131 timedelta sensor
+.Nd Meinberg Funkuhren USB5131 and DCF600USB timedelta sensors
.Sh SYNOPSIS
.Cd "umbg* at uhub?"
.Sh DESCRIPTION
diff --git a/sys/dev/usb/umbg.c b/sys/dev/usb/umbg.c
index b60b9246d50..debab3e7c81 100644
--- a/sys/dev/usb/umbg.c
+++ b/sys/dev/usb/umbg.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: umbg.c,v 1.25 2017/12/30 20:47:00 guenther Exp $ */
+/* $OpenBSD: umbg.c,v 1.26 2019/03/22 12:04:25 sthen Exp $ */
/*
* Copyright (c) 2007 Marc Balmer <mbalmer@openbsd.org>
@@ -156,8 +156,9 @@ umbg_match(struct device *parent, void *match, void *aux)
if (uaa->iface == NULL)
return UMATCH_NONE;
- return uaa->vendor == USB_VENDOR_MEINBERG &&
- uaa->product == USB_PRODUCT_MEINBERG_USB5131 ?
+ return uaa->vendor == USB_VENDOR_MEINBERG && (
+ uaa->product == USB_PRODUCT_MEINBERG_USB5131 ||
+ uaa->product == USB_PRODUCT_MEINBERG_DCF600USB) ?
UMATCH_VENDOR_PRODUCT : UMATCH_NONE;
}
@@ -172,6 +173,7 @@ umbg_attach(struct device *parent, struct device *self, void *aux)
usb_endpoint_descriptor_t *ed;
usbd_status err;
int signal;
+ const char *desc;
#ifdef UMBG_DEBUG
char fw_id[MBG_ID_LEN];
#endif
@@ -182,7 +184,18 @@ umbg_attach(struct device *parent, struct device *self, void *aux)
sc->sc_timedelta.type = SENSOR_TIMEDELTA;
sc->sc_timedelta.status = SENSOR_S_UNKNOWN;
- strlcpy(sc->sc_timedelta.desc, "USB5131",
+
+ switch (uaa->product) {
+ case USB_PRODUCT_MEINBERG_DCF600USB:
+ desc = "DCF600USB";
+ break;
+ case USB_PRODUCT_MEINBERG_USB5131:
+ desc = "USB5131";
+ break;
+ default:
+ desc = "Unspecified Radio clock";
+ }
+ strlcpy(sc->sc_timedelta.desc, desc,
sizeof(sc->sc_timedelta.desc));
sensor_attach(&sc->sc_sensordev, &sc->sc_timedelta);