A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd

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

+14 -22
+1 -5
firmware/drivers/isp1583.c
··· 19 ****************************************************************************/ 20 21 #include "config.h" 22 - #include "usb-target.h" 23 #include "usb_ch9.h" 24 #include "usb_drv.h" 25 #include "usb_core.h" ··· 30 31 #define DIR_RX 0 32 #define DIR_TX 1 33 - 34 - #define DIR_OUT 0 35 - #define DIR_IN 1 36 37 struct usb_endpoint 38 { ··· 626 } 627 628 /* Method for handling interrupts, must be called from usb-<target>.c */ 629 - void usb_drv_int(void) 630 { 631 unsigned long ints; 632 ints = ISP1583_GEN_INT_READ & ISP1583_INIT_INTEN_READ;
··· 19 ****************************************************************************/ 20 21 #include "config.h" 22 #include "usb_ch9.h" 23 #include "usb_drv.h" 24 #include "usb_core.h" ··· 29 30 #define DIR_RX 0 31 #define DIR_TX 1 32 33 struct usb_endpoint 34 { ··· 622 } 623 624 /* Method for handling interrupts, must be called from usb-<target>.c */ 625 + void IRAM_ATTR usb_drv_int(void) 626 { 627 unsigned long ints; 628 ints = ISP1583_GEN_INT_READ & ISP1583_INIT_INTEN_READ;
+9 -15
firmware/export/isp1583.h
··· 19 #ifndef ISP1583_H 20 #define ISP1583_H 21 22 #ifndef ISP1583_H_OVERRIDE 23 /* Initialization registers */ 24 #define ISP1583_INIT_ADDRESS (*((volatile unsigned char*)(ISP1583_IOBASE+0x0))) ··· 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 ) 167 #define STANDARD_INIT_MODE ( INIT_MODE_CLKAON | INIT_MODE_GLINTENA ) 168 169 - bool usb_drv_powered(void); 170 - void usb_drv_init(void); 171 - int usb_drv_port_speed(void); 172 - void usb_drv_exit(void); 173 - void usb_drv_stall(int endpoint, bool stall, bool in); 174 - bool usb_drv_stalled(int endpoint, bool in); 175 - int usb_drv_recv(int ep, void* ptr, int length); 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 185 #endif
··· 19 #ifndef ISP1583_H 20 #define ISP1583_H 21 22 + #include "usb-target.h" 23 + 24 #ifndef ISP1583_H_OVERRIDE 25 /* Initialization registers */ 26 #define ISP1583_INIT_ADDRESS (*((volatile unsigned char*)(ISP1583_IOBASE+0x0))) ··· 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 ) 169 #define STANDARD_INIT_MODE ( INIT_MODE_CLKAON | INIT_MODE_GLINTENA ) 170 171 + #ifdef USE_IRAM 172 + #define IRAM_ATTR __attribute__ ((section(".icode"))) 173 + #else 174 + #define IRAM_ATTR 175 + #endif 176 + 177 + #include "usb_drv.h" 178 179 #endif
+1 -1
firmware/target/arm/tms320dm320/creative-zvm/usb-creativezvm.c
··· 54 usb_core_exit(); 55 } 56 57 - void GIO7(void) 58 { 59 #ifdef DEBUG 60 //printf("GIO7 interrupt... [%d]", current_tick);
··· 54 usb_core_exit(); 55 } 56 57 + void IRAM_ATTR GIO7(void) 58 { 59 #ifdef DEBUG 60 //printf("GIO7 interrupt... [%d]", current_tick);
+3 -1
firmware/target/arm/tms320dm320/creative-zvm/usb-target.h
··· 69 : : : "r12") 70 //#define ZVM_SPECIFIC 71 72 - #include "kernel.h" 73 int usb_detect(void); 74 void usb_init_device(void); 75 bool usb_drv_connected(void);
··· 69 : : : "r12") 70 //#define ZVM_SPECIFIC 71 72 + #define USE_IRAM 73 + 74 + #include <stdbool.h> 75 int usb_detect(void); 76 void usb_init_device(void); 77 bool usb_drv_connected(void);