summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/controller/musb_otg_atmelarm.c
diff options
context:
space:
mode:
authorgonzo <gonzo@FreeBSD.org>2013-07-07 04:18:35 +0000
committergonzo <gonzo@FreeBSD.org>2013-07-07 04:18:35 +0000
commite53815624101b9a58df54ecf307d7399e774e635 (patch)
tree87be2140f069240ab4a763e02e14a7ee085e0650 /sys/dev/usb/controller/musb_otg_atmelarm.c
parent512e5343cf6f5fa545734a03e0943f4d7ada4d57 (diff)
downloadFreeBSD-src-e53815624101b9a58df54ecf307d7399e774e635.zip
FreeBSD-src-e53815624101b9a58df54ecf307d7399e774e635.tar.gz
- Add initial host mode support for Mentor Graphics USB OTG controller
- Sync musb_otg_atmelarm with new core logic API
Diffstat (limited to 'sys/dev/usb/controller/musb_otg_atmelarm.c')
-rw-r--r--sys/dev/usb/controller/musb_otg_atmelarm.c28
1 files changed, 26 insertions, 2 deletions
diff --git a/sys/dev/usb/controller/musb_otg_atmelarm.c b/sys/dev/usb/controller/musb_otg_atmelarm.c
index bb3e60a..4e446eb 100644
--- a/sys/dev/usb/controller/musb_otg_atmelarm.c
+++ b/sys/dev/usb/controller/musb_otg_atmelarm.c
@@ -94,6 +94,26 @@ musbotg_clocks_off(void *arg)
#endif
}
+static void
+musbotg_wrapper_interrupt(void *arg)
+{
+
+ /*
+ * Nothing to do.
+ * Main driver takes care about everything
+ */
+ musbotg_interrupt(arg, 0, 0, 0);
+}
+
+static void
+musbotg_ep_int_set(struct musbotg_softc *sc, int ep, int on)
+{
+ /*
+ * Nothing to do.
+ * Main driver takes care about everything
+ */
+}
+
static int
musbotg_probe(device_t dev)
{
@@ -147,12 +167,16 @@ musbotg_attach(device_t dev)
}
device_set_ivars(sc->sc_otg.sc_bus.bdev, &sc->sc_otg.sc_bus);
+ sc->sc_otg.sc_id = 0;
+ sc->sc_otg.sc_platform_data = sc;
+ sc->sc_otg.sc_mode = MUSB2_DEVICE_MODE;
+
#if (__FreeBSD_version >= 700031)
err = bus_setup_intr(dev, sc->sc_otg.sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE,
- NULL, (driver_intr_t *)musbotg_interrupt, sc, &sc->sc_otg.sc_intr_hdl);
+ NULL, (driver_intr_t *)musbotg_wrapper_interrupt, sc, &sc->sc_otg.sc_intr_hdl);
#else
err = bus_setup_intr(dev, sc->sc_otg.sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE,
- (driver_intr_t *)musbotg_interrupt, sc, &sc->sc_otg.sc_intr_hdl);
+ (driver_intr_t *)musbotg_wrapper_interrupt, sc, &sc->sc_otg.sc_intr_hdl);
#endif
if (err) {
sc->sc_otg.sc_intr_hdl = NULL;
OpenPOWER on IntegriCloud