⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usbsl811hs.h

📁 SL811 USB接口芯片用于VxWorks系统的驱动源代码
💻 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 + -