diff options
Diffstat (limited to 'firmware/export/isp1583.h')
-rw-r--r-- | firmware/export/isp1583.h | 76 |
1 files changed, 39 insertions, 37 deletions
diff --git a/firmware/export/isp1583.h b/firmware/export/isp1583.h index 61ea4b83cc..fb150fb704 100644 --- a/firmware/export/isp1583.h +++ b/firmware/export/isp1583.h | |||
@@ -21,40 +21,46 @@ | |||
21 | #ifndef ISP1583_H | 21 | #ifndef ISP1583_H |
22 | #define ISP1583_H | 22 | #define ISP1583_H |
23 | 23 | ||
24 | #include "usb-target.h" | 24 | #include "dm320.h" |
25 | 25 | ||
26 | #ifndef ISP1583_H_OVERRIDE | 26 | /* General purpose memory region #2 */ |
27 | /* Initialization registers */ | 27 | #define ISP1583_IOBASE 0x60FFC000 |
28 | #define ISP1583_INIT_ADDRESS (*((volatile unsigned char*)(ISP1583_IOBASE+0x0))) | 28 | |
29 | #define ISP1583_INIT_MODE (*((volatile unsigned short*)(ISP1583_IOBASE+0xC))) | 29 | #define ISP1583_INIT_ADDRESS (*((volatile unsigned char*)(ISP1583_IOBASE+0x0))) //char |
30 | #define ISP1583_INIT_INTCONF (*((volatile unsigned char*)(ISP1583_IOBASE+0x10))) | 30 | #define ISP1583_INIT_MODE (*((volatile unsigned short*)(ISP1583_IOBASE+0xC*2))) |
31 | #define ISP1583_INIT_OTG (*((volatile unsigned char*)(ISP1583_IOBASE+0x12))) | 31 | #define ISP1583_INIT_INTCONF (*((volatile unsigned char*)(ISP1583_IOBASE+0x10*2))) //char |
32 | #define ISP1583_INIT_INTEN_A (*((volatile unsigned long*)(ISP1583_IOBASE+0x14))) | 32 | #define ISP1583_INIT_OTG (*((volatile unsigned char*)(ISP1583_IOBASE+0x12*2))) //char |
33 | #define ISP1583_INIT_INTEN_B | 33 | #define ISP1583_INIT_INTEN_A (*((volatile unsigned short*)(ISP1583_IOBASE+0x14*2))) |
34 | #define ISP1583_INIT_INTEN_READ ISP1583_INIT_INTEN_A | 34 | #define ISP1583_INIT_INTEN_B (*((volatile unsigned short*)(ISP1583_IOBASE+0x14*2+4))) |
35 | /* Data Flow registers */ | 35 | #define ISP1583_INIT_INTEN_READ (unsigned long)( (ISP1583_INIT_INTEN_A & 0xFFFF) | ((ISP1583_INIT_INTEN_B & 0xFFFF) << 16) ) |
36 | #define ISP1583_DFLOW_EPINDEX (*((volatile unsigned char*)(ISP1583_IOBASE+0xC2))) | 36 | /* Data flow registers */ |
37 | #define ISP1583_DFLOW_CTRLFUN (*((volatile unsigned char*)(ISP1583_IOBASE+0x28))) | 37 | #define ISP1583_DFLOW_EPINDEX (*((volatile unsigned char*)(ISP1583_IOBASE+0xC2*2))) //char |
38 | #define ISP1583_DFLOW_DATA (*((volatile unsigned short*)(ISP1583_IOBASE+0x20))) | 38 | #define ISP1583_DFLOW_CTRLFUN (*((volatile unsigned char*)(ISP1583_IOBASE+0x28*2))) //char |
39 | #define ISP1583_DFLOW_BUFLEN (*((volatile unsigned short*)(ISP1583_IOBASE+0x1C))) | 39 | #define ISP1583_DFLOW_DATA (*((volatile unsigned short*)(ISP1583_IOBASE+0x20*2))) |
40 | #define ISP1583_DFLOW_BUFSTAT (*((volatile unsigned char*)(ISP1583_IOBASE+0x1E))) | 40 | #define ISP1583_DFLOW_BUFLEN (*((volatile unsigned short*)(ISP1583_IOBASE+0x1C*2))) |
41 | #define ISP1583_DFLOW_MAXPKSZ (*((volatile unsigned short*)(ISP1583_IOBASE+0x04))) | 41 | #define ISP1583_DFLOW_BUFSTAT (*((volatile unsigned char*)(ISP1583_IOBASE+0x1E*2))) //char |
42 | #define ISP1583_DFLOW_EPTYPE (*((volatile unsigned short*)(ISP1583_IOBASE+0x08))) | 42 | #define ISP1583_DFLOW_MAXPKSZ (*((volatile unsigned short*)(ISP1583_IOBASE+0x04*2))) |
43 | #define ISP1583_DFLOW_EPTYPE (*((volatile unsigned short*)(ISP1583_IOBASE+0x08*2))) | ||
43 | /* DMA registers */ | 44 | /* DMA registers */ |
44 | #define ISP1583_DMA_ENDPOINT (*((volatile unsigned char*)(ISP1583_IOBASE+0x58))) | 45 | #define ISP1583_DMA_ENDPOINT (*((volatile unsigned char*)(ISP1583_IOBASE+0x58*2))) |
45 | /* General registers */ | 46 | /* General registers */ |
46 | #define ISP1583_GEN_INT_A (*((volatile unsigned long*)(ISP1583_IOBASE+0x18))) | 47 | #define ISP1583_GEN_INT_A (*((volatile unsigned short*)(ISP1583_IOBASE+0x18*2))) |
47 | #define ISP1583_GEN_INT_B | 48 | #define ISP1583_GEN_INT_B (*((volatile unsigned short*)(ISP1583_IOBASE+0x18*2+4))) |
48 | #define ISP1583_GEN_INT_READ ISP1583_GEN_INT_A | 49 | #define ISP1583_GEN_INT_READ (unsigned long)( (ISP1583_GEN_INT_A & 0xFFFF) | ((ISP1583_GEN_INT_B & 0xFFFF) << 16)) |
49 | #define ISP1583_GEN_CHIPID (*((volatile unsigned long*)(ISP1583_IOBASE+0x70))) /* Size=3 bytes */ | 50 | #define ISP1583_GEN_CHIPID_A (*((volatile unsigned short*)(ISP1583_IOBASE+0x70*2))) |
50 | #define ISP1583_GEN_FRAMEN0 (*((volatile unsigned short*)(ISP1583_IOBASE+0x74))) | 51 | #define ISP1583_GEN_CHIPID_B (*((volatile unsigned char*)(ISP1583_IOBASE+0x70*2+4))) //char |
51 | #define ISP1583_GEN_SCRATCH (*((volatile unsigned short*)(ISP1583_IOBASE+0x78))) | 52 | #define ISP1583_GEN_CHIPID (unsigned long)( (ISP1583_GEN_CHIPID_A & 0xFFFF) | ((ISP1583_GEN_CHIPID_B & 0xFFFF) << 16) ) |
52 | #define ISP1583_GEN_UNLCKDEV (*((volatile unsigned short*)(ISP1583_IOBASE+0x7C))) | 53 | #define ISP1583_GEN_FRAMEN0 (*((volatile unsigned short*)(ISP1583_IOBASE+0x74*2))) |
53 | #define ISP1583_GEN_TSTMOD (*((volatile unsigned char*)(ISP1583_IOBASE+0x84))) | 54 | #define ISP1583_GEN_SCRATCH (*((volatile unsigned short*)(ISP1583_IOBASE+0x78*2))) |
54 | 55 | #define ISP1583_GEN_UNLCKDEV (*((volatile unsigned short*)(ISP1583_IOBASE+0x7C*2))) | |
55 | #define set_int_value(a,b,value) (a) = (value); | 56 | #define ISP1583_GEN_TSTMOD (*((volatile unsigned char*)(ISP1583_IOBASE+0x84*2))) //char |
56 | #endif | 57 | |
57 | 58 | #define EN_INT_CPU_TARGET IO_INTC_EINT1 |= INTR_EINT1_EXT7 | |
59 | #define DIS_INT_CPU_TARGET IO_INTC_EINT1 &= ~INTR_EINT1_EXT7 | ||
60 | #define INT_CONF_TARGET 0 | ||
61 | //#define INT_CONF_TARGET 2 | ||
62 | #define set_int_value(a,b,value) a = value & 0xFFFF; \ | ||
63 | b = value >> 16; | ||
58 | #define ISP1583_UNLOCK_CODE ((unsigned short)0xAA37) | 64 | #define ISP1583_UNLOCK_CODE ((unsigned short)0xAA37) |
59 | 65 | ||
60 | /* Initialization registers' bits */ | 66 | /* Initialization registers' bits */ |
@@ -170,11 +176,7 @@ | |||
170 | #define STANDARD_INTEN ( INIT_INTEN_IEBRST | INIT_INTEN_IEHS_STA | INT_IESUSP | INT_IERESM | INIT_INTEN_IEVBUS | INIT_INTEN_IEP0SETUP | INIT_INTEN_IEP0RX | INIT_INTEN_IEP0TX ) | 176 | #define STANDARD_INTEN ( INIT_INTEN_IEBRST | INIT_INTEN_IEHS_STA | INT_IESUSP | INT_IERESM | INIT_INTEN_IEVBUS | INIT_INTEN_IEP0SETUP | INIT_INTEN_IEP0RX | INIT_INTEN_IEP0TX ) |
171 | #define STANDARD_INIT_MODE ( INIT_MODE_CLKAON | INIT_MODE_GLINTENA ) | 177 | #define STANDARD_INIT_MODE ( INIT_MODE_CLKAON | INIT_MODE_GLINTENA ) |
172 | 178 | ||
173 | #ifdef USE_IRAM | 179 | #define IRAM_ATTR __attribute__ ((section(".icode"))) |
174 | #define IRAM_ATTR __attribute__ ((section(".icode"))) | ||
175 | #else | ||
176 | #define IRAM_ATTR | ||
177 | #endif | ||
178 | 180 | ||
179 | #include "usb_drv.h" | 181 | #include "usb_drv.h" |
180 | 182 | ||