diff options
author | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2008-05-16 21:05:18 +0000 |
---|---|---|
committer | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2008-05-16 21:05:18 +0000 |
commit | 7a8fc3fd9db99fa16976baf7e78059ad766a3ce5 (patch) | |
tree | 54a71f42ca8810c3bf635834cb2a66fd0b64038c | |
parent | 2ea6da1ebf328a2f9565fe596c774828fd018f2f (diff) | |
download | rockbox-7a8fc3fd9db99fa16976baf7e78059ad766a3ce5.tar.gz rockbox-7a8fc3fd9db99fa16976baf7e78059ad766a3ce5.zip |
1) Put USB in IRAM
2) Use defines from usb_drv.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17546 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | firmware/drivers/isp1583.c | 6 | ||||
-rw-r--r-- | firmware/export/isp1583.h | 24 | ||||
-rw-r--r-- | firmware/target/arm/tms320dm320/creative-zvm/usb-creativezvm.c | 2 | ||||
-rw-r--r-- | firmware/target/arm/tms320dm320/creative-zvm/usb-target.h | 4 |
4 files changed, 14 insertions, 22 deletions
diff --git a/firmware/drivers/isp1583.c b/firmware/drivers/isp1583.c index 7e78f87468..4ad6ad20f5 100644 --- a/firmware/drivers/isp1583.c +++ b/firmware/drivers/isp1583.c | |||
@@ -19,7 +19,6 @@ | |||
19 | ****************************************************************************/ | 19 | ****************************************************************************/ |
20 | 20 | ||
21 | #include "config.h" | 21 | #include "config.h" |
22 | #include "usb-target.h" | ||
23 | #include "usb_ch9.h" | 22 | #include "usb_ch9.h" |
24 | #include "usb_drv.h" | 23 | #include "usb_drv.h" |
25 | #include "usb_core.h" | 24 | #include "usb_core.h" |
@@ -30,9 +29,6 @@ | |||
30 | 29 | ||
31 | #define DIR_RX 0 | 30 | #define DIR_RX 0 |
32 | #define DIR_TX 1 | 31 | #define DIR_TX 1 |
33 | |||
34 | #define DIR_OUT 0 | ||
35 | #define DIR_IN 1 | ||
36 | 32 | ||
37 | struct usb_endpoint | 33 | struct usb_endpoint |
38 | { | 34 | { |
@@ -626,7 +622,7 @@ static void bus_reset(void) | |||
626 | } | 622 | } |
627 | 623 | ||
628 | /* Method for handling interrupts, must be called from usb-<target>.c */ | 624 | /* Method for handling interrupts, must be called from usb-<target>.c */ |
629 | void usb_drv_int(void) | 625 | void IRAM_ATTR usb_drv_int(void) |
630 | { | 626 | { |
631 | unsigned long ints; | 627 | unsigned long ints; |
632 | ints = ISP1583_GEN_INT_READ & ISP1583_INIT_INTEN_READ; | 628 | ints = ISP1583_GEN_INT_READ & ISP1583_INIT_INTEN_READ; |
diff --git a/firmware/export/isp1583.h b/firmware/export/isp1583.h index 3ffbbed60e..5a5840acc6 100644 --- a/firmware/export/isp1583.h +++ b/firmware/export/isp1583.h | |||
@@ -19,6 +19,8 @@ | |||
19 | #ifndef ISP1583_H | 19 | #ifndef ISP1583_H |
20 | #define ISP1583_H | 20 | #define ISP1583_H |
21 | 21 | ||
22 | #include "usb-target.h" | ||
23 | |||
22 | #ifndef ISP1583_H_OVERRIDE | 24 | #ifndef ISP1583_H_OVERRIDE |
23 | /* Initialization registers */ | 25 | /* Initialization registers */ |
24 | #define ISP1583_INIT_ADDRESS (*((volatile unsigned char*)(ISP1583_IOBASE+0x0))) | 26 | #define ISP1583_INIT_ADDRESS (*((volatile unsigned char*)(ISP1583_IOBASE+0x0))) |
@@ -166,20 +168,12 @@ | |||
166 | #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 ) | 168 | #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 ) |
167 | #define STANDARD_INIT_MODE ( INIT_MODE_CLKAON | INIT_MODE_GLINTENA ) | 169 | #define STANDARD_INIT_MODE ( INIT_MODE_CLKAON | INIT_MODE_GLINTENA ) |
168 | 170 | ||
169 | bool usb_drv_powered(void); | 171 | #ifdef USE_IRAM |
170 | void usb_drv_init(void); | 172 | #define IRAM_ATTR __attribute__ ((section(".icode"))) |
171 | int usb_drv_port_speed(void); | 173 | #else |
172 | void usb_drv_exit(void); | 174 | #define IRAM_ATTR |
173 | void usb_drv_stall(int endpoint, bool stall, bool in); | 175 | #endif |
174 | bool usb_drv_stalled(int endpoint, bool in); | 176 | |
175 | int usb_drv_recv(int ep, void* ptr, int length); | 177 | #include "usb_drv.h" |
176 | int usb_drv_send_nonblocking(int ep, void* ptr, int length); | ||
177 | int usb_drv_send(int endpoint, void* ptr, int length); | ||
178 | void usb_drv_reset_endpoint(int ep, bool send); | ||
179 | void usb_drv_wait(int ep, bool send); | ||
180 | void usb_drv_cancel_all_transfers(void); | ||
181 | void usb_drv_set_address(int address); | ||
182 | void usb_drv_set_test_mode(int mode); | ||
183 | void usb_drv_int(void); /* Method for handling interrupts, must be called from usb-<target>.c */ | ||
184 | 178 | ||
185 | #endif | 179 | #endif |
diff --git a/firmware/target/arm/tms320dm320/creative-zvm/usb-creativezvm.c b/firmware/target/arm/tms320dm320/creative-zvm/usb-creativezvm.c index 6bbd08c135..a9995a5d74 100644 --- a/firmware/target/arm/tms320dm320/creative-zvm/usb-creativezvm.c +++ b/firmware/target/arm/tms320dm320/creative-zvm/usb-creativezvm.c | |||
@@ -54,7 +54,7 @@ void usb_enable(bool on) | |||
54 | usb_core_exit(); | 54 | usb_core_exit(); |
55 | } | 55 | } |
56 | 56 | ||
57 | void GIO7(void) | 57 | void IRAM_ATTR GIO7(void) |
58 | { | 58 | { |
59 | #ifdef DEBUG | 59 | #ifdef DEBUG |
60 | //printf("GIO7 interrupt... [%d]", current_tick); | 60 | //printf("GIO7 interrupt... [%d]", current_tick); |
diff --git a/firmware/target/arm/tms320dm320/creative-zvm/usb-target.h b/firmware/target/arm/tms320dm320/creative-zvm/usb-target.h index 14ddc6eb0a..0741474726 100644 --- a/firmware/target/arm/tms320dm320/creative-zvm/usb-target.h +++ b/firmware/target/arm/tms320dm320/creative-zvm/usb-target.h | |||
@@ -69,7 +69,9 @@ | |||
69 | : : : "r12") | 69 | : : : "r12") |
70 | //#define ZVM_SPECIFIC | 70 | //#define ZVM_SPECIFIC |
71 | 71 | ||
72 | #include "kernel.h" | 72 | #define USE_IRAM |
73 | |||
74 | #include <stdbool.h> | ||
73 | int usb_detect(void); | 75 | int usb_detect(void); |
74 | void usb_init_device(void); | 76 | void usb_init_device(void); |
75 | bool usb_drv_connected(void); | 77 | bool usb_drv_connected(void); |