📄 usbsl811hs.h
字号:
/* usbSl811hs.h - include file for the ScanLogic SL811HS USB controller */
/* Copyright 2000 Wind River Systems, Inc. */
/*
Modification history
--------------------
01a,16nov01,dgj Initial version
*/
/*
DESCRIPTION
This file contains various macros for the ScanLogic SL811HS USB controller
*/
#ifndef __INCusbSl811hsh
#define __INCusbSl811hsh
#ifdef __cplusplus
extern "C" {
#endif
/* types */
typedef struct {
unsigned int ioAddr;
unsigned int ioAddrData;
unsigned int intVec;
unsigned int intLvl;
}SL811_IO_CFG;
typedef struct
{
UCHAR pid, reg, dlen, data01, ep, addr;
} SL11XACTION;
/* register offsets */
#define SL811HS_CTRL_REG_A 0x0
#define SL811HS_BASE_ADDR_A 0x1
#define SL811HS_BASE_LEN_A 0x2
#define SL811HS_PID_DEVEND_A 0x3
#define SL811HS_DEVADDR_TCNT_A 0x4
#define SL811HS_CTRL_REG_1 0x5
#define SL811HS_IER 0x6
#define SL811HS_CTRL_REG_B 0x8
#define SL811HS_BASE_ADDR_B 0x9
#define SL811HS_BASE_LEN_B 0xA
#define SL811HS_PID_DEVEND_B 0xB
#define SL811HS_DEVADDR_TCNT_B 0xC
#define SL811HS_INT_STAT_REG 0xD
#define SL811HS_SOFCNTL_REV 0xE
#define SL811HS_SOFCNTH_CTRL_2 0xF
/* Host control register bits (addr 0) */
#define SL811HS_HCTLMASK_ARM 1
#define SL811HS_HCTLMASK_ENBLEP 2
#define SL811HS_HCTLMASK_WRITE 4
#define SL811HS_HCTLMASK_ISOCH 0x10
#define SL811HS_HCTLMASK_AFTERSOF 0x20
#define SL811HS_HCTLMASK_SEQ 0x40
#define SL811HS_HCTLMASK_PREAMBLE 0x80
/* Packet status register bits (addr 3) */
#define SL811HS_STATMASK_ACK 1
#define SL811HS_STATMASK_ERROR 2
#define SL811HS_STATMASK_TMOUT 4
#define SL811HS_STATMASK_SEQ 8
#define SL811HS_STATMASK_SETUP 0x10
#define SL811HS_STATMASK_OVF 0x20
#define SL811HS_STATMASK_NAK 0x40
#define SL811HS_STATMASK_STALL 0x80
/* Control register 1 bits (addr 5) */
#define SL811HS_CTL1MASK_DSBLSOF 1
#define SL811HS_CTL1MASK_NOTXEOF2 4
#define SL811HS_CTL1MASK_DSTATE 0x18
#define SL811HS_CTL1MASK_NSPD 0x20
#define SL811HS_CTL1MASK_SUSPEND 0x40
#define SL811HS_CTL1MASK_CLK12 0x80
#define SL811HS_CTL1VAL_RESET 8
/* Interrut enable (addr 6) and interrupt status register bits (addr 0xD) */
#define SL811HS_INTMASK_XFERDONEA 0x1
#define SL811HS_INTMASK_XFERDONEB 0x2
#define SL811HS_INTMASK_SOFINTR 0x10
#define SL811HS_INTMASK_INSRMV 0x20
#define SL811HS_INTMASK_USBRESET 0x40
#define SL811HS_INTMASK_DSTATE 0x80 /* only in status reg */
/* HW rev and SOF lo register bits (addr 0xE) */
#define SL811HS_HWRMASK_HWREV 0xF0
/* SOF counter and control reg 2 (addr 0xF) */
#define SL811HS_CTL2MASK_SOFHI 0x3F
#define SL811HS_CTL2MASK_DSWAP 0x40
#define SL811HS_CTL2MASK_HOSTMODE 0xae
/* misc stuff */
#define SL811_PORTS 1
/* I/O macros */
#define SL811_ADDR 0x0
#ifdef __cplusplus
}
#endif
#endif /* __INCusbSl811hsh */
/* End of file. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -