FreeBSD kernel usb device Code
uss820dci.h File Reference
This graph shows which files directly or indirectly include this file:

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
 

Macro Definition Documentation

◆ USS820_DSAV

#define USS820_DSAV   0x1d /* Data set available low (Read Only) */

Definition at line 235 of file uss820dci.h.

◆ USS820_DSAV1

#define USS820_DSAV1   0x1e /* Data set available high */

Definition at line 245 of file uss820dci.h.

◆ USS820_DSAV1_RXAV4

#define USS820_DSAV1_RXAV4   0x02

Definition at line 247 of file uss820dci.h.

◆ USS820_DSAV1_RXAV5

#define USS820_DSAV1_RXAV5   0x08

Definition at line 249 of file uss820dci.h.

◆ USS820_DSAV1_RXAV6

#define USS820_DSAV1_RXAV6   0x20

Definition at line 251 of file uss820dci.h.

◆ USS820_DSAV1_RXAV7

#define USS820_DSAV1_RXAV7   0x80

Definition at line 253 of file uss820dci.h.

◆ USS820_DSAV1_TXAV4

#define USS820_DSAV1_TXAV4   0x01

Definition at line 246 of file uss820dci.h.

◆ USS820_DSAV1_TXAV5

#define USS820_DSAV1_TXAV5   0x04

Definition at line 248 of file uss820dci.h.

◆ USS820_DSAV1_TXAV6

#define USS820_DSAV1_TXAV6   0x10

Definition at line 250 of file uss820dci.h.

◆ USS820_DSAV1_TXAV7

#define USS820_DSAV1_TXAV7   0x40

Definition at line 252 of file uss820dci.h.

◆ USS820_DSAV_RXAV0

#define USS820_DSAV_RXAV0   0x02

Definition at line 237 of file uss820dci.h.

◆ USS820_DSAV_RXAV1

#define USS820_DSAV_RXAV1   0x08

Definition at line 239 of file uss820dci.h.

◆ USS820_DSAV_RXAV2

#define USS820_DSAV_RXAV2   0x20

Definition at line 241 of file uss820dci.h.

◆ USS820_DSAV_RXAV3

#define USS820_DSAV_RXAV3   0x80

Definition at line 243 of file uss820dci.h.

◆ USS820_DSAV_TXAV0

#define USS820_DSAV_TXAV0   0x01

Definition at line 236 of file uss820dci.h.

◆ USS820_DSAV_TXAV1

#define USS820_DSAV_TXAV1   0x04

Definition at line 238 of file uss820dci.h.

◆ USS820_DSAV_TXAV2

#define USS820_DSAV_TXAV2   0x10

Definition at line 240 of file uss820dci.h.

◆ USS820_DSAV_TXAV3

#define USS820_DSAV_TXAV3   0x40

Definition at line 242 of file uss820dci.h.

◆ USS820_EP_MAX

#define USS820_EP_MAX   8 /* maximum number of endpoints */

Definition at line 35 of file uss820dci.h.

◆ USS820_EPCON

#define USS820_EPCON   0x0b /* Endpoint control */

Definition at line 103 of file uss820dci.h.

◆ USS820_EPCON_CTLEP

#define USS820_EPCON_CTLEP   0x20 /* Control Endpoint */

Definition at line 109 of file uss820dci.h.

◆ USS820_EPCON_RXEPEN

#define USS820_EPCON_RXEPEN   0x04 /* Receive Endpoint Enable */

Definition at line 106 of file uss820dci.h.

◆ USS820_EPCON_RXIE

#define USS820_EPCON_RXIE   0x08 /* Receive Input Enable */

Definition at line 107 of file uss820dci.h.

◆ USS820_EPCON_RXSPM

#define USS820_EPCON_RXSPM   0x10 /* Receive Single-Packet Mode */

Definition at line 108 of file uss820dci.h.

◆ USS820_EPCON_RXSTL

#define USS820_EPCON_RXSTL   0x80 /* Stall Receive Endpoint */

Definition at line 111 of file uss820dci.h.

◆ USS820_EPCON_TXEPEN

#define USS820_EPCON_TXEPEN   0x01 /* Transmit Endpoint Enable */

Definition at line 104 of file uss820dci.h.

◆ USS820_EPCON_TXOE

#define USS820_EPCON_TXOE   0x02 /* Transmit Output Enable */

Definition at line 105 of file uss820dci.h.

◆ USS820_EPCON_TXSTL

#define USS820_EPCON_TXSTL   0x40 /* Stall Transmit Endpoint */

Definition at line 110 of file uss820dci.h.

◆ USS820_EPINDEX

#define USS820_EPINDEX   0x0a /* Endpoint index selection */

Definition at line 99 of file uss820dci.h.

◆ USS820_EPINDEX_MASK

#define USS820_EPINDEX_MASK   0x07

Definition at line 100 of file uss820dci.h.

◆ USS820_EPINDEX_UNUSED

#define USS820_EPINDEX_UNUSED   0xF8

Definition at line 101 of file uss820dci.h.

◆ USS820_FADDR

#define USS820_FADDR   0x10 /* Function Address */

Definition at line 144 of file uss820dci.h.

◆ USS820_FADDR_MASK

#define USS820_FADDR_MASK   0x7F

Definition at line 145 of file uss820dci.h.

◆ USS820_FADDR_UNUSED

#define USS820_FADDR_UNUSED   0x80

Definition at line 146 of file uss820dci.h.

◆ USS820_LOCK

#define USS820_LOCK   0x19 /* Suspend power-off locking */

Definition at line 213 of file uss820dci.h.

◆ USS820_LOCK_UNLOCKED

#define USS820_LOCK_UNLOCKED   0x01

Definition at line 214 of file uss820dci.h.

◆ USS820_LOCK_UNUSED

#define USS820_LOCK_UNUSED   0xFE

Definition at line 215 of file uss820dci.h.

◆ USS820_MAX_DEVICES

#define USS820_MAX_DEVICES   (USB_MIN_DEVICES + 1)

Definition at line 33 of file uss820dci.h.

◆ USS820_MCSR

#define USS820_MCSR   0x1c /* Miscellaneous control and status */

Definition at line 225 of file uss820dci.h.

◆ USS820_MCSR_BDFEAT

#define USS820_MCSR_BDFEAT   0x04 /* Board Feature Enable */

Definition at line 228 of file uss820dci.h.

◆ USS820_MCSR_DPEN

#define USS820_MCSR_DPEN   0x01 /* DPLS Pull-Up Enable */

Definition at line 226 of file uss820dci.h.

◆ USS820_MCSR_FEAT

#define USS820_MCSR_FEAT   0x08 /* Feature Enable */

Definition at line 229 of file uss820dci.h.

◆ USS820_MCSR_INIT

#define USS820_MCSR_INIT   0x40 /* Device Initialized */

Definition at line 232 of file uss820dci.h.

◆ USS820_MCSR_PKGID

#define USS820_MCSR_PKGID   0x10 /* Package Identification */

Definition at line 230 of file uss820dci.h.

◆ USS820_MCSR_RWUPR

#define USS820_MCSR_RWUPR   0x80 /* Remote Wakeup-Up Remember */

Definition at line 233 of file uss820dci.h.

◆ USS820_MCSR_SUSPLOE

#define USS820_MCSR_SUSPLOE   0x02 /* Suspend Lock Out Enable */

Definition at line 227 of file uss820dci.h.

◆ USS820_MCSR_SUSPS

#define USS820_MCSR_SUSPS   0x20 /* Suspend Status */

Definition at line 231 of file uss820dci.h.

◆ USS820_PEND

#define USS820_PEND   0x1a /* Pend hardware status update */

Definition at line 217 of file uss820dci.h.

◆ USS820_PEND_PEND

#define USS820_PEND_PEND   0x01

Definition at line 218 of file uss820dci.h.

◆ USS820_PEND_UNUSED

#define USS820_PEND_UNUSED   0xFE

Definition at line 219 of file uss820dci.h.

◆ USS820_READ_1

#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.

◆ USS820_REG_STRIDE

#define USS820_REG_STRIDE   1

Definition at line 259 of file uss820dci.h.

◆ USS820_REV

#define USS820_REV   0x18 /* Hardware revision */

Definition at line 209 of file uss820dci.h.

◆ USS820_REV_MAJ

#define USS820_REV_MAJ   0xF0

Definition at line 211 of file uss820dci.h.

◆ USS820_REV_MIN

#define USS820_REV_MIN   0x0F

Definition at line 210 of file uss820dci.h.

◆ USS820_RXCNTH

#define USS820_RXCNTH   0x07 /* Receive FIFO byte count high */

Definition at line 73 of file uss820dci.h.

◆ USS820_RXCNTH_MASK

#define USS820_RXCNTH_MASK   0x03

Definition at line 74 of file uss820dci.h.

◆ USS820_RXCNTH_UNUSED

#define USS820_RXCNTH_UNUSED   0xFC

Definition at line 75 of file uss820dci.h.

◆ USS820_RXCNTL

#define USS820_RXCNTL   0x06 /* Receive FIFO byte count low */

Definition at line 70 of file uss820dci.h.

◆ USS820_RXCNTL_MASK

#define USS820_RXCNTL_MASK   0xFF

Definition at line 71 of file uss820dci.h.

◆ USS820_RXCON

#define USS820_RXCON   0x08 /* Receive FIFO control */

Definition at line 77 of file uss820dci.h.

◆ USS820_RXCON_ADVWM

#define USS820_RXCON_ADVWM   0x02

Definition at line 79 of file uss820dci.h.

◆ USS820_RXCON_ARM

#define USS820_RXCON_ARM   0x04 /* Auto Receive Management */

Definition at line 80 of file uss820dci.h.

◆ USS820_RXCON_FFSZ_16_64

#define USS820_RXCON_FFSZ_16_64   0x00

Definition at line 83 of file uss820dci.h.

◆ USS820_RXCON_FFSZ_32_1024

#define USS820_RXCON_FFSZ_32_1024   0x60

Definition at line 86 of file uss820dci.h.

◆ USS820_RXCON_FFSZ_64_256

#define USS820_RXCON_FFSZ_64_256   0x20

Definition at line 84 of file uss820dci.h.

◆ USS820_RXCON_FFSZ_8_512

#define USS820_RXCON_FFSZ_8_512   0x40

Definition at line 85 of file uss820dci.h.

◆ USS820_RXCON_REVWP

#define USS820_RXCON_REVWP   0x01

Definition at line 78 of file uss820dci.h.

◆ USS820_RXCON_RXCLR

#define USS820_RXCON_RXCLR   0x80 /* Receive FIFO clear */

Definition at line 87 of file uss820dci.h.

◆ USS820_RXCON_RXFFRC

#define USS820_RXCON_RXFFRC   0x10 /* FIFO Read Complete */

Definition at line 82 of file uss820dci.h.

◆ USS820_RXCON_RXISO

#define USS820_RXCON_RXISO   0x08 /* Receive Isochronous Data */

Definition at line 81 of file uss820dci.h.

◆ USS820_RXDAT

#define USS820_RXDAT   0x05 /* Receive FIFO data */

Definition at line 68 of file uss820dci.h.

◆ USS820_RXFLG

#define USS820_RXFLG   0x09 /* Receive FIFO flag (Read Only) */

Definition at line 89 of file uss820dci.h.

◆ USS820_RXFLG_RXEMP

#define USS820_RXFLG_RXEMP   0x08 /* RX empty */

Definition at line 93 of file uss820dci.h.

◆ USS820_RXFLG_RXFIF0

#define USS820_RXFLG_RXFIF0   0x40

Definition at line 96 of file uss820dci.h.

◆ USS820_RXFLG_RXFIF1

#define USS820_RXFLG_RXFIF1   0x80

Definition at line 97 of file uss820dci.h.

◆ USS820_RXFLG_RXFLUSH

#define USS820_RXFLG_RXFLUSH   0x10 /* RX flush */

Definition at line 94 of file uss820dci.h.

◆ USS820_RXFLG_RXFULL

#define USS820_RXFLG_RXFULL   0x04 /* RX full */

Definition at line 92 of file uss820dci.h.

◆ USS820_RXFLG_RXOVF

#define USS820_RXFLG_RXOVF   0x01 /* RX overflow */

Definition at line 90 of file uss820dci.h.

◆ USS820_RXFLG_RXURF

#define USS820_RXFLG_RXURF   0x02 /* RX underflow */

Definition at line 91 of file uss820dci.h.

◆ USS820_RXFLG_UNUSED

#define USS820_RXFLG_UNUSED   0x20

Definition at line 95 of file uss820dci.h.

◆ USS820_RXSTAT

#define USS820_RXSTAT   0x0d /* Receive status */

Definition at line 123 of file uss820dci.h.

◆ USS820_RXSTAT_EDOVW

#define USS820_RXSTAT_EDOVW   0x10 /* End Overwrite Flag */

Definition at line 128 of file uss820dci.h.

◆ USS820_RXSTAT_RXACK

#define USS820_RXSTAT_RXACK   0x01 /* Receive Acknowledge */

Definition at line 124 of file uss820dci.h.

◆ USS820_RXSTAT_RXERR

#define USS820_RXSTAT_RXERR   0x02 /* Receive Error */

Definition at line 125 of file uss820dci.h.

◆ USS820_RXSTAT_RXSEQ

#define USS820_RXSTAT_RXSEQ   0x80 /* Receiver Endpoint Sequence Bit */

Definition at line 131 of file uss820dci.h.

◆ USS820_RXSTAT_RXSETUP

#define USS820_RXSTAT_RXSETUP   0x40 /* Received SETUP token */

Definition at line 130 of file uss820dci.h.

◆ USS820_RXSTAT_RXSOVW

#define USS820_RXSTAT_RXSOVW   0x08 /* Receive Data Sequence Overwrite Bit */

Definition at line 127 of file uss820dci.h.

◆ USS820_RXSTAT_RXVOID

#define USS820_RXSTAT_RXVOID   0x04 /* Receive Void */

Definition at line 126 of file uss820dci.h.

◆ USS820_RXSTAT_STOVW

#define USS820_RXSTAT_STOVW   0x20 /* Start Overwrite Flag */

Definition at line 129 of file uss820dci.h.

◆ USS820_SBI

#define USS820_SBI   0x14 /* Serial bus interrupt low */

Definition at line 169 of file uss820dci.h.

◆ USS820_SBI1

#define USS820_SBI1   0x15 /* Serial bus interrupt high */

Definition at line 179 of file uss820dci.h.

◆ USS820_SBI1_FRXD4

#define USS820_SBI1_FRXD4   0x02

Definition at line 181 of file uss820dci.h.

◆ USS820_SBI1_FRXD5

#define USS820_SBI1_FRXD5   0x08

Definition at line 183 of file uss820dci.h.

◆ USS820_SBI1_FRXD6

#define USS820_SBI1_FRXD6   0x20

Definition at line 185 of file uss820dci.h.

◆ USS820_SBI1_FRXD7

#define USS820_SBI1_FRXD7   0x80

Definition at line 187 of file uss820dci.h.

◆ USS820_SBI1_FTXD4

#define USS820_SBI1_FTXD4   0x01

Definition at line 180 of file uss820dci.h.

◆ USS820_SBI1_FTXD5

#define USS820_SBI1_FTXD5   0x04

Definition at line 182 of file uss820dci.h.

◆ USS820_SBI1_FTXD6

#define USS820_SBI1_FTXD6   0x10

Definition at line 184 of file uss820dci.h.

◆ USS820_SBI1_FTXD7

#define USS820_SBI1_FTXD7   0x40

Definition at line 186 of file uss820dci.h.

◆ USS820_SBI_FRXD0

#define USS820_SBI_FRXD0   0x02 /* Function Receive Done, EP 0 */

Definition at line 171 of file uss820dci.h.

◆ USS820_SBI_FRXD1

#define USS820_SBI_FRXD1   0x08

Definition at line 173 of file uss820dci.h.

◆ USS820_SBI_FRXD2

#define USS820_SBI_FRXD2   0x20

Definition at line 175 of file uss820dci.h.

◆ USS820_SBI_FRXD3

#define USS820_SBI_FRXD3   0x80

Definition at line 177 of file uss820dci.h.

◆ USS820_SBI_FTXD0

#define USS820_SBI_FTXD0   0x01 /* Function Transmit Done, EP 0 */

Definition at line 170 of file uss820dci.h.

◆ USS820_SBI_FTXD1

#define USS820_SBI_FTXD1   0x04

Definition at line 172 of file uss820dci.h.

◆ USS820_SBI_FTXD2

#define USS820_SBI_FTXD2   0x10

Definition at line 174 of file uss820dci.h.

◆ USS820_SBI_FTXD3

#define USS820_SBI_FTXD3   0x40

Definition at line 176 of file uss820dci.h.

◆ USS820_SBIE

#define USS820_SBIE   0x16 /* Serial bus interrupt enable low */

Definition at line 189 of file uss820dci.h.

◆ USS820_SBIE1

#define USS820_SBIE1   0x17 /* Serial bus interrupt enable high */

Definition at line 199 of file uss820dci.h.

◆ USS820_SBIE1_FRXIE4

#define USS820_SBIE1_FRXIE4   0x02

Definition at line 201 of file uss820dci.h.

◆ USS820_SBIE1_FRXIE5

#define USS820_SBIE1_FRXIE5   0x08

Definition at line 203 of file uss820dci.h.

◆ USS820_SBIE1_FRXIE6

#define USS820_SBIE1_FRXIE6   0x20

Definition at line 205 of file uss820dci.h.

◆ USS820_SBIE1_FRXIE7

#define USS820_SBIE1_FRXIE7   0x80

Definition at line 207 of file uss820dci.h.

◆ USS820_SBIE1_FTXIE4

#define USS820_SBIE1_FTXIE4   0x01

Definition at line 200 of file uss820dci.h.

◆ USS820_SBIE1_FTXIE5

#define USS820_SBIE1_FTXIE5   0x04

Definition at line 202 of file uss820dci.h.

◆ USS820_SBIE1_FTXIE6

#define USS820_SBIE1_FTXIE6   0x10

Definition at line 204 of file uss820dci.h.

◆ USS820_SBIE1_FTXIE7

#define USS820_SBIE1_FTXIE7   0x40

Definition at line 206 of file uss820dci.h.

◆ USS820_SBIE_FRXIE0

#define USS820_SBIE_FRXIE0   0x02

Definition at line 191 of file uss820dci.h.

◆ USS820_SBIE_FRXIE1

#define USS820_SBIE_FRXIE1   0x08

Definition at line 193 of file uss820dci.h.

◆ USS820_SBIE_FRXIE2

#define USS820_SBIE_FRXIE2   0x20

Definition at line 195 of file uss820dci.h.

◆ USS820_SBIE_FRXIE3

#define USS820_SBIE_FRXIE3   0x80

Definition at line 197 of file uss820dci.h.

◆ USS820_SBIE_FTXIE0

#define USS820_SBIE_FTXIE0   0x01

Definition at line 190 of file uss820dci.h.

◆ USS820_SBIE_FTXIE1

#define USS820_SBIE_FTXIE1   0x04

Definition at line 192 of file uss820dci.h.

◆ USS820_SBIE_FTXIE2

#define USS820_SBIE_FTXIE2   0x10

Definition at line 194 of file uss820dci.h.

◆ USS820_SBIE_FTXIE3

#define USS820_SBIE_FTXIE3   0x40

Definition at line 196 of file uss820dci.h.

◆ USS820_SCR

#define USS820_SCR   0x11 /* System Control */

Definition at line 148 of file uss820dci.h.

◆ USS820_SCR_IE_RESET

#define USS820_SCR_IE_RESET   0x10 /* Enable Reset Interrupt */

Definition at line 153 of file uss820dci.h.

◆ USS820_SCR_IE_SUSP

#define USS820_SCR_IE_SUSP   0x20 /* Enable Suspend Interrupt */

Definition at line 154 of file uss820dci.h.

◆ USS820_SCR_IRQLVL

#define USS820_SCR_IRQLVL   0x04 /* Interrupt Mode */

Definition at line 151 of file uss820dci.h.

◆ USS820_SCR_IRQPOL

#define USS820_SCR_IRQPOL   0x80 /* IRQ polarity */

Definition at line 156 of file uss820dci.h.

◆ USS820_SCR_RWUPE

#define USS820_SCR_RWUPE   0x40 /* Enable Remote Wake-Up Feature */

Definition at line 155 of file uss820dci.h.

◆ USS820_SCR_SRESET

#define USS820_SCR_SRESET   0x08 /* Software reset */

Definition at line 152 of file uss820dci.h.

◆ USS820_SCR_T_IRQ

#define USS820_SCR_T_IRQ   0x02 /* Global Interrupt Enable */

Definition at line 150 of file uss820dci.h.

◆ USS820_SCR_UNUSED

#define USS820_SCR_UNUSED   0x01

Definition at line 149 of file uss820dci.h.

◆ USS820_SCRATCH

#define USS820_SCRATCH   0x1b /* Scratch firmware information */

Definition at line 221 of file uss820dci.h.

◆ USS820_SCRATCH_IE_RESUME

#define USS820_SCRATCH_IE_RESUME   0x80 /* Enable Resume Interrupt */

Definition at line 223 of file uss820dci.h.

◆ USS820_SCRATCH_MASK

#define USS820_SCRATCH_MASK   0x7F

Definition at line 222 of file uss820dci.h.

◆ USS820_SOFH

#define USS820_SOFH   0x0f /* Start Of Frame counter high */

Definition at line 136 of file uss820dci.h.

◆ USS820_SOFH_ASOF

#define USS820_SOFH_ASOF   0x40 /* Any Start of Frame */

Definition at line 141 of file uss820dci.h.

◆ USS820_SOFH_FTLOCK

#define USS820_SOFH_FTLOCK   0x10 /* Frame Timer Lock */

Definition at line 139 of file uss820dci.h.

◆ USS820_SOFH_MASK

#define USS820_SOFH_MASK   0x07

Definition at line 137 of file uss820dci.h.

◆ USS820_SOFH_SOFACK

#define USS820_SOFH_SOFACK   0x80 /* SOF Token Received Without Error */

Definition at line 142 of file uss820dci.h.

◆ USS820_SOFH_SOFDIS

#define USS820_SOFH_SOFDIS   0x08 /* SOF Pin Output Disable */

Definition at line 138 of file uss820dci.h.

◆ USS820_SOFH_SOFIE

#define USS820_SOFH_SOFIE   0x20 /* SOF Interrupt Enable */

Definition at line 140 of file uss820dci.h.

◆ USS820_SOFL

#define USS820_SOFL   0x0e /* Start Of Frame counter low */

Definition at line 133 of file uss820dci.h.

◆ USS820_SOFL_MASK

#define USS820_SOFL_MASK   0xFF

Definition at line 134 of file uss820dci.h.

◆ USS820_SSR

#define USS820_SSR   0x12 /* System Status */

Definition at line 158 of file uss820dci.h.

◆ USS820_SSR_RESET

#define USS820_SSR_RESET
Value:
0x01 /* Reset Condition Detected on USB
* cable */

Definition at line 159 of file uss820dci.h.

◆ USS820_SSR_RESUME

#define USS820_SSR_RESUME   0x04 /* Resume Detected */

Definition at line 161 of file uss820dci.h.

◆ USS820_SSR_SUSPDIS

#define USS820_SSR_SUSPDIS   0x08 /* Suspend Disable */

Definition at line 162 of file uss820dci.h.

◆ USS820_SSR_SUSPEND

#define USS820_SSR_SUSPEND   0x02 /* Suspend Detected */

Definition at line 160 of file uss820dci.h.

◆ USS820_SSR_SUSPPO

#define USS820_SSR_SUSPPO   0x10 /* Suspend Power Off */

Definition at line 163 of file uss820dci.h.

◆ USS820_SSR_UNUSED

#define USS820_SSR_UNUSED   0xE0

Definition at line 164 of file uss820dci.h.

◆ USS820_TXCNTH

#define USS820_TXCNTH   0x02 /* Transmit FIFO byte count high */

Definition at line 42 of file uss820dci.h.

◆ USS820_TXCNTH_MASK

#define USS820_TXCNTH_MASK   0x03

Definition at line 43 of file uss820dci.h.

◆ USS820_TXCNTH_UNUSED

#define USS820_TXCNTH_UNUSED   0xFC

Definition at line 44 of file uss820dci.h.

◆ USS820_TXCNTL

#define USS820_TXCNTL   0x01 /* Transmit FIFO byte count low */

Definition at line 39 of file uss820dci.h.

◆ USS820_TXCNTL_MASK

#define USS820_TXCNTL_MASK   0xFF

Definition at line 40 of file uss820dci.h.

◆ USS820_TXCON

#define USS820_TXCON   0x03 /* USB transmit FIFO control */

Definition at line 46 of file uss820dci.h.

◆ USS820_TXCON_ADVRM

#define USS820_TXCON_ADVRM   0x02

Definition at line 48 of file uss820dci.h.

◆ USS820_TXCON_ATM

#define USS820_TXCON_ATM   0x04 /* Automatic Transmit Management */

Definition at line 49 of file uss820dci.h.

◆ USS820_TXCON_FFSZ_16_64

#define USS820_TXCON_FFSZ_16_64   0x00

Definition at line 52 of file uss820dci.h.

◆ USS820_TXCON_FFSZ_32_1024

#define USS820_TXCON_FFSZ_32_1024   0x60

Definition at line 55 of file uss820dci.h.

◆ USS820_TXCON_FFSZ_64_256

#define USS820_TXCON_FFSZ_64_256   0x20

Definition at line 53 of file uss820dci.h.

◆ USS820_TXCON_FFSZ_8_512

#define USS820_TXCON_FFSZ_8_512   0x40

Definition at line 54 of file uss820dci.h.

◆ USS820_TXCON_FFSZ_MASK

#define USS820_TXCON_FFSZ_MASK   0x60

Definition at line 56 of file uss820dci.h.

◆ USS820_TXCON_REVRP

#define USS820_TXCON_REVRP   0x01

Definition at line 47 of file uss820dci.h.

◆ USS820_TXCON_TXCLR

#define USS820_TXCON_TXCLR   0x80 /* Transmit FIFO clear */

Definition at line 57 of file uss820dci.h.

◆ USS820_TXCON_TXISO

#define USS820_TXCON_TXISO   0x08 /* Transmit Isochronous Data */

Definition at line 50 of file uss820dci.h.

◆ USS820_TXCON_UNUSED

#define USS820_TXCON_UNUSED   0x10

Definition at line 51 of file uss820dci.h.

◆ USS820_TXDAT

#define USS820_TXDAT   0x00 /* Transmit FIFO data */

Definition at line 37 of file uss820dci.h.

◆ USS820_TXFLG

#define USS820_TXFLG   0x04 /* Transmit FIFO flag (Read Only) */

Definition at line 59 of file uss820dci.h.

◆ USS820_TXFLG_TXEMP

#define USS820_TXFLG_TXEMP   0x08 /* TX empty */

Definition at line 63 of file uss820dci.h.

◆ USS820_TXFLG_TXFIF0

#define USS820_TXFLG_TXFIF0   0x40

Definition at line 65 of file uss820dci.h.

◆ USS820_TXFLG_TXFIF1

#define USS820_TXFLG_TXFIF1   0x80

Definition at line 66 of file uss820dci.h.

◆ USS820_TXFLG_TXFULL

#define USS820_TXFLG_TXFULL   0x04 /* TX full */

Definition at line 62 of file uss820dci.h.

◆ USS820_TXFLG_TXOVF

#define USS820_TXFLG_TXOVF   0x01 /* TX overrun */

Definition at line 60 of file uss820dci.h.

◆ USS820_TXFLG_TXURF

#define USS820_TXFLG_TXURF   0x02 /* TX underrun */

Definition at line 61 of file uss820dci.h.

◆ USS820_TXFLG_UNUSED

#define USS820_TXFLG_UNUSED   0x30

Definition at line 64 of file uss820dci.h.

◆ USS820_TXSTAT

#define USS820_TXSTAT   0x0c /* Transmit status */

Definition at line 113 of file uss820dci.h.

◆ USS820_TXSTAT_TXACK

#define USS820_TXSTAT_TXACK   0x01 /* Transmit Acknowledge */

Definition at line 114 of file uss820dci.h.

◆ USS820_TXSTAT_TXDSAM

#define USS820_TXSTAT_TXDSAM   0x40 /* Transmit Data-Set-Available Mode */

Definition at line 120 of file uss820dci.h.

◆ USS820_TXSTAT_TXERR

#define USS820_TXSTAT_TXERR   0x02 /* Transmit Error */

Definition at line 115 of file uss820dci.h.

◆ USS820_TXSTAT_TXFLUSH

#define USS820_TXSTAT_TXFLUSH   0x10 /* Transmit FIFO Packet Flushed */

Definition at line 118 of file uss820dci.h.

◆ USS820_TXSTAT_TXNAKE

#define USS820_TXSTAT_TXNAKE   0x20 /* Transmit NAK Mode Enable */

Definition at line 119 of file uss820dci.h.

◆ USS820_TXSTAT_TXSEQ

#define USS820_TXSTAT_TXSEQ   0x80 /* Transmitter Current Sequence Bit */

Definition at line 121 of file uss820dci.h.

◆ USS820_TXSTAT_TXSOVW

#define USS820_TXSTAT_TXSOVW
Value:
0x08 /* Transmit Data Sequence Overwrite
* Bit */

Definition at line 117 of file uss820dci.h.

◆ USS820_TXSTAT_TXVOID

#define USS820_TXSTAT_TXVOID   0x04 /* Transmit Void */

Definition at line 116 of file uss820dci.h.

◆ USS820_UNK0

#define USS820_UNK0   0x13 /* Unknown */

Definition at line 166 of file uss820dci.h.

◆ USS820_UNK0_UNUSED

#define USS820_UNK0_UNUSED   0xFF

Definition at line 167 of file uss820dci.h.

◆ USS820_UNK1

#define USS820_UNK1   0x1f /* Unknown */

Definition at line 255 of file uss820dci.h.

◆ USS820_UNK1_UNKNOWN

#define USS820_UNK1_UNKNOWN   0xFF

Definition at line 256 of file uss820dci.h.

◆ USS820_WRITE_1

#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 Documentation

◆ uss820dci_cmd_t

typedef uint8_t() uss820dci_cmd_t(struct uss820dci_softc *, struct uss820dci_td *td)

Definition at line 271 of file uss820dci.h.

Function Documentation

◆ uss820dci_init()

◆ uss820dci_uninit()

Variable Documentation

◆ __packed

◆ uss820dci_filter_interrupt

driver_filter_t uss820dci_filter_interrupt

Definition at line 357 of file uss820dci.h.

◆ uss820dci_interrupt

driver_intr_t uss820dci_interrupt

Definition at line 358 of file uss820dci.h.