mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-14 10:37:38 -04:00
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
This commit is contained in:
parent
2ea6da1ebf
commit
7a8fc3fd9d
4 changed files with 14 additions and 22 deletions
|
@ -19,7 +19,6 @@
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "usb-target.h"
|
|
||||||
#include "usb_ch9.h"
|
#include "usb_ch9.h"
|
||||||
#include "usb_drv.h"
|
#include "usb_drv.h"
|
||||||
#include "usb_core.h"
|
#include "usb_core.h"
|
||||||
|
@ -31,9 +30,6 @@
|
||||||
#define DIR_RX 0
|
#define DIR_RX 0
|
||||||
#define DIR_TX 1
|
#define DIR_TX 1
|
||||||
|
|
||||||
#define DIR_OUT 0
|
|
||||||
#define DIR_IN 1
|
|
||||||
|
|
||||||
struct usb_endpoint
|
struct usb_endpoint
|
||||||
{
|
{
|
||||||
unsigned char *out_buf;
|
unsigned char *out_buf;
|
||||||
|
@ -626,7 +622,7 @@ static void bus_reset(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Method for handling interrupts, must be called from usb-<target>.c */
|
/* Method for handling interrupts, must be called from usb-<target>.c */
|
||||||
void usb_drv_int(void)
|
void IRAM_ATTR usb_drv_int(void)
|
||||||
{
|
{
|
||||||
unsigned long ints;
|
unsigned long ints;
|
||||||
ints = ISP1583_GEN_INT_READ & ISP1583_INIT_INTEN_READ;
|
ints = ISP1583_GEN_INT_READ & ISP1583_INIT_INTEN_READ;
|
||||||
|
|
|
@ -19,6 +19,8 @@
|
||||||
#ifndef ISP1583_H
|
#ifndef ISP1583_H
|
||||||
#define ISP1583_H
|
#define ISP1583_H
|
||||||
|
|
||||||
|
#include "usb-target.h"
|
||||||
|
|
||||||
#ifndef ISP1583_H_OVERRIDE
|
#ifndef ISP1583_H_OVERRIDE
|
||||||
/* Initialization registers */
|
/* Initialization registers */
|
||||||
#define ISP1583_INIT_ADDRESS (*((volatile unsigned char*)(ISP1583_IOBASE+0x0)))
|
#define ISP1583_INIT_ADDRESS (*((volatile unsigned char*)(ISP1583_IOBASE+0x0)))
|
||||||
|
@ -166,20 +168,12 @@
|
||||||
#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 )
|
#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 )
|
||||||
#define STANDARD_INIT_MODE ( INIT_MODE_CLKAON | INIT_MODE_GLINTENA )
|
#define STANDARD_INIT_MODE ( INIT_MODE_CLKAON | INIT_MODE_GLINTENA )
|
||||||
|
|
||||||
bool usb_drv_powered(void);
|
#ifdef USE_IRAM
|
||||||
void usb_drv_init(void);
|
#define IRAM_ATTR __attribute__ ((section(".icode")))
|
||||||
int usb_drv_port_speed(void);
|
#else
|
||||||
void usb_drv_exit(void);
|
#define IRAM_ATTR
|
||||||
void usb_drv_stall(int endpoint, bool stall, bool in);
|
#endif
|
||||||
bool usb_drv_stalled(int endpoint, bool in);
|
|
||||||
int usb_drv_recv(int ep, void* ptr, int length);
|
#include "usb_drv.h"
|
||||||
int usb_drv_send_nonblocking(int ep, void* ptr, int length);
|
|
||||||
int usb_drv_send(int endpoint, void* ptr, int length);
|
|
||||||
void usb_drv_reset_endpoint(int ep, bool send);
|
|
||||||
void usb_drv_wait(int ep, bool send);
|
|
||||||
void usb_drv_cancel_all_transfers(void);
|
|
||||||
void usb_drv_set_address(int address);
|
|
||||||
void usb_drv_set_test_mode(int mode);
|
|
||||||
void usb_drv_int(void); /* Method for handling interrupts, must be called from usb-<target>.c */
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -54,7 +54,7 @@ void usb_enable(bool on)
|
||||||
usb_core_exit();
|
usb_core_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
void GIO7(void)
|
void IRAM_ATTR GIO7(void)
|
||||||
{
|
{
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
//printf("GIO7 interrupt... [%d]", current_tick);
|
//printf("GIO7 interrupt... [%d]", current_tick);
|
||||||
|
|
|
@ -69,7 +69,9 @@
|
||||||
: : : "r12")
|
: : : "r12")
|
||||||
//#define ZVM_SPECIFIC
|
//#define ZVM_SPECIFIC
|
||||||
|
|
||||||
#include "kernel.h"
|
#define USE_IRAM
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
int usb_detect(void);
|
int usb_detect(void);
|
||||||
void usb_init_device(void);
|
void usb_init_device(void);
|
||||||
bool usb_drv_connected(void);
|
bool usb_drv_connected(void);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue