FreeBSD kernel usb device Code
|
Go to the source code of this file.
Data Structures | |
struct | uss820dci_td |
struct | uss820_std_temp |
struct | uss820dci_config_desc |
union | uss820_hub_temp |
struct | uss820_flags |
struct | uss820dci_softc |
Macros | |
#define | USS820_MAX_DEVICES (USB_MIN_DEVICES + 1) |
#define | USS820_EP_MAX 8 /* maximum number of endpoints */ |
#define | USS820_TXDAT 0x00 /* Transmit FIFO data */ |
#define | USS820_TXCNTL 0x01 /* Transmit FIFO byte count low */ |
#define | USS820_TXCNTL_MASK 0xFF |
#define | USS820_TXCNTH 0x02 /* Transmit FIFO byte count high */ |
#define | USS820_TXCNTH_MASK 0x03 |
#define | USS820_TXCNTH_UNUSED 0xFC |
#define | USS820_TXCON 0x03 /* USB transmit FIFO control */ |
#define | USS820_TXCON_REVRP 0x01 |
#define | USS820_TXCON_ADVRM 0x02 |
#define | USS820_TXCON_ATM 0x04 /* Automatic Transmit Management */ |
#define | USS820_TXCON_TXISO 0x08 /* Transmit Isochronous Data */ |
#define | USS820_TXCON_UNUSED 0x10 |
#define | USS820_TXCON_FFSZ_16_64 0x00 |
#define | USS820_TXCON_FFSZ_64_256 0x20 |
#define | USS820_TXCON_FFSZ_8_512 0x40 |
#define | USS820_TXCON_FFSZ_32_1024 0x60 |
#define | USS820_TXCON_FFSZ_MASK 0x60 |
#define | USS820_TXCON_TXCLR 0x80 /* Transmit FIFO clear */ |
#define | USS820_TXFLG 0x04 /* Transmit FIFO flag (Read Only) */ |
#define | USS820_TXFLG_TXOVF 0x01 /* TX overrun */ |
#define | USS820_TXFLG_TXURF 0x02 /* TX underrun */ |
#define | USS820_TXFLG_TXFULL 0x04 /* TX full */ |
#define | USS820_TXFLG_TXEMP 0x08 /* TX empty */ |
#define | USS820_TXFLG_UNUSED 0x30 |
#define | USS820_TXFLG_TXFIF0 0x40 |
#define | USS820_TXFLG_TXFIF1 0x80 |
#define | USS820_RXDAT 0x05 /* Receive FIFO data */ |
#define | USS820_RXCNTL 0x06 /* Receive FIFO byte count low */ |
#define | USS820_RXCNTL_MASK 0xFF |
#define | USS820_RXCNTH 0x07 /* Receive FIFO byte count high */ |
#define | USS820_RXCNTH_MASK 0x03 |
#define | USS820_RXCNTH_UNUSED 0xFC |
#define | USS820_RXCON 0x08 /* Receive FIFO control */ |
#define | USS820_RXCON_REVWP 0x01 |
#define | USS820_RXCON_ADVWM 0x02 |
#define | USS820_RXCON_ARM 0x04 /* Auto Receive Management */ |
#define | USS820_RXCON_RXISO 0x08 /* Receive Isochronous Data */ |
#define | USS820_RXCON_RXFFRC 0x10 /* FIFO Read Complete */ |
#define | USS820_RXCON_FFSZ_16_64 0x00 |
#define | USS820_RXCON_FFSZ_64_256 0x20 |
#define | USS820_RXCON_FFSZ_8_512 0x40 |
#define | USS820_RXCON_FFSZ_32_1024 0x60 |
#define | USS820_RXCON_RXCLR 0x80 /* Receive FIFO clear */ |
#define | USS820_RXFLG 0x09 /* Receive FIFO flag (Read Only) */ |
#define | USS820_RXFLG_RXOVF 0x01 /* RX overflow */ |
#define | USS820_RXFLG_RXURF 0x02 /* RX underflow */ |
#define | USS820_RXFLG_RXFULL 0x04 /* RX full */ |
#define | USS820_RXFLG_RXEMP 0x08 /* RX empty */ |
#define | USS820_RXFLG_RXFLUSH 0x10 /* RX flush */ |
#define | USS820_RXFLG_UNUSED 0x20 |
#define | USS820_RXFLG_RXFIF0 0x40 |
#define | USS820_RXFLG_RXFIF1 0x80 |
#define | USS820_EPINDEX 0x0a /* Endpoint index selection */ |
#define | USS820_EPINDEX_MASK 0x07 |
#define | USS820_EPINDEX_UNUSED 0xF8 |
#define | USS820_EPCON 0x0b /* Endpoint control */ |
#define | USS820_EPCON_TXEPEN 0x01 /* Transmit Endpoint Enable */ |
#define | USS820_EPCON_TXOE 0x02 /* Transmit Output Enable */ |
#define | USS820_EPCON_RXEPEN 0x04 /* Receive Endpoint Enable */ |
#define | USS820_EPCON_RXIE 0x08 /* Receive Input Enable */ |
#define | USS820_EPCON_RXSPM 0x10 /* Receive Single-Packet Mode */ |
#define | USS820_EPCON_CTLEP 0x20 /* Control Endpoint */ |
#define | USS820_EPCON_TXSTL 0x40 /* Stall Transmit Endpoint */ |
#define | USS820_EPCON_RXSTL 0x80 /* Stall Receive Endpoint */ |
#define | USS820_TXSTAT 0x0c /* Transmit status */ |
#define | USS820_TXSTAT_TXACK 0x01 /* Transmit Acknowledge */ |
#define | USS820_TXSTAT_TXERR 0x02 /* Transmit Error */ |
#define | USS820_TXSTAT_TXVOID 0x04 /* Transmit Void */ |
#define | USS820_TXSTAT_TXSOVW |
#define | USS820_TXSTAT_TXFLUSH 0x10 /* Transmit FIFO Packet Flushed */ |
#define | USS820_TXSTAT_TXNAKE 0x20 /* Transmit NAK Mode Enable */ |
#define | USS820_TXSTAT_TXDSAM 0x40 /* Transmit Data-Set-Available Mode */ |
#define | USS820_TXSTAT_TXSEQ 0x80 /* Transmitter Current Sequence Bit */ |
#define | USS820_RXSTAT 0x0d /* Receive status */ |
#define | USS820_RXSTAT_RXACK 0x01 /* Receive Acknowledge */ |
#define | USS820_RXSTAT_RXERR 0x02 /* Receive Error */ |
#define | USS820_RXSTAT_RXVOID 0x04 /* Receive Void */ |
#define | USS820_RXSTAT_RXSOVW 0x08 /* Receive Data Sequence Overwrite Bit */ |
#define | USS820_RXSTAT_EDOVW 0x10 /* End Overwrite Flag */ |
#define | USS820_RXSTAT_STOVW 0x20 /* Start Overwrite Flag */ |
#define | USS820_RXSTAT_RXSETUP 0x40 /* Received SETUP token */ |
#define | USS820_RXSTAT_RXSEQ 0x80 /* Receiver Endpoint Sequence Bit */ |
#define | USS820_SOFL 0x0e /* Start Of Frame counter low */ |
#define | USS820_SOFL_MASK 0xFF |
#define | USS820_SOFH 0x0f /* Start Of Frame counter high */ |
#define | USS820_SOFH_MASK 0x07 |
#define | USS820_SOFH_SOFDIS 0x08 /* SOF Pin Output Disable */ |
#define | USS820_SOFH_FTLOCK 0x10 /* Frame Timer Lock */ |
#define | USS820_SOFH_SOFIE 0x20 /* SOF Interrupt Enable */ |
#define | USS820_SOFH_ASOF 0x40 /* Any Start of Frame */ |
#define | USS820_SOFH_SOFACK 0x80 /* SOF Token Received Without Error */ |
#define | USS820_FADDR 0x10 /* Function Address */ |
#define | USS820_FADDR_MASK 0x7F |
#define | USS820_FADDR_UNUSED 0x80 |
#define | USS820_SCR 0x11 /* System Control */ |
#define | USS820_SCR_UNUSED 0x01 |
#define | USS820_SCR_T_IRQ 0x02 /* Global Interrupt Enable */ |
#define | USS820_SCR_IRQLVL 0x04 /* Interrupt Mode */ |
#define | USS820_SCR_SRESET 0x08 /* Software reset */ |
#define | USS820_SCR_IE_RESET 0x10 /* Enable Reset Interrupt */ |
#define | USS820_SCR_IE_SUSP 0x20 /* Enable Suspend Interrupt */ |
#define | USS820_SCR_RWUPE 0x40 /* Enable Remote Wake-Up Feature */ |
#define | USS820_SCR_IRQPOL 0x80 /* IRQ polarity */ |
#define | USS820_SSR 0x12 /* System Status */ |
#define | USS820_SSR_RESET |
#define | USS820_SSR_SUSPEND 0x02 /* Suspend Detected */ |
#define | USS820_SSR_RESUME 0x04 /* Resume Detected */ |
#define | USS820_SSR_SUSPDIS 0x08 /* Suspend Disable */ |
#define | USS820_SSR_SUSPPO 0x10 /* Suspend Power Off */ |
#define | USS820_SSR_UNUSED 0xE0 |
#define | USS820_UNK0 0x13 /* Unknown */ |
#define | USS820_UNK0_UNUSED 0xFF |
#define | USS820_SBI 0x14 /* Serial bus interrupt low */ |
#define | USS820_SBI_FTXD0 0x01 /* Function Transmit Done, EP 0 */ |
#define | USS820_SBI_FRXD0 0x02 /* Function Receive Done, EP 0 */ |
#define | USS820_SBI_FTXD1 0x04 |
#define | USS820_SBI_FRXD1 0x08 |
#define | USS820_SBI_FTXD2 0x10 |
#define | USS820_SBI_FRXD2 0x20 |
#define | USS820_SBI_FTXD3 0x40 |
#define | USS820_SBI_FRXD3 0x80 |
#define | USS820_SBI1 0x15 /* Serial bus interrupt high */ |
#define | USS820_SBI1_FTXD4 0x01 |
#define | USS820_SBI1_FRXD4 0x02 |
#define | USS820_SBI1_FTXD5 0x04 |
#define | USS820_SBI1_FRXD5 0x08 |
#define | USS820_SBI1_FTXD6 0x10 |
#define | USS820_SBI1_FRXD6 0x20 |
#define | USS820_SBI1_FTXD7 0x40 |
#define | USS820_SBI1_FRXD7 0x80 |
#define | USS820_SBIE 0x16 /* Serial bus interrupt enable low */ |
#define | USS820_SBIE_FTXIE0 0x01 |
#define | USS820_SBIE_FRXIE0 0x02 |
#define | USS820_SBIE_FTXIE1 0x04 |
#define | USS820_SBIE_FRXIE1 0x08 |
#define | USS820_SBIE_FTXIE2 0x10 |
#define | USS820_SBIE_FRXIE2 0x20 |
#define | USS820_SBIE_FTXIE3 0x40 |
#define | USS820_SBIE_FRXIE3 0x80 |
#define | USS820_SBIE1 0x17 /* Serial bus interrupt enable high */ |
#define | USS820_SBIE1_FTXIE4 0x01 |
#define | USS820_SBIE1_FRXIE4 0x02 |
#define | USS820_SBIE1_FTXIE5 0x04 |
#define | USS820_SBIE1_FRXIE5 0x08 |
#define | USS820_SBIE1_FTXIE6 0x10 |
#define | USS820_SBIE1_FRXIE6 0x20 |
#define | USS820_SBIE1_FTXIE7 0x40 |
#define | USS820_SBIE1_FRXIE7 0x80 |
#define | USS820_REV 0x18 /* Hardware revision */ |
#define | USS820_REV_MIN 0x0F |
#define | USS820_REV_MAJ 0xF0 |
#define | USS820_LOCK 0x19 /* Suspend power-off locking */ |
#define | USS820_LOCK_UNLOCKED 0x01 |
#define | USS820_LOCK_UNUSED 0xFE |
#define | USS820_PEND 0x1a /* Pend hardware status update */ |
#define | USS820_PEND_PEND 0x01 |
#define | USS820_PEND_UNUSED 0xFE |
#define | USS820_SCRATCH 0x1b /* Scratch firmware information */ |
#define | USS820_SCRATCH_MASK 0x7F |
#define | USS820_SCRATCH_IE_RESUME 0x80 /* Enable Resume Interrupt */ |
#define | USS820_MCSR 0x1c /* Miscellaneous control and status */ |
#define | USS820_MCSR_DPEN 0x01 /* DPLS Pull-Up Enable */ |
#define | USS820_MCSR_SUSPLOE 0x02 /* Suspend Lock Out Enable */ |
#define | USS820_MCSR_BDFEAT 0x04 /* Board Feature Enable */ |
#define | USS820_MCSR_FEAT 0x08 /* Feature Enable */ |
#define | USS820_MCSR_PKGID 0x10 /* Package Identification */ |
#define | USS820_MCSR_SUSPS 0x20 /* Suspend Status */ |
#define | USS820_MCSR_INIT 0x40 /* Device Initialized */ |
#define | USS820_MCSR_RWUPR 0x80 /* Remote Wakeup-Up Remember */ |
#define | USS820_DSAV 0x1d /* Data set available low (Read Only) */ |
#define | USS820_DSAV_TXAV0 0x01 |
#define | USS820_DSAV_RXAV0 0x02 |
#define | USS820_DSAV_TXAV1 0x04 |
#define | USS820_DSAV_RXAV1 0x08 |
#define | USS820_DSAV_TXAV2 0x10 |
#define | USS820_DSAV_RXAV2 0x20 |
#define | USS820_DSAV_TXAV3 0x40 |
#define | USS820_DSAV_RXAV3 0x80 |
#define | USS820_DSAV1 0x1e /* Data set available high */ |
#define | USS820_DSAV1_TXAV4 0x01 |
#define | USS820_DSAV1_RXAV4 0x02 |
#define | USS820_DSAV1_TXAV5 0x04 |
#define | USS820_DSAV1_RXAV5 0x08 |
#define | USS820_DSAV1_TXAV6 0x10 |
#define | USS820_DSAV1_RXAV6 0x20 |
#define | USS820_DSAV1_TXAV7 0x40 |
#define | USS820_DSAV1_RXAV7 0x80 |
#define | USS820_UNK1 0x1f /* Unknown */ |
#define | USS820_UNK1_UNKNOWN 0xFF |
#define | USS820_REG_STRIDE 1 |
#define | USS820_READ_1(sc, reg) bus_space_read_1((sc)->sc_io_tag, (sc)->sc_io_hdl, (reg) * USS820_REG_STRIDE) |
#define | USS820_WRITE_1(sc, reg, data) bus_space_write_1((sc)->sc_io_tag, (sc)->sc_io_hdl, (reg) * USS820_REG_STRIDE, (data)) |
Typedefs | |
typedef uint8_t() | uss820dci_cmd_t(struct uss820dci_softc *, struct uss820dci_td *td) |
Functions | |
usb_error_t | uss820dci_init (struct uss820dci_softc *sc) |
void | uss820dci_uninit (struct uss820dci_softc *sc) |
Variables | |
struct uss820dci_config_desc | __packed |
driver_filter_t | uss820dci_filter_interrupt |
driver_intr_t | uss820dci_interrupt |
#define USS820_DSAV 0x1d /* Data set available low (Read Only) */ |
Definition at line 235 of file uss820dci.h.
#define USS820_DSAV1 0x1e /* Data set available high */ |
Definition at line 245 of file uss820dci.h.
#define USS820_DSAV1_RXAV4 0x02 |
Definition at line 247 of file uss820dci.h.
#define USS820_DSAV1_RXAV5 0x08 |
Definition at line 249 of file uss820dci.h.
#define USS820_DSAV1_RXAV6 0x20 |
Definition at line 251 of file uss820dci.h.
#define USS820_DSAV1_RXAV7 0x80 |
Definition at line 253 of file uss820dci.h.
#define USS820_DSAV1_TXAV4 0x01 |
Definition at line 246 of file uss820dci.h.
#define USS820_DSAV1_TXAV5 0x04 |
Definition at line 248 of file uss820dci.h.
#define USS820_DSAV1_TXAV6 0x10 |
Definition at line 250 of file uss820dci.h.
#define USS820_DSAV1_TXAV7 0x40 |
Definition at line 252 of file uss820dci.h.
#define USS820_DSAV_RXAV0 0x02 |
Definition at line 237 of file uss820dci.h.
#define USS820_DSAV_RXAV1 0x08 |
Definition at line 239 of file uss820dci.h.
#define USS820_DSAV_RXAV2 0x20 |
Definition at line 241 of file uss820dci.h.
#define USS820_DSAV_RXAV3 0x80 |
Definition at line 243 of file uss820dci.h.
#define USS820_DSAV_TXAV0 0x01 |
Definition at line 236 of file uss820dci.h.
#define USS820_DSAV_TXAV1 0x04 |
Definition at line 238 of file uss820dci.h.
#define USS820_DSAV_TXAV2 0x10 |
Definition at line 240 of file uss820dci.h.
#define USS820_DSAV_TXAV3 0x40 |
Definition at line 242 of file uss820dci.h.
#define USS820_EP_MAX 8 /* maximum number of endpoints */ |
Definition at line 35 of file uss820dci.h.
#define USS820_EPCON 0x0b /* Endpoint control */ |
Definition at line 103 of file uss820dci.h.
#define USS820_EPCON_CTLEP 0x20 /* Control Endpoint */ |
Definition at line 109 of file uss820dci.h.
#define USS820_EPCON_RXEPEN 0x04 /* Receive Endpoint Enable */ |
Definition at line 106 of file uss820dci.h.
#define USS820_EPCON_RXIE 0x08 /* Receive Input Enable */ |
Definition at line 107 of file uss820dci.h.
#define USS820_EPCON_RXSPM 0x10 /* Receive Single-Packet Mode */ |
Definition at line 108 of file uss820dci.h.
#define USS820_EPCON_RXSTL 0x80 /* Stall Receive Endpoint */ |
Definition at line 111 of file uss820dci.h.
#define USS820_EPCON_TXEPEN 0x01 /* Transmit Endpoint Enable */ |
Definition at line 104 of file uss820dci.h.
#define USS820_EPCON_TXOE 0x02 /* Transmit Output Enable */ |
Definition at line 105 of file uss820dci.h.
#define USS820_EPCON_TXSTL 0x40 /* Stall Transmit Endpoint */ |
Definition at line 110 of file uss820dci.h.
#define USS820_EPINDEX 0x0a /* Endpoint index selection */ |
Definition at line 99 of file uss820dci.h.
#define USS820_EPINDEX_MASK 0x07 |
Definition at line 100 of file uss820dci.h.
#define USS820_EPINDEX_UNUSED 0xF8 |
Definition at line 101 of file uss820dci.h.
#define USS820_FADDR 0x10 /* Function Address */ |
Definition at line 144 of file uss820dci.h.
#define USS820_FADDR_MASK 0x7F |
Definition at line 145 of file uss820dci.h.
#define USS820_FADDR_UNUSED 0x80 |
Definition at line 146 of file uss820dci.h.
#define USS820_LOCK 0x19 /* Suspend power-off locking */ |
Definition at line 213 of file uss820dci.h.
#define USS820_LOCK_UNLOCKED 0x01 |
Definition at line 214 of file uss820dci.h.
#define USS820_LOCK_UNUSED 0xFE |
Definition at line 215 of file uss820dci.h.
#define USS820_MAX_DEVICES (USB_MIN_DEVICES + 1) |
Definition at line 33 of file uss820dci.h.
#define USS820_MCSR 0x1c /* Miscellaneous control and status */ |
Definition at line 225 of file uss820dci.h.
#define USS820_MCSR_BDFEAT 0x04 /* Board Feature Enable */ |
Definition at line 228 of file uss820dci.h.
#define USS820_MCSR_DPEN 0x01 /* DPLS Pull-Up Enable */ |
Definition at line 226 of file uss820dci.h.
#define USS820_MCSR_FEAT 0x08 /* Feature Enable */ |
Definition at line 229 of file uss820dci.h.
#define USS820_MCSR_INIT 0x40 /* Device Initialized */ |
Definition at line 232 of file uss820dci.h.
#define USS820_MCSR_PKGID 0x10 /* Package Identification */ |
Definition at line 230 of file uss820dci.h.
#define USS820_MCSR_RWUPR 0x80 /* Remote Wakeup-Up Remember */ |
Definition at line 233 of file uss820dci.h.
#define USS820_MCSR_SUSPLOE 0x02 /* Suspend Lock Out Enable */ |
Definition at line 227 of file uss820dci.h.
#define USS820_MCSR_SUSPS 0x20 /* Suspend Status */ |
Definition at line 231 of file uss820dci.h.
#define USS820_PEND 0x1a /* Pend hardware status update */ |
Definition at line 217 of file uss820dci.h.
#define USS820_PEND_PEND 0x01 |
Definition at line 218 of file uss820dci.h.
#define USS820_PEND_UNUSED 0xFE |
Definition at line 219 of file uss820dci.h.
#define USS820_READ_1 | ( | sc, | |
reg | |||
) | bus_space_read_1((sc)->sc_io_tag, (sc)->sc_io_hdl, (reg) * USS820_REG_STRIDE) |
Definition at line 262 of file uss820dci.h.
#define USS820_REG_STRIDE 1 |
Definition at line 259 of file uss820dci.h.
#define USS820_REV 0x18 /* Hardware revision */ |
Definition at line 209 of file uss820dci.h.
#define USS820_REV_MAJ 0xF0 |
Definition at line 211 of file uss820dci.h.
#define USS820_REV_MIN 0x0F |
Definition at line 210 of file uss820dci.h.
#define USS820_RXCNTH 0x07 /* Receive FIFO byte count high */ |
Definition at line 73 of file uss820dci.h.
#define USS820_RXCNTH_MASK 0x03 |
Definition at line 74 of file uss820dci.h.
#define USS820_RXCNTH_UNUSED 0xFC |
Definition at line 75 of file uss820dci.h.
#define USS820_RXCNTL 0x06 /* Receive FIFO byte count low */ |
Definition at line 70 of file uss820dci.h.
#define USS820_RXCNTL_MASK 0xFF |
Definition at line 71 of file uss820dci.h.
#define USS820_RXCON 0x08 /* Receive FIFO control */ |
Definition at line 77 of file uss820dci.h.
#define USS820_RXCON_ADVWM 0x02 |
Definition at line 79 of file uss820dci.h.
#define USS820_RXCON_ARM 0x04 /* Auto Receive Management */ |
Definition at line 80 of file uss820dci.h.
#define USS820_RXCON_FFSZ_16_64 0x00 |
Definition at line 83 of file uss820dci.h.
#define USS820_RXCON_FFSZ_32_1024 0x60 |
Definition at line 86 of file uss820dci.h.
#define USS820_RXCON_FFSZ_64_256 0x20 |
Definition at line 84 of file uss820dci.h.
#define USS820_RXCON_FFSZ_8_512 0x40 |
Definition at line 85 of file uss820dci.h.
#define USS820_RXCON_REVWP 0x01 |
Definition at line 78 of file uss820dci.h.
#define USS820_RXCON_RXCLR 0x80 /* Receive FIFO clear */ |
Definition at line 87 of file uss820dci.h.
#define USS820_RXCON_RXFFRC 0x10 /* FIFO Read Complete */ |
Definition at line 82 of file uss820dci.h.
#define USS820_RXCON_RXISO 0x08 /* Receive Isochronous Data */ |
Definition at line 81 of file uss820dci.h.
#define USS820_RXDAT 0x05 /* Receive FIFO data */ |
Definition at line 68 of file uss820dci.h.
#define USS820_RXFLG 0x09 /* Receive FIFO flag (Read Only) */ |
Definition at line 89 of file uss820dci.h.
#define USS820_RXFLG_RXEMP 0x08 /* RX empty */ |
Definition at line 93 of file uss820dci.h.
#define USS820_RXFLG_RXFIF0 0x40 |
Definition at line 96 of file uss820dci.h.
#define USS820_RXFLG_RXFIF1 0x80 |
Definition at line 97 of file uss820dci.h.
#define USS820_RXFLG_RXFLUSH 0x10 /* RX flush */ |
Definition at line 94 of file uss820dci.h.
#define USS820_RXFLG_RXFULL 0x04 /* RX full */ |
Definition at line 92 of file uss820dci.h.
#define USS820_RXFLG_RXOVF 0x01 /* RX overflow */ |
Definition at line 90 of file uss820dci.h.
#define USS820_RXFLG_RXURF 0x02 /* RX underflow */ |
Definition at line 91 of file uss820dci.h.
#define USS820_RXFLG_UNUSED 0x20 |
Definition at line 95 of file uss820dci.h.
#define USS820_RXSTAT 0x0d /* Receive status */ |
Definition at line 123 of file uss820dci.h.
#define USS820_RXSTAT_EDOVW 0x10 /* End Overwrite Flag */ |
Definition at line 128 of file uss820dci.h.
#define USS820_RXSTAT_RXACK 0x01 /* Receive Acknowledge */ |
Definition at line 124 of file uss820dci.h.
#define USS820_RXSTAT_RXERR 0x02 /* Receive Error */ |
Definition at line 125 of file uss820dci.h.
#define USS820_RXSTAT_RXSEQ 0x80 /* Receiver Endpoint Sequence Bit */ |
Definition at line 131 of file uss820dci.h.
#define USS820_RXSTAT_RXSETUP 0x40 /* Received SETUP token */ |
Definition at line 130 of file uss820dci.h.
#define USS820_RXSTAT_RXSOVW 0x08 /* Receive Data Sequence Overwrite Bit */ |
Definition at line 127 of file uss820dci.h.
#define USS820_RXSTAT_RXVOID 0x04 /* Receive Void */ |
Definition at line 126 of file uss820dci.h.
#define USS820_RXSTAT_STOVW 0x20 /* Start Overwrite Flag */ |
Definition at line 129 of file uss820dci.h.
#define USS820_SBI 0x14 /* Serial bus interrupt low */ |
Definition at line 169 of file uss820dci.h.
#define USS820_SBI1 0x15 /* Serial bus interrupt high */ |
Definition at line 179 of file uss820dci.h.
#define USS820_SBI1_FRXD4 0x02 |
Definition at line 181 of file uss820dci.h.
#define USS820_SBI1_FRXD5 0x08 |
Definition at line 183 of file uss820dci.h.
#define USS820_SBI1_FRXD6 0x20 |
Definition at line 185 of file uss820dci.h.
#define USS820_SBI1_FRXD7 0x80 |
Definition at line 187 of file uss820dci.h.
#define USS820_SBI1_FTXD4 0x01 |
Definition at line 180 of file uss820dci.h.
#define USS820_SBI1_FTXD5 0x04 |
Definition at line 182 of file uss820dci.h.
#define USS820_SBI1_FTXD6 0x10 |
Definition at line 184 of file uss820dci.h.
#define USS820_SBI1_FTXD7 0x40 |
Definition at line 186 of file uss820dci.h.
#define USS820_SBI_FRXD0 0x02 /* Function Receive Done, EP 0 */ |
Definition at line 171 of file uss820dci.h.
#define USS820_SBI_FRXD1 0x08 |
Definition at line 173 of file uss820dci.h.
#define USS820_SBI_FRXD2 0x20 |
Definition at line 175 of file uss820dci.h.
#define USS820_SBI_FRXD3 0x80 |
Definition at line 177 of file uss820dci.h.
#define USS820_SBI_FTXD0 0x01 /* Function Transmit Done, EP 0 */ |
Definition at line 170 of file uss820dci.h.
#define USS820_SBI_FTXD1 0x04 |
Definition at line 172 of file uss820dci.h.
#define USS820_SBI_FTXD2 0x10 |
Definition at line 174 of file uss820dci.h.
#define USS820_SBI_FTXD3 0x40 |
Definition at line 176 of file uss820dci.h.
#define USS820_SBIE 0x16 /* Serial bus interrupt enable low */ |
Definition at line 189 of file uss820dci.h.
#define USS820_SBIE1 0x17 /* Serial bus interrupt enable high */ |
Definition at line 199 of file uss820dci.h.
#define USS820_SBIE1_FRXIE4 0x02 |
Definition at line 201 of file uss820dci.h.
#define USS820_SBIE1_FRXIE5 0x08 |
Definition at line 203 of file uss820dci.h.
#define USS820_SBIE1_FRXIE6 0x20 |
Definition at line 205 of file uss820dci.h.
#define USS820_SBIE1_FRXIE7 0x80 |
Definition at line 207 of file uss820dci.h.
#define USS820_SBIE1_FTXIE4 0x01 |
Definition at line 200 of file uss820dci.h.
#define USS820_SBIE1_FTXIE5 0x04 |
Definition at line 202 of file uss820dci.h.
#define USS820_SBIE1_FTXIE6 0x10 |
Definition at line 204 of file uss820dci.h.
#define USS820_SBIE1_FTXIE7 0x40 |
Definition at line 206 of file uss820dci.h.
#define USS820_SBIE_FRXIE0 0x02 |
Definition at line 191 of file uss820dci.h.
#define USS820_SBIE_FRXIE1 0x08 |
Definition at line 193 of file uss820dci.h.
#define USS820_SBIE_FRXIE2 0x20 |
Definition at line 195 of file uss820dci.h.
#define USS820_SBIE_FRXIE3 0x80 |
Definition at line 197 of file uss820dci.h.
#define USS820_SBIE_FTXIE0 0x01 |
Definition at line 190 of file uss820dci.h.
#define USS820_SBIE_FTXIE1 0x04 |
Definition at line 192 of file uss820dci.h.
#define USS820_SBIE_FTXIE2 0x10 |
Definition at line 194 of file uss820dci.h.
#define USS820_SBIE_FTXIE3 0x40 |
Definition at line 196 of file uss820dci.h.
#define USS820_SCR 0x11 /* System Control */ |
Definition at line 148 of file uss820dci.h.
#define USS820_SCR_IE_RESET 0x10 /* Enable Reset Interrupt */ |
Definition at line 153 of file uss820dci.h.
#define USS820_SCR_IE_SUSP 0x20 /* Enable Suspend Interrupt */ |
Definition at line 154 of file uss820dci.h.
#define USS820_SCR_IRQLVL 0x04 /* Interrupt Mode */ |
Definition at line 151 of file uss820dci.h.
#define USS820_SCR_IRQPOL 0x80 /* IRQ polarity */ |
Definition at line 156 of file uss820dci.h.
#define USS820_SCR_RWUPE 0x40 /* Enable Remote Wake-Up Feature */ |
Definition at line 155 of file uss820dci.h.
#define USS820_SCR_SRESET 0x08 /* Software reset */ |
Definition at line 152 of file uss820dci.h.
#define USS820_SCR_T_IRQ 0x02 /* Global Interrupt Enable */ |
Definition at line 150 of file uss820dci.h.
#define USS820_SCR_UNUSED 0x01 |
Definition at line 149 of file uss820dci.h.
#define USS820_SCRATCH 0x1b /* Scratch firmware information */ |
Definition at line 221 of file uss820dci.h.
#define USS820_SCRATCH_IE_RESUME 0x80 /* Enable Resume Interrupt */ |
Definition at line 223 of file uss820dci.h.
#define USS820_SCRATCH_MASK 0x7F |
Definition at line 222 of file uss820dci.h.
#define USS820_SOFH 0x0f /* Start Of Frame counter high */ |
Definition at line 136 of file uss820dci.h.
#define USS820_SOFH_ASOF 0x40 /* Any Start of Frame */ |
Definition at line 141 of file uss820dci.h.
#define USS820_SOFH_FTLOCK 0x10 /* Frame Timer Lock */ |
Definition at line 139 of file uss820dci.h.
#define USS820_SOFH_MASK 0x07 |
Definition at line 137 of file uss820dci.h.
#define USS820_SOFH_SOFACK 0x80 /* SOF Token Received Without Error */ |
Definition at line 142 of file uss820dci.h.
#define USS820_SOFH_SOFDIS 0x08 /* SOF Pin Output Disable */ |
Definition at line 138 of file uss820dci.h.
#define USS820_SOFH_SOFIE 0x20 /* SOF Interrupt Enable */ |
Definition at line 140 of file uss820dci.h.
#define USS820_SOFL 0x0e /* Start Of Frame counter low */ |
Definition at line 133 of file uss820dci.h.
#define USS820_SOFL_MASK 0xFF |
Definition at line 134 of file uss820dci.h.
#define USS820_SSR 0x12 /* System Status */ |
Definition at line 158 of file uss820dci.h.
#define USS820_SSR_RESET |
Definition at line 159 of file uss820dci.h.
#define USS820_SSR_RESUME 0x04 /* Resume Detected */ |
Definition at line 161 of file uss820dci.h.
#define USS820_SSR_SUSPDIS 0x08 /* Suspend Disable */ |
Definition at line 162 of file uss820dci.h.
#define USS820_SSR_SUSPEND 0x02 /* Suspend Detected */ |
Definition at line 160 of file uss820dci.h.
#define USS820_SSR_SUSPPO 0x10 /* Suspend Power Off */ |
Definition at line 163 of file uss820dci.h.
#define USS820_SSR_UNUSED 0xE0 |
Definition at line 164 of file uss820dci.h.
#define USS820_TXCNTH 0x02 /* Transmit FIFO byte count high */ |
Definition at line 42 of file uss820dci.h.
#define USS820_TXCNTH_MASK 0x03 |
Definition at line 43 of file uss820dci.h.
#define USS820_TXCNTH_UNUSED 0xFC |
Definition at line 44 of file uss820dci.h.
#define USS820_TXCNTL 0x01 /* Transmit FIFO byte count low */ |
Definition at line 39 of file uss820dci.h.
#define USS820_TXCNTL_MASK 0xFF |
Definition at line 40 of file uss820dci.h.
#define USS820_TXCON 0x03 /* USB transmit FIFO control */ |
Definition at line 46 of file uss820dci.h.
#define USS820_TXCON_ADVRM 0x02 |
Definition at line 48 of file uss820dci.h.
#define USS820_TXCON_ATM 0x04 /* Automatic Transmit Management */ |
Definition at line 49 of file uss820dci.h.
#define USS820_TXCON_FFSZ_16_64 0x00 |
Definition at line 52 of file uss820dci.h.
#define USS820_TXCON_FFSZ_32_1024 0x60 |
Definition at line 55 of file uss820dci.h.
#define USS820_TXCON_FFSZ_64_256 0x20 |
Definition at line 53 of file uss820dci.h.
#define USS820_TXCON_FFSZ_8_512 0x40 |
Definition at line 54 of file uss820dci.h.
#define USS820_TXCON_FFSZ_MASK 0x60 |
Definition at line 56 of file uss820dci.h.
#define USS820_TXCON_REVRP 0x01 |
Definition at line 47 of file uss820dci.h.
#define USS820_TXCON_TXCLR 0x80 /* Transmit FIFO clear */ |
Definition at line 57 of file uss820dci.h.
#define USS820_TXCON_TXISO 0x08 /* Transmit Isochronous Data */ |
Definition at line 50 of file uss820dci.h.
#define USS820_TXCON_UNUSED 0x10 |
Definition at line 51 of file uss820dci.h.
#define USS820_TXDAT 0x00 /* Transmit FIFO data */ |
Definition at line 37 of file uss820dci.h.
#define USS820_TXFLG 0x04 /* Transmit FIFO flag (Read Only) */ |
Definition at line 59 of file uss820dci.h.
#define USS820_TXFLG_TXEMP 0x08 /* TX empty */ |
Definition at line 63 of file uss820dci.h.
#define USS820_TXFLG_TXFIF0 0x40 |
Definition at line 65 of file uss820dci.h.
#define USS820_TXFLG_TXFIF1 0x80 |
Definition at line 66 of file uss820dci.h.
#define USS820_TXFLG_TXFULL 0x04 /* TX full */ |
Definition at line 62 of file uss820dci.h.
#define USS820_TXFLG_TXOVF 0x01 /* TX overrun */ |
Definition at line 60 of file uss820dci.h.
#define USS820_TXFLG_TXURF 0x02 /* TX underrun */ |
Definition at line 61 of file uss820dci.h.
#define USS820_TXFLG_UNUSED 0x30 |
Definition at line 64 of file uss820dci.h.
#define USS820_TXSTAT 0x0c /* Transmit status */ |
Definition at line 113 of file uss820dci.h.
#define USS820_TXSTAT_TXACK 0x01 /* Transmit Acknowledge */ |
Definition at line 114 of file uss820dci.h.
#define USS820_TXSTAT_TXDSAM 0x40 /* Transmit Data-Set-Available Mode */ |
Definition at line 120 of file uss820dci.h.
#define USS820_TXSTAT_TXERR 0x02 /* Transmit Error */ |
Definition at line 115 of file uss820dci.h.
#define USS820_TXSTAT_TXFLUSH 0x10 /* Transmit FIFO Packet Flushed */ |
Definition at line 118 of file uss820dci.h.
#define USS820_TXSTAT_TXNAKE 0x20 /* Transmit NAK Mode Enable */ |
Definition at line 119 of file uss820dci.h.
#define USS820_TXSTAT_TXSEQ 0x80 /* Transmitter Current Sequence Bit */ |
Definition at line 121 of file uss820dci.h.
#define USS820_TXSTAT_TXSOVW |
Definition at line 117 of file uss820dci.h.
#define USS820_TXSTAT_TXVOID 0x04 /* Transmit Void */ |
Definition at line 116 of file uss820dci.h.
#define USS820_UNK0 0x13 /* Unknown */ |
Definition at line 166 of file uss820dci.h.
#define USS820_UNK0_UNUSED 0xFF |
Definition at line 167 of file uss820dci.h.
#define USS820_UNK1 0x1f /* Unknown */ |
Definition at line 255 of file uss820dci.h.
#define USS820_UNK1_UNKNOWN 0xFF |
Definition at line 256 of file uss820dci.h.
#define USS820_WRITE_1 | ( | sc, | |
reg, | |||
data | |||
) | bus_space_write_1((sc)->sc_io_tag, (sc)->sc_io_hdl, (reg) * USS820_REG_STRIDE, (data)) |
Definition at line 265 of file uss820dci.h.
typedef uint8_t() uss820dci_cmd_t(struct uss820dci_softc *, struct uss820dci_td *td) |
Definition at line 271 of file uss820dci.h.
usb_error_t uss820dci_init | ( | struct uss820dci_softc * | sc | ) |
Definition at line 1369 of file uss820dci.c.
References usb_bus::bus_mtx, DPRINTF, uss820_flags::mcsr_feat, usb_bus::methods, n, pf, uss820dci_softc::sc_bus, uss820dci_softc::sc_flags, uss820_flags::status_vbus, USB_BUS_LOCK, USB_BUS_UNLOCK, USB_ERR_INVAL, usb_pause_mtx(), USB_REV_1_1, usb_bus::usbrev, USS820_EP_MAX, USS820_EPCON, USS820_EPCON_CTLEP, USS820_EPCON_RXEPEN, USS820_EPCON_RXIE, USS820_EPCON_RXSPM, USS820_EPCON_TXEPEN, USS820_EPCON_TXOE, USS820_EPINDEX, USS820_MCSR, USS820_MCSR_BDFEAT, USS820_MCSR_FEAT, USS820_MCSR_INIT, USS820_READ_1, USS820_REV, USS820_RXCON, USS820_SBIE, USS820_SBIE1, USS820_SCR, USS820_SCR_IE_RESET, USS820_SCR_IE_SUSP, USS820_SCR_IRQPOL, USS820_SCR_SRESET, USS820_SCR_T_IRQ, USS820_SCRATCH, USS820_SCRATCH_IE_RESUME, USS820_TXCON, USS820_TXCON_ATM, USS820_TXCON_FFSZ_16_64, USS820_TXCON_FFSZ_32_1024, USS820_TXCON_FFSZ_64_256, USS820_TXCON_FFSZ_8_512, USS820_TXCON_TXISO, USS820_WRITE_1, uss820dci_bus_methods, uss820dci_do_poll(), uss820dci_get_hw_ep_profile(), uss820dci_pull_down(), and uss820dci_update_shared_1().
void uss820dci_uninit | ( | struct uss820dci_softc * | sc | ) |
Definition at line 1531 of file uss820dci.c.
References uss820_flags::change_connect, uss820_flags::change_suspend, uss820_flags::port_powered, uss820dci_softc::sc_bus, uss820dci_softc::sc_flags, uss820_flags::status_bus_reset, uss820_flags::status_suspend, uss820_flags::status_vbus, USB_BUS_LOCK, USB_BUS_UNLOCK, USS820_READ_1, USS820_SCR, USS820_WRITE_1, and uss820dci_pull_down().
Referenced by uss820dci_set_hw_power_sleep().
struct uss820dci_config_desc __packed |
driver_filter_t uss820dci_filter_interrupt |
Definition at line 357 of file uss820dci.h.
driver_intr_t uss820dci_interrupt |
Definition at line 358 of file uss820dci.h.