#ifndef _SRIOAPI_H #define _SRIOAPI_H /* Check host side's SRIO capabilities on size limit for each transfer, size limit is on bytes */ #define SIZELIMIT 1000 #define DEVICEID 0x0003 #define DEVICEID_REG (DEVICEID<<16|DEVICEID) #define TARGET_DEVICEID 0x0080 #define SRIO_TIMEOUT 50000 /* Boot modes */ #define SRIOBootConfig0 8 #define SRIOBootConfig1 9 #define SRIOBootConfig2 10 #define SRIOBootConfig3 11 #define PORT0 0 #define PORT1 1 /* PSC registers */ #define PSC_PDCTL2 0x02ac0308 #define PSC_MDCTL7 0x02ac0a1c #define PSC_PTCMD 0x02ac0120 #define PSC_PSTAT 0x02ac0128 void SRIOConfigure(int bootmode); int SRIOPortStatus(int port); int SRIOTransfer(int rio_id, int port, unsigned int host_addr, unsigned int dsp_addr, int size_bytes); int SRIODoorBell(int rio_id, int port); unsigned int byteto32bits(unsigned char *pDspCode); void Convert2BigEndian(unsigned int *pDspCode, int size); int bootDSP(unsigned char *pDspCode,int DeviceID); #endif /* _SRIOAPI_H */