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

📄 uhci.equ

📁 AMI 主板的BIOS源码。
💻 EQU
字号:
;*****************************************************************;
;*****************************************************************;
;**                                                             **;
;**      (C)Copyright 1985-1996, American Megatrends, Inc.      **;
;**                                                             **;
;**                     All Rights Reserved.                    **;
;**                                                             **;
;**           6145-F Northbelt Pkwy, Norcross, GA 30071         **;
;**                                                             **;
;**                     Phone (770)-246-8600                    **;
;**                                                             **;
;*****************************************************************;
;*****************************************************************;
;****************************************************************************;

; Global equates for UHCI
;-------------------------------------------------------------------------

ifdef DOS_DEBUG
USB_HC_CLASS_CODE	equ 0C0300h	;Class code for UHCI host controllers
endif

HID_DEVICE_LIMIT	equ 8		;Maximum number of HID devices supported
HUB_DEVICE_LIMIT	equ 8		;Maximum number of Hub devices supported



FRAME_LIST_SIZE		equ 1024	;Number of DWORDs in frame list

IDLE_FRAMES		equ 1		;Number of idle frames inserted between
					; active frames in schedule of HIDs

ACTIVE_FRAMES		equ 4		;Number of frames used to implement
					; the schedule for HIDs
					
TDS_PER_FRAME		equ HID_DEVICE_LIMIT / ACTIVE_FRAMES
			 		;Number of HID TDs to schedule per frame

CONTROL_DATA_TD_COUNT	equ MAX_CONTROL_DATA_SIZE / 8
					;Total number of ControlDataTds that
					; may be used to send/receive data
					; in control transfers.

MAX_DEVICES		equ HID_DEVICE_LIMIT + HUB_DEVICE_LIMIT
					;Maximum number of devices allowed in
					; the schedule

MIN_HID_DEVICE_ADDR	equ 1
MAX_HID_DEVICE_ADDR	equ MIN_HID_DEVICE_ADDR + HID_DEVICE_LIMIT - 1
MIN_HUB_DEVICE_ADDR	equ MAX_HID_DEVICE_ADDR + 1
MAX_HUB_DEVICE_ADDR	equ MIN_HUB_DEVICE_ADDR + HUB_DEVICE_LIMIT - 1
DUMMY_DEVICE_ADDR	equ MAX_DEVICES	;Addr that is garanteed not to be used

FRAME_REPEAT		equ ACTIVE_FRAMES + (ACTIVE_FRAMES * IDLE_FRAMES)
					;The schedule repeats this often

DEFAULT_PACKET_LENGTH	equ 8		;Max size of packet data


; General Equates
;-------------------------------------------------------------------------
TRUE	equ -1
FALSE	equ 0


; Transfer Descriptor (TD) Structure
;-------------------------------------------------------------------------
Transfer_Descriptor	struc

	TD_Link_Pointer		dd ?	;This part of the TD is defined
	TD_Control_Status	dd ?	; by the Intel Universal Host
	TD_Token		dd ?	; Controller Interface (UHCI)
	TD_Buffer_Pointer	dd ?	; specification

	CSReloadValue		dd ?	;Value to reload into TD_Control_Status
	pCallback		dw ?	;Offset of routine to call on completion
	ActiveFlag		db ?	;If nonzero, TD is active
	Reserved		db ?
	DataArea		db 8 dup (?)	;Data buffer for TD

Transfer_Descriptor	ends


; Queue Head (QH) Structure
;-------------------------------------------------------------------------
Q_Head		struc
	Q_Head_Link_Pointer	dd ?	;Pointer to next Q_Head
	Q_Element_Link_Pointer	dd ?	;Pointer to first TD in this Q
Q_Head		ends


;
; Equates for Host Controller I/O mapped registers (offsets from base address)
;
USB_COMMAND_REG		equ		00h
USB_STATUS_REG		equ		02h
USB_INTERRUPT_ENABLE	equ		04h
USB_FRAME_NUM		equ		06h
USB_FRAME_LIST_BASE	equ		08h
USB_SOF_MODIFY		equ		0Ch
USB_PORT1_CONTROL	equ		10h
USB_PORT2_CONTROL	equ		12h

;
; Equates for USB specific registers in the PCI config space
;
USB_BASE_ADDRESS	equ		20h
USB_IRQ_LEVEL		equ		3Ch
USB_RELEASE_NUM		equ		60h

;
; Bit definitions for USB command register
;
HOST_CONTROLLER_RUN	equ		01h
HOST_CONTROLLER_RESET	equ		02h
GLOBAL_RESET  		equ		04h
ENTER_SUSPEND		equ		08h
FORCE_RESUME		equ		10h
CONFIGURE_FLAG		equ		40h
MAX_PACKET_64_BYTE	equ		80h

;
; Bit definitions for USB status register
;
USB_INTERRUPT		equ		01h
USB_ERROR_INTERRUPT	equ		02h
RESUME_RECEIVED		equ		04h
PCI_BUS_ERROR		equ		08h
HC_PROCESS_ERROR	equ		10h
HC_HALTED		equ		20h

;
; Bit definitions for USB interrupt enable register
;
TIMEOUT_CRC_ENABLE	equ		01h
RESUME_ENABLE		equ		02h
IOC_ENABLE		equ		04h
SHORT_PACKET_ENABLE	equ		08h

;
; Bit definitions for Port Status and Control
;
CONNECT_STATUS		equ		0001h
CONNECT_STATUS_CHANGE	equ		0002h
PORT_ENABLE		equ		0004h
PORT_ENABLE_CHANGE	equ		0008h
LINE_STATUS		equ		0030h
LINE_STATUS_CHANGE	equ		0040h
LOW_SPEED_ATTACHED	equ		0100h
PORT_RESET		equ		0200h
PORT_SUSPEND		equ		0400h

;
; Bit definitions for a generic pointer
;
TERMINATE		equ		000000001h
QUEUE_HEAD		equ		000000002h
VERTICAL_FLAG		equ		000000004h
LINK_POINTER		equ		0FFFFFFF0h

;
; Bit definitions for transfer descriptor control and status
;
ACTUAL_LENGTH		equ		0000007FFh
STATUS_FIELD		equ		000FE0000h
BITSTUFF_ERROR		equ		000020000h
CRC_TIMEOUT_ERROR	equ		000040000h
NAK_RECEIVED		equ		000080000h
BABBLE_DETECTED		equ		000100000h
DATA_BUFFER_ERROR	equ		000200000h
STALLED			equ		000400000h
ACTIVE			equ		000800000h
INTERRUPT_ON_COMPLETE	equ		001000000h
ISOCHRONOUS_SELECT	equ		002000000h
LOW_SPEED_DEVICE	equ		004000000h
ERROR_COUNTER		equ		018000000h
ONE_ERROR		equ		008000000h
TWO_ERRORS		equ		010000000h
THREE_ERRORS		equ		018000000h
SHORT_PACKET_DETECT	equ		020000000h

;
; Bit definitions for transfer descriptor token
;
PACKET_ID		equ		0000000ffh
	IN_PACKET	equ		01101001b
	OUT_PACKET	equ		11100001b
	SETUP_PACKET	equ		00101101b
DEVICE_ADDRESS 		equ		000007f00h	
ENDPOINT		equ		000078000h
DATA_TOGGLE		equ		000080000h
MAX_LENGTH		equ		0FFE00000h

;*****************************************************************;
;*****************************************************************;
;**                                                             **;
;**      (C)Copyright 1985-1996, American Megatrends, Inc.      **;
;**                                                             **;
;**                     All Rights Reserved.                    **;
;**                                                             **;
;**           6145-F Northbelt Pkwy, Norcross, GA 30071         **;
;**                                                             **;
;**                     Phone (770)-246-8600                    **;
;**                                                             **;
;*****************************************************************;
;*****************************************************************;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -