FreeBSD kernel usb device Code
|
#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/bus.h>
#include <sys/rman.h>
#include <sys/kernel.h>
#include <sys/condvar.h>
#include <sys/module.h>
#include <machine/bus.h>
#include <dev/ofw/ofw_bus.h>
#include <dev/ofw/ofw_bus_subr.h>
#include <dev/usb/usb.h>
#include <dev/usb/usbdi.h>
#include <dev/usb/usb_core.h>
#include <dev/usb/usb_busdma.h>
#include <dev/usb/usb_process.h>
#include <dev/usb/usb_util.h>
#include <dev/usb/usb_controller.h>
#include <dev/usb/usb_bus.h>
#include <dev/usb/controller/musb_otg.h>
#include <dev/extres/clk/clk.h>
#include <dev/extres/hwreset/hwreset.h>
#include <dev/extres/phy/phy.h>
#include <dev/extres/phy/phy_usb.h>
Go to the source code of this file.
Data Structures | |
struct | awusbdrd_softc |
Macros | |
#define | DRD_EP_MAX 5 |
#define | DRD_EP_MAX_H3 4 |
#define | MUSB2_REG_AWIN_VEND0 0x0043 |
#define | VEND0_PIO_MODE 0 |
#define | AWUSB_OKAY 0x01 |
#define | AWUSB_NO_CONFDATA 0x02 |
#define | REMAPFLAG 0x8000 |
#define | REGDECL(a, b) [(a)] = ((b) | REMAPFLAG) |
Functions | |
__FBSDID ("$FreeBSD$") | |
static bus_size_t | awusbdrd_reg (bus_size_t o) |
static int | awusbdrd_filt (bus_size_t o) |
static uint8_t | awusbdrd_bs_r_1 (awusb_bs_tag t, bus_space_handle_t h, bus_size_t o) |
static uint8_t | awusbdrd_bs_r_1_noconf (awusb_bs_tag t, bus_space_handle_t h, bus_size_t o) |
static uint16_t | awusbdrd_bs_r_2 (awusb_bs_tag t, bus_space_handle_t h, bus_size_t o) |
static void | awusbdrd_bs_w_1 (awusb_bs_tag t, bus_space_handle_t h, bus_size_t o, uint8_t v) |
static void | awusbdrd_bs_w_2 (awusb_bs_tag t, bus_space_handle_t h, bus_size_t o, uint16_t v) |
static void | awusbdrd_bs_rm_1 (awusb_bs_tag t, bus_space_handle_t h, bus_size_t o, uint8_t *d, bus_size_t c) |
static void | awusbdrd_bs_rm_4 (awusb_bs_tag t, bus_space_handle_t h, bus_size_t o, uint32_t *d, bus_size_t c) |
static void | awusbdrd_bs_wm_1 (awusb_bs_tag t, bus_space_handle_t h, bus_size_t o, const uint8_t *d, bus_size_t c) |
static void | awusbdrd_bs_wm_4 (awusb_bs_tag t, bus_space_handle_t h, bus_size_t o, const uint32_t *d, bus_size_t c) |
static void | awusbdrd_intr (void *arg) |
static int | awusbdrd_probe (device_t dev) |
static int | awusbdrd_attach (device_t dev) |
static int | awusbdrd_detach (device_t dev) |
DRIVER_MODULE (musbotg, simplebus, awusbdrd_driver, awusbdrd_devclass, 0, 0) | |
MODULE_DEPEND (musbotg, usb, 1, 1, 1) | |
Variables | |
static struct ofw_compat_data | compat_data [] |
static const struct musb_otg_ep_cfg | musbotg_ep_allwinner [] |
static const struct musb_otg_ep_cfg | musbotg_ep_allwinner_h3 [] |
static struct resource_spec | awusbdrd_spec [] |
static const uint16_t | awusbdrd_regmap [] |
static device_method_t | awusbdrd_methods [] |
static driver_t | awusbdrd_driver |
static devclass_t | awusbdrd_devclass |
#define AWUSB_NO_CONFDATA 0x02 |
Definition at line 90 of file musb_otg_allwinner.c.
#define AWUSB_OKAY 0x01 |
Definition at line 89 of file musb_otg_allwinner.c.
#define DRD_EP_MAX 5 |
Definition at line 75 of file musb_otg_allwinner.c.
#define DRD_EP_MAX_H3 4 |
Definition at line 76 of file musb_otg_allwinner.c.
#define MUSB2_REG_AWIN_VEND0 0x0043 |
Definition at line 78 of file musb_otg_allwinner.c.
#define REGDECL | ( | a, | |
b | |||
) | [(a)] = ((b) | REMAPFLAG) |
Definition at line 138 of file musb_otg_allwinner.c.
#define REMAPFLAG 0x8000 |
Definition at line 137 of file musb_otg_allwinner.c.
#define VEND0_PIO_MODE 0 |
Definition at line 79 of file musb_otg_allwinner.c.
__FBSDID | ( | "$FreeBSD$" | ) |
|
static |
Definition at line 386 of file musb_otg_allwinner.c.
References AWUSB_NO_CONFDATA, awusbdrd_bs_r_1(), awusbdrd_bs_r_1_noconf(), awusbdrd_bs_r_2(), awusbdrd_bs_rm_1(), awusbdrd_bs_rm_4(), awusbdrd_bs_w_1(), awusbdrd_bs_w_2(), awusbdrd_bs_wm_1(), awusbdrd_bs_wm_4(), awusbdrd_intr(), awusbdrd_spec, usb_bus::bdev, compat_data, dev, usb_bus::devices, usb_bus::devices_max, usb_bus::dma_bits, DRD_EP_MAX, DRD_EP_MAX_H3, error, fail, MUSB2_DEVICE_MODE, MUSB2_HOST_MODE, MUSB2_MAX_DEVICES, MUSB2_REG_AWIN_VEND0, musbotg_ep_allwinner, musbotg_ep_allwinner_h3, musbotg_init(), musbotg_vbus_interrupt(), usb_bus::parent, awusbdrd_softc::sc, musbotg_softc::sc_bus, musbotg_softc::sc_devices, musbotg_softc::sc_ep_cfg, musbotg_softc::sc_ep_max, musbotg_softc::sc_id, musbotg_softc::sc_intr_hdl, musbotg_softc::sc_io_hdl, musbotg_softc::sc_io_size, musbotg_softc::sc_io_tag, musbotg_softc::sc_mode, musbotg_softc::sc_platform_data, usb_bus_mem_alloc_all(), USB_GET_DMA_TAG, and VEND0_PIO_MODE.
|
static |
Definition at line 246 of file musb_otg_allwinner.c.
References awusbdrd_reg(), and MUSB2_REG_HWVERS.
Referenced by awusbdrd_attach(), and awusbdrd_bs_r_1_noconf().
|
static |
Definition at line 259 of file musb_otg_allwinner.c.
References awusbdrd_bs_r_1(), and MUSB2_REG_CONFDATA.
Referenced by awusbdrd_attach().
|
static |
Definition at line 274 of file musb_otg_allwinner.c.
References awusbdrd_filt(), and awusbdrd_reg().
Referenced by awusbdrd_attach().
|
static |
Definition at line 308 of file musb_otg_allwinner.c.
References awusbdrd_reg().
Referenced by awusbdrd_attach().
|
static |
Definition at line 317 of file musb_otg_allwinner.c.
References awusbdrd_reg().
Referenced by awusbdrd_attach().
|
static |
Definition at line 284 of file musb_otg_allwinner.c.
References awusbdrd_filt(), and awusbdrd_reg().
Referenced by awusbdrd_attach().
|
static |
Definition at line 296 of file musb_otg_allwinner.c.
References awusbdrd_filt(), and awusbdrd_reg().
Referenced by awusbdrd_attach().
|
static |
Definition at line 326 of file musb_otg_allwinner.c.
References awusbdrd_filt(), and awusbdrd_reg().
Referenced by awusbdrd_attach().
|
static |
Definition at line 338 of file musb_otg_allwinner.c.
References awusbdrd_filt(), and awusbdrd_reg().
Referenced by awusbdrd_attach().
|
static |
Definition at line 565 of file musb_otg_allwinner.c.
References awusbdrd_spec, usb_bus::bdev, dev, error, MUSB2_HOST_MODE, musbotg_uninit(), awusbdrd_softc::sc, musbotg_softc::sc_bus, musbotg_softc::sc_intr_hdl, musbotg_softc::sc_mode, and usb_bus_mem_free_all().
|
static |
Definition at line 233 of file musb_otg_allwinner.c.
References MUSB2_REG_MISC, MUSB2_REG_RXDBDIS, and MUSB2_REG_TXDBDIS.
Referenced by awusbdrd_bs_r_2(), awusbdrd_bs_w_1(), awusbdrd_bs_w_2(), awusbdrd_bs_wm_1(), and awusbdrd_bs_wm_4().
|
static |
Definition at line 350 of file musb_otg_allwinner.c.
References MUSB2_READ_1, MUSB2_READ_2, MUSB2_REG_INTRX, MUSB2_REG_INTTX, MUSB2_REG_INTUSB, MUSB2_WRITE_1, MUSB2_WRITE_2, musbotg_interrupt(), and awusbdrd_softc::sc.
Referenced by awusbdrd_attach().
|
static |
Definition at line 373 of file musb_otg_allwinner.c.
References compat_data, and dev.
|
static |
Definition at line 215 of file musb_otg_allwinner.c.
References awusbdrd_regmap, and REMAPFLAG.
Referenced by awusbdrd_bs_r_1(), awusbdrd_bs_r_2(), awusbdrd_bs_rm_1(), awusbdrd_bs_rm_4(), awusbdrd_bs_w_1(), awusbdrd_bs_w_2(), awusbdrd_bs_wm_1(), and awusbdrd_bs_wm_4().
DRIVER_MODULE | ( | musbotg | , |
simplebus | , | ||
awusbdrd_driver | , | ||
awusbdrd_devclass | , | ||
0 | , | ||
0 | |||
) |
MODULE_DEPEND | ( | musbotg | , |
usb | , | ||
1 | , | ||
1 | , | ||
1 | |||
) |
|
static |
Definition at line 624 of file musb_otg_allwinner.c.
|
static |
Definition at line 618 of file musb_otg_allwinner.c.
|
static |
Definition at line 606 of file musb_otg_allwinner.c.
|
static |
Definition at line 141 of file musb_otg_allwinner.c.
Referenced by awusbdrd_reg().
|
static |
Definition at line 131 of file musb_otg_allwinner.c.
Referenced by awusbdrd_attach(), and awusbdrd_detach().
|
static |
Definition at line 91 of file musb_otg_allwinner.c.
Referenced by awusbdrd_attach(), and awusbdrd_probe().
|
static |
Definition at line 99 of file musb_otg_allwinner.c.
Referenced by awusbdrd_attach().
|
static |
Definition at line 110 of file musb_otg_allwinner.c.
Referenced by awusbdrd_attach().