Dana
2025-11-30 efda44a3808207db37921cf9237a8b7656352486
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#ifndef __ROMDATA_H__
#define __ROMDATA_H__
 
#include "util.h"
 
enum
{
    ADDR_9FF8,
    ADDR_D2B2,
    ADDR_DFF8,
    ADDR_BFF8,
    ADDR_C7F8,
    ADDR_AFF8,
    ROMSTRADDRCNT
};
 
 
enum {
    ROM220,
    ROM225,
    ROM250V1,
    ROM250V2,
    ROM230V1,
    ROM230V2,
    ROM230V3,
    ROM231V1,
    ROM216V1,
    ROM215V1,
    ROM236V1,
    ROM236V2,
    ROM256V1,
    ROM231V2,
    ROM266V1,
    ROM276V1,
    ROM275V1,
    ROM290V1,    // shawn 2010/08/11 add
    ROM290V2,    // shawn 2011/01/31 add
    ROM286V1,    // shawn 2010/12/30 add
    ROM288V1,    // shawn 2011/06/10 add
    ROM289V1,    // shawn 2011/08/23 add
    ROM270V1,    // shawn 2012/02/08 add
    ROM271V1,    // shawn 2012/02/08 add
    ROM280V1,    // Daniel 2012/09/13 add
    ROM281V1,    // Daniel 2012/09/13 add
    ROM232V1,
    ROM232V2,
    ROM272V1,    // Jyh 2015/2/5
    ROM273V0,
    ROM275V2,
    ROM283,//wei add 283
    ROM292,//wei add 292
    ROM287,//wei add 287
    ROM267,//yiling add 267
    ROM276V2,//liwei add 276V2
    ROM285,//liwei add 285V0
    ROM286,//liwei add 286V0
    ROMCOUNT
};
 
typedef struct
{
    USHORT RomStringAddr;
    unsigned char RomString[8];
    USHORT SFTypeAddr;
    USHORT CodeVerAddr1;
    USHORT CodeVerAddr2;
    unsigned long Bypass;
    bool IsNewestVer;        // for Lib compatibility
    bool IsSWErase;            // shawn 2009/04/03 add
    bool IsDisSFWriteCmd;    // shawn 2009/04/03 add
    bool IsGeneric;            // shawn 2010/04/14 add
    bool IsCompactMode;        // shawn 2010/05/11 add
    bool IsLCVer;            // sha
} ROM_INFO;
 
extern USHORT RomStringAddr[ROMSTRADDRCNT];
 
extern ROM_INFO RomInfo[ROMCOUNT];
 
extern unsigned int uiRomID;
 
typedef enum
{
    DAT_UNKNOW = -1,
    DAT_FIRST,
    DAT_SECOND,
    DSP_ARCH_COUNT
}DSP_ARCH_TYPE;
 
typedef struct
{
    USHORT asicIdAddr;
    USHORT sfRdyAddr;
    USHORT usbResetAddr;
    USHORT gpioInputAddr;
    USHORT gpioOutputAddr;
    USHORT gpioOEAddr;
    USHORT sfModeAddr;
    USHORT sfCSAddr;
    USHORT sfWriteDataAddr;
    USHORT sfReadDataAddr;
    USHORT sfReadWriteTriggerAddr;
 
    USHORT i2cDev;
    USHORT i2cMode;
    USHORT i2cTrg;
    USHORT i2cSclSelOD;
    USHORT i2cSlaveID;
    USHORT i2cDataArrStartAddr;
 
}DSP_ARCH_INFO;
 
extern USHORT dspIdAddr;
extern USHORT sfRdyAddr;
extern USHORT usbResetAddr;
extern USHORT gpioInputAddr;
extern USHORT gpioOutputAddr;
extern USHORT gpioOEAddr;
extern USHORT sfModeAddr;
extern USHORT sfCSAddr;
extern USHORT sfWriteDataAddr;
extern USHORT sfReadDataAddr;
extern USHORT sfReadWriteTriggerAddr;
 
extern USHORT i2cDev;
extern USHORT i2cMode;
extern USHORT i2cTrg;
extern USHORT i2cSclSelOD;
extern USHORT i2cSlaveID;
extern USHORT i2cDataArrStartAddr;
 
 
extern DSP_ARCH_INFO g_AsicArchInfo[DSP_ARCH_COUNT];
extern USHORT g_CurDspExtendUnitID;
extern DSP_ARCH_INFO g_CurDspArchInfo;
 
BOOL LibUsb_SetAsicArchInfo(DSP_ARCH_TYPE dspArchType);
 
#endif