//--------------------------------------------------------------------------- // Project PMACUSB Firmware // Quad 1, Inc. // Copyright © 1999. All Rights Reserved. // // SUBSYSTEM: PMACUSB Expansion Card // FILE: VENDCMDS.H // AUTHOR: Henry Bausley // // OVERVIEW // ~~~~~~~~ // Header file of constants for various vendor specific codes // // NOTES // ~~~~~ // //---------------------------------------------------------------------------- #ifndef _VENDCMDS_H #define _VENDCMDS_H // Command Structure for ethernet typedef struct tagEthernetCmd { BYTE RequestType; BYTE Request; WORD wValue; WORD wIndex; WORD wLength; BYTE bData[1492]; } ETHERNETCMD,*PETHERNETCMD; #define ETHERNETCMDSIZE 8 //----------------------------------------------------------------------------- // Constants Defined by USB 1.1 Spec //----------------------------------------------------------------------------- #define VR_UPLOAD 0xC0 // command sent to host #define VR_DOWNLOAD 0x40 // command sent to device //----------------------------------------------------------------------------- // Constants Defined by Anchor Chips that are internal to CPU or reserved //----------------------------------------------------------------------------- #define VR_ANCHOR_DLD 0xA0 // handled by core -- A0-AF reserved by Anchor #define VR_EEPROM 0xA2 // loads (uploads) EEPROM #define VR_RAM 0xA3 // loads (uploads) external ram #define VR_SETI2CADDR 0xA4 #define VR_GETI2C_TYPE 0xA5 // 8 or 16 byte address #define VR_GET_CHIP_REV 0xA6 // Rev A, B = 0, Rev C = 2 #define VR_TEST_MEM 0xA7 // runs mem test and returns result #define VR_RENUM 0xA8 // renum #define VR_DB_FX 0xA9 // Force use of double byte address EEPROM (for FX) #define VR_I2C_100 0xAA // put the i2c bus in 100Khz mode #define VR_I2C_400 0xAB // put the i2c bus in 400Khz mode #define VR_NOSDPAUTO 0xAC // test code. does uploads using SUDPTR with manual length override #define GET_CHIP_REV() ((CPUCS >> 4) & 0x00FF) // EzUSB Chip Rev Field #define SERIAL_ADDR 0x50 #define EP0BUFF_SIZE 0x40 //----------------------------------------------------------------------------- // Constants Defined by Quad 1 for implementing PMACUSB expansion card //----------------------------------------------------------------------------- #define VR_PMAC_SENDLINE 0xB0 // Device specific vendor commands #define VR_PMAC_GETLINE 0xB1 #define VR_PMAC_FLUSH 0xB3 #define VR_PMAC_GETMEM 0xB4 #define VR_PMAC_SETMEM 0xB5 #define VR_PMAC_SENDCTRLCHAR 0xB6 #define VR_PMAC_ENARTDATAGAT 0xB7 #define VR_PMAC_INIT 0xB8 #define VR_EEPROM_VIDDID 0xB9 #define VR_PMAC_SETBIT 0xBA #define VR_PMAC_SETBITS 0xBB #define VR_PMAC_DATAPORT 0xBC #define VR_PMAC_STATUSPORT 0xBD #define VR_PMAC_PORT 0xBE #define VR_PMAC_GETRESPONSE 0xBF #define VR_PMAC_SETSERCHAR 0xC0 #define VR_PMAC_GETSERCHAR 0xC1 #define VR_PMAC_READREADY 0xC2 #define VR_PMAC_GETLINE_B 0xC3 #define VR_CTRL_RESPONSE 0xC4 #define VR_PMAC_GETBUFFER 0xC5 #define VR_PMAC_WRITEBUFFER 0xC6 #define VR_PMAC_WRITEERROR 0xC7 #define VR_PMAC_BINROTPUT 0xC8 #define VR_PMAC_BINROTERROR 0xC9 #define VR_PMAC_BINROTINIT 0xCA #define VR_FWDOWNLOAD 0xCB #define VR_PMAC_CLOSE 0xD0 // Added by LSJ for Multiple Host Communication with Ethernet // And Interrupt Features #define VR_PMAC_INTRSTRING 0xCC #define VR_PMAC_KEEPALIVESTR 0xD6 #define VR_PMAC_SPINLOCK 0xD7 #define VR_IPADDRESS 0xE0 #define VR_MACADDRESS 0xE1 #define VR_DATE 0xE2 #define VR_TIME 0xE3 #define VR_VERSION 0xE4 #define EEPROMVER 8139 #define EEPROMTIME 8147 #define EEPROMDATE 8163 #define TCP_EEPROMADDR 8179 #define GATEWAYIP_EEPROMADDR 8180 #define GATEWAYMASK_EEPROMADDR 8184 #define IP_EEPROMADDR 8188 #define MAC_EEPROMADDR 8182 #define MAC_LEN 6 #define IP_LEN 4 #define TIME_LEN 16 #define DATE_LEN 16 #define VER_LEN 8 //----------------------------------------------------------------------------- // Prototypes //----------------------------------------------------------------------------- #ifndef _WINDOWS void EEPROMWrite(WORD addr, BYTE length, BYTE xdata *buf); //TPM EEPROM Write void EEPROMRead(WORD addr, BYTE length, BYTE xdata *buf); //TPM EEPROM Read void WaitForEndpoint0(bit IN); #endif #endif