summaryrefslogtreecommitdiff
path: root/firmware/target/mips/ingenic_jz47xx/usb-jz4740.c
diff options
context:
space:
mode:
authorMaurus Cuelenaere <mcuelenaere@gmail.com>2008-11-21 12:50:06 +0000
committerMaurus Cuelenaere <mcuelenaere@gmail.com>2008-11-21 12:50:06 +0000
commitc0b43a5ac2fcda473800b9c9a4036c5348ac5084 (patch)
tree0fdf827d5f65e26da35341c4a67a006e36ca5dc2 /firmware/target/mips/ingenic_jz47xx/usb-jz4740.c
parent0a61b71f73556592af6e1f127a42a27d48564b72 (diff)
downloadrockbox-c0b43a5ac2fcda473800b9c9a4036c5348ac5084.tar.gz
rockbox-c0b43a5ac2fcda473800b9c9a4036c5348ac5084.zip
Commit some USB and ATA rework/refactoring (+ USB GPIO detection).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19165 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/mips/ingenic_jz47xx/usb-jz4740.c')
-rw-r--r--firmware/target/mips/ingenic_jz47xx/usb-jz4740.c49
1 files changed, 39 insertions, 10 deletions
diff --git a/firmware/target/mips/ingenic_jz47xx/usb-jz4740.c b/firmware/target/mips/ingenic_jz47xx/usb-jz4740.c
index 7cefdadbe3..f0b4eb4694 100644
--- a/firmware/target/mips/ingenic_jz47xx/usb-jz4740.c
+++ b/firmware/target/mips/ingenic_jz47xx/usb-jz4740.c
@@ -25,6 +25,7 @@
25#include "usb_ch9.h" 25#include "usb_ch9.h"
26#include "usb_drv.h" 26#include "usb_drv.h"
27#include "usb_core.h" 27#include "usb_core.h"
28#include "usb-target.h"
28#include "jz4740.h" 29#include "jz4740.h"
29#include "thread.h" 30#include "thread.h"
30 31
@@ -33,10 +34,6 @@
33#define EP1_INTR_BIT 2 34#define EP1_INTR_BIT 2
34#define EP_FIFO_NOEMPTY 2 35#define EP_FIFO_NOEMPTY 2
35 36
36#define GPIO_UDC_DETE_PIN (32 * 3 + 6)
37#define GPIO_UDC_DETE GPIO_UDC_DETE_PIN
38#define IRQ_GPIO_UDC_DETE (IRQ_GPIO_0 + GPIO_UDC_DETE)
39
40#define IS_CACHE(x) (x < 0xa0000000) 37#define IS_CACHE(x) (x < 0xa0000000)
41 38
42#define USB_EP0_IDLE 0 39#define USB_EP0_IDLE 0
@@ -81,7 +78,7 @@ static inline void select_endpoint(int ep)
81} 78}
82 79
83static void readFIFO(struct usb_endpoint *ep, unsigned int size) 80static void readFIFO(struct usb_endpoint *ep, unsigned int size)
84{ 81{
85 unsigned int *d = (unsigned int *)ep->ptr; 82 unsigned int *d = (unsigned int *)ep->ptr;
86 unsigned int s; 83 unsigned int s;
87 s = (size + 3) >> 2; 84 s = (size + 3) >> 2;
@@ -90,7 +87,7 @@ static void readFIFO(struct usb_endpoint *ep, unsigned int size)
90} 87}
91 88
92static void writeFIFO(struct usb_endpoint *ep, unsigned int size) 89static void writeFIFO(struct usb_endpoint *ep, unsigned int size)
93{ 90{
94 unsigned int *d = (unsigned int *)ep->ptr; 91 unsigned int *d = (unsigned int *)ep->ptr;
95 unsigned char *c; 92 unsigned char *c;
96 int s, q; 93 int s, q;
@@ -359,7 +356,7 @@ bool usb_drv_connected(void)
359 356
360int usb_detect(void) 357int usb_detect(void)
361{ 358{
362 if(__gpio_get_pin(GPIO_UDC_DETE) == 1) 359 if(usb_drv_connected())
363 return USB_INSERTED; 360 return USB_INSERTED;
364 else 361 else
365 return USB_EXTRACTED; 362 return USB_EXTRACTED;
@@ -367,9 +364,7 @@ int usb_detect(void)
367 364
368void usb_init_device(void) 365void usb_init_device(void)
369{ 366{
370 system_enable_irq(IRQ_UDC); 367 usb_init_gpio();
371 __gpio_as_input(GPIO_UDC_DETE_PIN);
372 return;
373} 368}
374 369
375void usb_enable(bool on) 370void usb_enable(bool on)
@@ -442,6 +437,40 @@ void usb_drv_set_address(int address)
442 REG_USB_REG_FADDR = address; 437 REG_USB_REG_FADDR = address;
443} 438}
444 439
440int usb_drv_send(int endpoint, void* ptr, int length)
441{
442 return 0;
443}
444
445int usb_drv_recv(int endpoint, void* ptr, int length)
446{
447 return 0;
448}
449
450void usb_drv_set_test_mode(int mode)
451{
452
453}
454
455int usb_drv_port_speed(void)
456{
457 return ((REG_USB_REG_POWER & USB_POWER_HSMODE) != 0) ? 1 : 0;
458}
459
460void usb_drv_cancel_all_transfers(void)
461{
462 int i;
463 for(i=0; i<5; i++)
464 {
465 endpoints[i].ptr = endpoints[i].buf;
466 endpoints[i].length = 0;
467 }
468}
469
470void usb_drv_release_endpoint(int ep)
471{
472
473}
445 474
446#else 475#else
447 476