summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaurus Cuelenaere <mcuelenaere@gmail.com>2008-05-16 21:05:18 +0000
committerMaurus Cuelenaere <mcuelenaere@gmail.com>2008-05-16 21:05:18 +0000
commit7a8fc3fd9db99fa16976baf7e78059ad766a3ce5 (patch)
tree54a71f42ca8810c3bf635834cb2a66fd0b64038c
parent2ea6da1ebf328a2f9565fe596c774828fd018f2f (diff)
downloadrockbox-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.c6
-rw-r--r--firmware/export/isp1583.h24
-rw-r--r--firmware/target/arm/tms320dm320/creative-zvm/usb-creativezvm.c2
-rw-r--r--firmware/target/arm/tms320dm320/creative-zvm/usb-target.h4
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
37struct usb_endpoint 33struct 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 */
629void usb_drv_int(void) 625void 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
169bool usb_drv_powered(void); 171#ifdef USE_IRAM
170void usb_drv_init(void); 172 #define IRAM_ATTR __attribute__ ((section(".icode")))
171int usb_drv_port_speed(void); 173#else
172void usb_drv_exit(void); 174 #define IRAM_ATTR
173void usb_drv_stall(int endpoint, bool stall, bool in); 175#endif
174bool usb_drv_stalled(int endpoint, bool in); 176
175int usb_drv_recv(int ep, void* ptr, int length); 177#include "usb_drv.h"
176int usb_drv_send_nonblocking(int ep, void* ptr, int length);
177int usb_drv_send(int endpoint, void* ptr, int length);
178void usb_drv_reset_endpoint(int ep, bool send);
179void usb_drv_wait(int ep, bool send);
180void usb_drv_cancel_all_transfers(void);
181void usb_drv_set_address(int address);
182void usb_drv_set_test_mode(int mode);
183void 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
57void GIO7(void) 57void 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>
73int usb_detect(void); 75int usb_detect(void);
74void usb_init_device(void); 76void usb_init_device(void);
75bool usb_drv_connected(void); 77bool usb_drv_connected(void);