More iPod 3G work from Seven Le Mesle

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8835 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dave Chapman 2006-02-24 20:54:09 +00:00
parent 64f0682f6e
commit fb4e384367
42 changed files with 146 additions and 113 deletions

View file

@ -58,7 +58,8 @@
#define EQ_BTN_CHANGE_MODE BUTTON_SELECT #define EQ_BTN_CHANGE_MODE BUTTON_SELECT
#define EQ_BTN_EXIT BUTTON_OFF #define EQ_BTN_EXIT BUTTON_OFF
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define EQ_BTN_DECREMENT BUTTON_SCROLL_BACK #define EQ_BTN_DECREMENT BUTTON_SCROLL_BACK
#define EQ_BTN_INCREMENT BUTTON_SCROLL_FWD #define EQ_BTN_INCREMENT BUTTON_SCROLL_FWD

View file

@ -52,7 +52,8 @@ PLUGIN_HEADER
#define BATTERY_OFF BUTTON_OFF #define BATTERY_OFF BUTTON_OFF
#define BATTERY_RC_OFF BUTTON_RC_STOP #define BATTERY_RC_OFF BUTTON_RC_STOP
#elif CONFIG_KEYPAD == IPOD_4G_PAD #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define BATTERY_ON BUTTON_PLAY #define BATTERY_ON BUTTON_PLAY
#define BATTERY_OFF BUTTON_MENU #define BATTERY_OFF BUTTON_MENU

View file

@ -43,7 +43,8 @@ PLUGIN_HEADER
#define BATTERY_TEST_QUIT BUTTON_OFF #define BATTERY_TEST_QUIT BUTTON_OFF
#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD #elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
#define BATTERY_TEST_QUIT BUTTON_PLAY #define BATTERY_TEST_QUIT BUTTON_PLAY
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define BATTERY_TEST_QUIT BUTTON_MENU #define BATTERY_TEST_QUIT BUTTON_MENU
#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD) #elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
#define BATTERY_TEST_QUIT BUTTON_POWER #define BATTERY_TEST_QUIT BUTTON_POWER

View file

@ -52,7 +52,8 @@ PLUGIN_HEADER
#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL) #define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL)
#define BOUNCE_MODE (BUTTON_SELECT | BUTTON_REL) #define BOUNCE_MODE (BUTTON_SELECT | BUTTON_REL)
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define BOUNCE_UP BUTTON_SCROLL_BACK #define BOUNCE_UP BUTTON_SCROLL_BACK
#define BOUNCE_DOWN BUTTON_SCROLL_FWD #define BOUNCE_DOWN BUTTON_SCROLL_FWD
#define BOUNCE_QUIT (BUTTON_MENU | BUTTON_REL) #define BOUNCE_QUIT (BUTTON_MENU | BUTTON_REL)

View file

@ -63,7 +63,8 @@ PLUGIN_HEADER
#define SCROLL_FWD(x) (0) #define SCROLL_FWD(x) (0)
#define SCROLL_BACK(x) (0) #define SCROLL_BACK(x) (0)
#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_3G_PAD) || \
(CONFIG_KEYPAD == IPOD_4G_PAD)
#define QUIT BUTTON_MENU #define QUIT BUTTON_MENU
#define LEFT BUTTON_LEFT #define LEFT BUTTON_LEFT

View file

@ -134,7 +134,8 @@ PLUGIN_HEADER
#define CALCULATOR_OPERATORS BUTTON_MODE #define CALCULATOR_OPERATORS BUTTON_MODE
#define CALCULATOR_CLEAR BUTTON_REC #define CALCULATOR_CLEAR BUTTON_REC
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define CALCULATOR_UP BUTTON_SCROLL_BACK #define CALCULATOR_UP BUTTON_SCROLL_BACK
#define CALCULATOR_DOWN BUTTON_SCROLL_FWD #define CALCULATOR_DOWN BUTTON_SCROLL_FWD

View file

@ -66,7 +66,8 @@ PLUGIN_HEADER
#define CHC_SETTINGS_CANCEL BUTTON_OFF #define CHC_SETTINGS_CANCEL BUTTON_OFF
#define CHC_SETTINGS_CANCEL2 BUTTON_REC #define CHC_SETTINGS_CANCEL2 BUTTON_REC
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define CHC_QUIT BUTTON_PLAY #define CHC_QUIT BUTTON_PLAY
#define CHC_STARTSTOP BUTTON_SELECT #define CHC_STARTSTOP BUTTON_SELECT
#define CHC_RESET BUTTON_LEFT #define CHC_RESET BUTTON_LEFT

View file

@ -976,7 +976,8 @@ STATIC void chip8 (void)
#define CHIP8_KEY6 BUTTON_RIGHT #define CHIP8_KEY6 BUTTON_RIGHT
#define CHIP8_KEY8 BUTTON_DOWN #define CHIP8_KEY8 BUTTON_DOWN
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define CHIP8_OFF BUTTON_MENU #define CHIP8_OFF BUTTON_MENU
#define CHIP8_KEY2 BUTTON_SCROLL_BACK #define CHIP8_KEY2 BUTTON_SCROLL_BACK
#define CHIP8_KEY4 BUTTON_LEFT #define CHIP8_KEY4 BUTTON_LEFT

View file

@ -82,7 +82,8 @@ PLUGIN_HEADER
#define CUBE_PAUSE (BUTTON_ON | BUTTON_REL) #define CUBE_PAUSE (BUTTON_ON | BUTTON_REL)
#define CUBE_HIGHSPEED BUTTON_SELECT #define CUBE_HIGHSPEED BUTTON_SELECT
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define CUBE_QUIT BUTTON_MENU #define CUBE_QUIT BUTTON_MENU
#define CUBE_X_INC BUTTON_RIGHT #define CUBE_X_INC BUTTON_RIGHT
#define CUBE_X_DEC BUTTON_LEFT #define CUBE_X_DEC BUTTON_LEFT

View file

@ -31,7 +31,8 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == ONDIO_PAD #elif CONFIG_KEYPAD == ONDIO_PAD
#define DBX_SELECT BUTTON_MENU #define DBX_SELECT BUTTON_MENU
#define DBX_STOP BUTTON_OFF #define DBX_STOP BUTTON_OFF
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define DBX_SELECT BUTTON_SELECT #define DBX_SELECT BUTTON_SELECT
#define DBX_STOP BUTTON_MENU #define DBX_STOP BUTTON_MENU
#elif CONFIG_KEYPAD == PLAYER_PAD #elif CONFIG_KEYPAD == PLAYER_PAD

View file

@ -26,7 +26,8 @@
PLUGIN_HEADER PLUGIN_HEADER
/* Key assignement */ /* Key assignement */
#if (CONFIG_KEYPAD == IPOD_4G_PAD) #if (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define DEMYSTIFY_QUIT BUTTON_MENU #define DEMYSTIFY_QUIT BUTTON_MENU
#define DEMYSTIFY_ADD_POLYGON BUTTON_RIGHT #define DEMYSTIFY_ADD_POLYGON BUTTON_RIGHT
#define DEMYSTIFY_REMOVE_POLYGON BUTTON_LEFT #define DEMYSTIFY_REMOVE_POLYGON BUTTON_LEFT

View file

@ -104,7 +104,8 @@ long reverse (long N) {
/* Button definitions */ /* Button definitions */
#if CONFIG_KEYPAD == PLAYER_PAD #if CONFIG_KEYPAD == PLAYER_PAD
#define LP_QUIT BUTTON_STOP #define LP_QUIT BUTTON_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define LP_QUIT BUTTON_MENU #define LP_QUIT BUTTON_MENU
#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD #elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
#define LP_QUIT BUTTON_PLAY #define LP_QUIT BUTTON_PLAY

View file

@ -52,7 +52,8 @@ PLUGIN_HEADER
#define FLIPIT_TOGGLE_PRE BUTTON_SELECT #define FLIPIT_TOGGLE_PRE BUTTON_SELECT
#define FLIPIT_TOGGLE (BUTTON_SELECT | BUTTON_REL) #define FLIPIT_TOGGLE (BUTTON_SELECT | BUTTON_REL)
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define FLIPIT_UP BUTTON_SCROLL_FWD #define FLIPIT_UP BUTTON_SCROLL_FWD
#define FLIPIT_DOWN BUTTON_SCROLL_BACK #define FLIPIT_DOWN BUTTON_SCROLL_BACK

View file

@ -183,7 +183,8 @@ const unsigned char rockbox16x7[] = {
#define LP_INC_X BUTTON_RIGHT #define LP_INC_X BUTTON_RIGHT
#define LP_DEC_Y (BUTTON_ON | BUTTON_LEFT) #define LP_DEC_Y (BUTTON_ON | BUTTON_LEFT)
#define LP_INC_Y (BUTTON_ON | BUTTON_RIGHT) #define LP_INC_Y (BUTTON_ON | BUTTON_RIGHT)
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define LP_QUIT BUTTON_MENU #define LP_QUIT BUTTON_MENU
#define LP_DEC_X BUTTON_LEFT #define LP_DEC_X BUTTON_LEFT
#define LP_INC_X BUTTON_RIGHT #define LP_INC_X BUTTON_RIGHT

View file

@ -66,7 +66,8 @@ PLUGIN_HEADER
#define MANDELBROT_MAXITER_DEC (BUTTON_ON | BUTTON_LEFT) #define MANDELBROT_MAXITER_DEC (BUTTON_ON | BUTTON_LEFT)
#define MANDELBROT_RESET BUTTON_REC #define MANDELBROT_RESET BUTTON_REC
#elif CONFIG_KEYPAD == IPOD_4G_PAD #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define MANDELBROT_QUIT (BUTTON_SELECT | BUTTON_MENU) #define MANDELBROT_QUIT (BUTTON_SELECT | BUTTON_MENU)
#define MANDELBROT_UP BUTTON_MENU #define MANDELBROT_UP BUTTON_MENU
#define MANDELBROT_DOWN BUTTON_PLAY #define MANDELBROT_DOWN BUTTON_PLAY

View file

@ -58,7 +58,8 @@ PLUGIN_HEADER
#define METRONOME_MSG_START "press play" #define METRONOME_MSG_START "press play"
#define METRONOME_MSG_STOP "press pause" #define METRONOME_MSG_STOP "press pause"
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define METRONOME_QUIT BUTTON_MENU #define METRONOME_QUIT BUTTON_MENU
#define METRONOME_PLAYPAUSE BUTTON_PLAY #define METRONOME_PLAYPAUSE BUTTON_PLAY
#define METRONOME_VOL_UP BUTTON_SCROLL_FWD #define METRONOME_VOL_UP BUTTON_SCROLL_FWD

View file

@ -71,7 +71,8 @@ PLUGIN_HEADER
#define MINESWP_DISCOVER BUTTON_ON #define MINESWP_DISCOVER BUTTON_ON
#define MINESWP_INFO BUTTON_MODE #define MINESWP_INFO BUTTON_MODE
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define MINESWP_UP BUTTON_SCROLL_BACK #define MINESWP_UP BUTTON_SCROLL_BACK
#define MINESWP_DOWN BUTTON_SCROLL_FWD #define MINESWP_DOWN BUTTON_SCROLL_FWD
#define MINESWP_QUIT BUTTON_MENU #define MINESWP_QUIT BUTTON_MENU

View file

@ -53,7 +53,8 @@ PLUGIN_HEADER
#define MOSAIQUE_SPEED BUTTON_MODE #define MOSAIQUE_SPEED BUTTON_MODE
#define MOSAIQUE_RESTART BUTTON_ON #define MOSAIQUE_RESTART BUTTON_ON
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define MOSAIQUE_QUIT BUTTON_MENU #define MOSAIQUE_QUIT BUTTON_MENU
#define MOSAIQUE_SPEED BUTTON_SELECT #define MOSAIQUE_SPEED BUTTON_SELECT
#define MOSAIQUE_RESTART BUTTON_PLAY #define MOSAIQUE_RESTART BUTTON_PLAY

View file

@ -1880,7 +1880,8 @@ char *get_mp3_filename(char *wav_name)
#define MP3ENC_NEXT BUTTON_DOWN #define MP3ENC_NEXT BUTTON_DOWN
#define MP3ENC_DONE BUTTON_OFF #define MP3ENC_DONE BUTTON_OFF
#define MP3ENC_SELECT BUTTON_SELECT #define MP3ENC_SELECT BUTTON_SELECT
#elif CONFIG_KEYPAD == IPOD_4G_PAD #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define MP3ENC_PREV BUTTON_SCROLL_BACK #define MP3ENC_PREV BUTTON_SCROLL_BACK
#define MP3ENC_NEXT BUTTON_SCROLL_FWD #define MP3ENC_NEXT BUTTON_SCROLL_FWD
#define MP3ENC_DONE BUTTON_MENU #define MP3ENC_DONE BUTTON_MENU

View file

@ -73,7 +73,7 @@ SECTIONS
.text : .text :
{ {
*(.text*) *(.text*)
#if (CONFIG_CPU==PP5020) || (CONFIG_CPU==PNX0101) #if (CONFIG_CPU==PP5020) || (CONFIG_CPU==PNX0101) || (CONFIG_CPU==PP5002)
*(.glue_7) *(.glue_7)
*(.glue_7t) *(.glue_7t)
#endif #endif

View file

@ -58,7 +58,8 @@ PLUGIN_HEADER
#define PONG_RIGHT_UP BUTTON_ON #define PONG_RIGHT_UP BUTTON_ON
#define PONG_RIGHT_DOWN BUTTON_MODE #define PONG_RIGHT_DOWN BUTTON_MODE
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define PONG_QUIT BUTTON_SELECT #define PONG_QUIT BUTTON_SELECT
#define PONG_LEFT_UP BUTTON_MENU #define PONG_LEFT_UP BUTTON_MENU
#define PONG_LEFT_DOWN BUTTON_LEFT #define PONG_LEFT_DOWN BUTTON_LEFT

View file

@ -24,7 +24,8 @@
PLUGIN_HEADER PLUGIN_HEADER
#if (CONFIG_KEYPAD == IPOD_4G_PAD) #if (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define ROCKBLOX_OFF BUTTON_MENU #define ROCKBLOX_OFF BUTTON_MENU
#define ROCKBLOX_UP BUTTON_SCROLL_BACK #define ROCKBLOX_UP BUTTON_SCROLL_BACK
#define ROCKBLOX_DOWN BUTTON_SCROLL_FWD #define ROCKBLOX_DOWN BUTTON_SCROLL_FWD

View file

@ -45,7 +45,8 @@ PLUGIN_HEADER
#define PUZZLE_SHUFFLE BUTTON_SELECT #define PUZZLE_SHUFFLE BUTTON_SELECT
#define PUZZLE_PICTURE BUTTON_ON #define PUZZLE_PICTURE BUTTON_ON
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define PUZZLE_QUIT BUTTON_MENU #define PUZZLE_QUIT BUTTON_MENU
#define PUZZLE_UP BUTTON_SCROLL_BACK #define PUZZLE_UP BUTTON_SCROLL_BACK
#define PUZZLE_DOWN BUTTON_SCROLL_FWD #define PUZZLE_DOWN BUTTON_SCROLL_FWD

View file

@ -55,7 +55,8 @@ PLUGIN_HEADER
#define SNAKE_DOWN BUTTON_DOWN #define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_ON #define SNAKE_PLAYPAUSE BUTTON_ON
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define SNAKE_QUIT (BUTTON_SELECT|BUTTON_MENU) #define SNAKE_QUIT (BUTTON_SELECT|BUTTON_MENU)
#define SNAKE_UP BUTTON_MENU #define SNAKE_UP BUTTON_MENU
#define SNAKE_DOWN BUTTON_PLAY #define SNAKE_DOWN BUTTON_PLAY

View file

@ -93,7 +93,8 @@ PLUGIN_HEADER
#define SNAKE2_SELECT_TYPE BUTTON_MODE #define SNAKE2_SELECT_TYPE BUTTON_MODE
#define SNAKE2_PLAYPAUSE BUTTON_ON #define SNAKE2_PLAYPAUSE BUTTON_ON
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define SNAKE2_UP BUTTON_MENU #define SNAKE2_UP BUTTON_MENU
#define SNAKE2_DOWN BUTTON_PLAY #define SNAKE2_DOWN BUTTON_PLAY
#define SNAKE2_QUIT (BUTTON_SELECT | BUTTON_MENU) #define SNAKE2_QUIT (BUTTON_SELECT | BUTTON_MENU)

View file

@ -36,7 +36,8 @@ PLUGIN_HEADER
/* variable button definitions */ /* variable button definitions */
#if CONFIG_KEYPAD == PLAYER_PAD #if CONFIG_KEYPAD == PLAYER_PAD
#define SNOW_QUIT BUTTON_STOP #define SNOW_QUIT BUTTON_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define SNOW_QUIT BUTTON_MENU #define SNOW_QUIT BUTTON_MENU
#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD #elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
#define SNOW_QUIT BUTTON_PLAY #define SNOW_QUIT BUTTON_PLAY

View file

@ -66,7 +66,8 @@ PLUGIN_HEADER
#define SOKOBAN_LEVEL_DOWN BUTTON_REC #define SOKOBAN_LEVEL_DOWN BUTTON_REC
#define SOKOBAN_LEVEL_REPEAT BUTTON_SELECT #define SOKOBAN_LEVEL_REPEAT BUTTON_SELECT
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define SOKOBAN_UP BUTTON_MENU #define SOKOBAN_UP BUTTON_MENU
#define SOKOBAN_DOWN BUTTON_PLAY #define SOKOBAN_DOWN BUTTON_PLAY
#define SOKOBAN_QUIT (BUTTON_SELECT | BUTTON_MENU) #define SOKOBAN_QUIT (BUTTON_SELECT | BUTTON_MENU)

View file

@ -109,7 +109,8 @@ static struct plugin_api* rb;
#define SOL_OPT BUTTON_ON #define SOL_OPT BUTTON_ON
#define SOL_REM BUTTON_REC #define SOL_REM BUTTON_REC
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define SOL_QUIT (BUTTON_SELECT | BUTTON_MENU) #define SOL_QUIT (BUTTON_SELECT | BUTTON_MENU)
#define SOL_UP BUTTON_MENU #define SOL_UP BUTTON_MENU
#define SOL_DOWN BUTTON_PLAY #define SOL_DOWN BUTTON_PLAY
@ -183,7 +184,7 @@ static struct plugin_api* rb;
#define HELP_SOL_CUR2STACK "SELECT..: Put the card under the cursor on one of the 4 final stacks." #define HELP_SOL_CUR2STACK "SELECT..: Put the card under the cursor on one of the 4 final stacks."
#define HELP_SOL_REM2STACK "PLAY+RIGHT: Put the card on top of the remains' stack on one of the 4 final stacks." #define HELP_SOL_REM2STACK "PLAY+RIGHT: Put the card on top of the remains' stack on one of the 4 final stacks."
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) ||(CONFIG_KEYPAD == IPOD_3G_PAD)
#define HELP_SOL_MOVE "SELECT: Select cards, Move cards, reveal hidden cards ..." #define HELP_SOL_MOVE "SELECT: Select cards, Move cards, reveal hidden cards ..."
#define HELP_SOL_DRAW "SELECT+PLAY: Un-select a card if it was selected. Else, draw 3 new cards out of the remains' stack." #define HELP_SOL_DRAW "SELECT+PLAY: Un-select a card if it was selected. Else, draw 3 new cards out of the remains' stack."
#define HELP_SOL_REM2CUR "SELECT+LEFT: Put the card on top of the remains' stack on top of the cursor." #define HELP_SOL_REM2CUR "SELECT+LEFT: Put the card on top of the remains' stack on top of the cursor."

View file

@ -98,7 +98,8 @@ PLUGIN_HEADER
#define STAR_LEVEL_REPEAT (BUTTON_MODE | BUTTON_UP) #define STAR_LEVEL_REPEAT (BUTTON_MODE | BUTTON_UP)
#define STAR_MENU_RUN BUTTON_RIGHT #define STAR_MENU_RUN BUTTON_RIGHT
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define STAR_QUIT (BUTTON_SELECT | BUTTON_MENU) #define STAR_QUIT (BUTTON_SELECT | BUTTON_MENU)
#define STAR_UP BUTTON_SCROLL_BACK #define STAR_UP BUTTON_SCROLL_BACK

View file

@ -26,7 +26,8 @@ PLUGIN_HEADER
static struct plugin_api* rb; /* global api struct pointer */ static struct plugin_api* rb; /* global api struct pointer */
/* Key assignement */ /* Key assignement */
#if (CONFIG_KEYPAD == IPOD_4G_PAD) #if (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define STARFIELD_QUIT BUTTON_MENU #define STARFIELD_QUIT BUTTON_MENU
#define STARFIELD_INCREASE_ZMOVE BUTTON_SCROLL_FWD #define STARFIELD_INCREASE_ZMOVE BUTTON_SCROLL_FWD
#define STARFIELD_DECREASE_ZMOVE BUTTON_SCROLL_BACK #define STARFIELD_DECREASE_ZMOVE BUTTON_SCROLL_BACK

View file

@ -30,7 +30,8 @@ static int fontwidth, fontheight;
#if CONFIG_KEYPAD == PLAYER_PAD #if CONFIG_KEYPAD == PLAYER_PAD
#define STATS_STOP BUTTON_STOP #define STATS_STOP BUTTON_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define STATS_STOP BUTTON_MENU #define STATS_STOP BUTTON_MENU
#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD #elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
#define STATS_STOP BUTTON_PLAY #define STATS_STOP BUTTON_PLAY

View file

@ -63,7 +63,8 @@ PLUGIN_HEADER
#define STOPWATCH_LAP_TIMER BUTTON_ON #define STOPWATCH_LAP_TIMER BUTTON_ON
#define STOPWATCH_SCROLL_UP BUTTON_RIGHT #define STOPWATCH_SCROLL_UP BUTTON_RIGHT
#define STOPWATCH_SCROLL_DOWN BUTTON_LEFT #define STOPWATCH_SCROLL_DOWN BUTTON_LEFT
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define STOPWATCH_QUIT BUTTON_MENU #define STOPWATCH_QUIT BUTTON_MENU
#define STOPWATCH_START_STOP BUTTON_SELECT #define STOPWATCH_START_STOP BUTTON_SELECT
#define STOPWATCH_RESET_TIMER BUTTON_LEFT #define STOPWATCH_RESET_TIMER BUTTON_LEFT

View file

@ -95,7 +95,8 @@ PLUGIN_HEADER
#define SUDOKU_BUTTON_MENU BUTTON_MODE #define SUDOKU_BUTTON_MENU BUTTON_MODE
#define SUDOKU_BUTTON_POSSIBLE BUTTON_REC #define SUDOKU_BUTTON_POSSIBLE BUTTON_REC
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define SUDOKU_BUTTON_QUIT (BUTTON_SELECT | BUTTON_MENU) #define SUDOKU_BUTTON_QUIT (BUTTON_SELECT | BUTTON_MENU)
#define SUDOKU_BUTTON_UP BUTTON_SCROLL_BACK #define SUDOKU_BUTTON_UP BUTTON_SCROLL_BACK
#define SUDOKU_BUTTON_DOWN BUTTON_SCROLL_FWD #define SUDOKU_BUTTON_DOWN BUTTON_SCROLL_FWD

View file

@ -118,7 +118,8 @@ PLUGIN_HEADER
#define VIEWER_COLUMN_RIGHT (BUTTON_ON | BUTTON_RIGHT) #define VIEWER_COLUMN_RIGHT (BUTTON_ON | BUTTON_RIGHT)
/* iPods with the 4G pad */ /* iPods with the 4G pad */
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define VIEWER_QUIT BUTTON_MENU #define VIEWER_QUIT BUTTON_MENU
#define VIEWER_PAGE_UP BUTTON_SCROLL_BACK #define VIEWER_PAGE_UP BUTTON_SCROLL_BACK
#define VIEWER_PAGE_DOWN BUTTON_SCROLL_FWD #define VIEWER_PAGE_DOWN BUTTON_SCROLL_FWD

View file

@ -34,7 +34,7 @@
#include "pcf50606.h" /* iRiver brightness */ #include "pcf50606.h" /* iRiver brightness */
#endif #endif
#if CONFIG_BACKLIGHT == BL_IRIVER_H300 #if (CONFIG_BACKLIGHT == BL_IRIVER_H300) || (CONFIG_BACKLIGHT == BL_IPOD3G)
#include "lcd.h" /* for lcd_enable() */ #include "lcd.h" /* for lcd_enable() */
#endif #endif
#ifdef HAVE_REMOTE_LCD #ifdef HAVE_REMOTE_LCD

View file

@ -282,7 +282,7 @@ void adc_init(void)
sleep(2); /* Ensure valid readings when adc_init returns */ sleep(2); /* Ensure valid readings when adc_init returns */
} }
#elif CONFIG_CPU == PP5020 #elif CONFIG_CPU == PP5020 || (CONFIG_CPU == PP5002)
/* TODO: Implement adc.c */ /* TODO: Implement adc.c */

View file

@ -241,9 +241,6 @@ void ipod_4g_button_int(void)
} }
#endif #endif
#if CONFIG_KEYPAD == IPOD_3G_PAD #if CONFIG_KEYPAD == IPOD_3G_PAD
/* Variable to use for setting button status in interrupt handler */
int int_btn = BUTTON_NONE;
/** /**
* *
* *
@ -282,13 +279,14 @@ void handle_scroll_wheel(int new_scroll, int was_hold, int reverse)
else { else {
/* 'r' keypress */ /* 'r' keypress */
wheel_keycode = BUTTON_SCROLL_FWD; wheel_keycode = BUTTON_SCROLL_FWD;
}
break; break;
default: default:
/* only happens if we get out of sync */ /* only happens if we get out of sync */
break; break;
} }
} }
}
if (wheel_keycode != BUTTON_NONE) if (wheel_keycode != BUTTON_NONE)
queue_post(&button_queue, wheel_keycode, NULL); queue_post(&button_queue, wheel_keycode, NULL);
prev_scroll = new_scroll; prev_scroll = new_scroll;
@ -306,65 +304,56 @@ int btn = BUTTON_NONE;
udelay(250); udelay(250);
/* get source of interupts */ /* get source of interupts */
source = inb(0xcf000040); source = GPIOA_INT_STAT;
if (source) {
/* get current keypad status */ /* get current keypad status */
state = inb(0xcf000030); state = GPIOA_INPUT_VAL;
outb(~state, 0xcf000060); GPIOA_INT_LEV = ~state;
if (was_hold && source == 0x40 && state == 0xbf) { if (was_hold && source == 0x40 && state == 0xbf) {
/* ack any active interrupts */ /* ack any active interrupts */
outb(source, 0xcf000070); GPIOA_INT_CLR = source;
return BUTTON_NONE; return BUTTON_NONE;
} }
was_hold = 0; was_hold = 0;
if ( source & 0x20 ) { if ((state & 0x20) == 0) {
/* 3g hold switch is active low */ /* 3g hold switch is active low */
btn |= BUTTON_HOLD; btn |= BUTTON_HOLD;
was_hold = 1; was_hold = 1;
/* hold switch on 3g causes all outputs to go low */ /* hold switch on 3g causes all outputs to go low */
/* we shouldn't interpret these as key presses */ /* we shouldn't interpret these as key presses */
goto done; GPIOA_INT_CLR = source;
return BUTTON_NONE;
} }
if (source & 0x1) { if ((state & 0x1) == 0) {
btn |= BUTTON_RIGHT; btn |= BUTTON_RIGHT;
} }
if (source & 0x2) { if ((state & 0x2) == 0) {
btn |= BUTTON_SELECT; btn |= BUTTON_SELECT;
} }
if (source & 0x4) { if ((state & 0x4) == 0) {
btn |= BUTTON_PLAY; btn |= BUTTON_PLAY;
} }
if (source & 0x8) { if ((state & 0x8) == 0) {
btn |= BUTTON_LEFT; btn |= BUTTON_LEFT;
} }
if (source & 0x10) { if ((state & 0x10) == 0) {
btn |= BUTTON_MENU; btn |= BUTTON_MENU;
} }
if (source & 0xc0) { if (source & 0xc0) {
handle_scroll_wheel((state & 0xc0) >> 6, was_hold, 0); handle_scroll_wheel((state & 0xc0) >> 6, was_hold, 0);
} }
done:
/* ack any active interrupts */ /* ack any active interrupts */
outb(source, 0xcf000070); GPIOA_INT_CLR = source;
}
return btn; return btn;
} }
void ipod_3g_button_int(void)
{
/**
* Theire is other things to do but for now ...
* TODO: implement this function in a better way
**/
int_btn = ipod_3g_button_read();
}
#endif #endif
static void button_tick(void) static void button_tick(void)
{ {
@ -566,10 +555,9 @@ void button_init(void)
CPU_HI_INT_EN = I2C_MASK; CPU_HI_INT_EN = I2C_MASK;
#elif CONFIG_KEYPAD == IPOD_3G_PAD #elif CONFIG_KEYPAD == IPOD_3G_PAD
outb(~inb(GPIOA_INPUT_VAL), GPIOA_INT_LEV); GPIOA_INT_LEV = ~GPIOA_INPUT_VAL;
outb(inb(GPIOA_INT_STAT), GPIOA_INT_CLR); GPIOA_INT_CLR = GPIOA_INT_STAT;
outb(0xff, GPIOA_INT_EN); GPIOA_INT_EN = 0xff;
#endif /* CONFIG_KEYPAD */ #endif /* CONFIG_KEYPAD */
queue_init(&button_queue); queue_init(&button_queue);
button_read(); button_read();
@ -1043,10 +1031,14 @@ static int button_read(void)
if (data & 0x01) if (data & 0x01)
btn |= BUTTON_ON; btn |= BUTTON_ON;
#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD)
(void)data; (void)data;
/* The int_btn variable is set in the button interrupt handler */ /* The int_btn variable is set in the button interrupt handler */
btn = int_btn; btn = int_btn;
#elif (CONFIG_KEYPAD == IPOD_3G_PAD)
(void)data;
btn = ipod_3g_button_read();
#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD) #elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
static bool hold_button = false; static bool hold_button = false;
static bool remote_hold_button = false; static bool remote_hold_button = false;
@ -1098,7 +1090,7 @@ static int button_read(void)
return retval; return retval;
} }
#if (CONFIG_KEYPAD == IPOD_4G_PAD) #if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD)
bool button_hold(void) bool button_hold(void)
{ {
return (GPIOA_INPUT_VAL & 0x20)?false:true; return (GPIOA_INPUT_VAL & 0x20)?false:true;

View file

@ -27,7 +27,8 @@
(CONFIG_KEYPAD == IAUDIO_X5_PAD) (CONFIG_KEYPAD == IAUDIO_X5_PAD)
#define HAS_BUTTON_HOLD #define HAS_BUTTON_HOLD
#define HAS_REMOTE_BUTTON_HOLD #define HAS_REMOTE_BUTTON_HOLD
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define HAS_BUTTON_HOLD #define HAS_BUTTON_HOLD
#endif #endif
extern struct event_queue button_queue; extern struct event_queue button_queue;

View file

@ -82,10 +82,8 @@
/* Offset ( in the firmware file's header ) to the real data */ /* Offset ( in the firmware file's header ) to the real data */
#define FIRMWARE_OFFSET_FILE_DATA 8 #define FIRMWARE_OFFSET_FILE_DATA 8
#define USB_IPODSTYLE #define USB_NONE
/* define this if the unit can be powered or charged via USB */
#define HAVE_USB_POWER
/* Virtual LED (icon) */ /* Virtual LED (icon) */
#define CONFIG_LED LED_VIRTUAL #define CONFIG_LED LED_VIRTUAL

View file

@ -21,38 +21,38 @@
/* All info gleaned and/or copied from the iPodLinux project. */ /* All info gleaned and/or copied from the iPodLinux project. */
#define GPIOA_ENABLE (*(volatile unsigned long *)(0xcf000000)) #define GPIOA_ENABLE (*(volatile unsigned char *)(0xcf000000))
#define GPIOB_ENABLE (*(volatile unsigned long *)(0xcf000004)) #define GPIOB_ENABLE (*(volatile unsigned char *)(0xcf000004))
#define GPIOC_ENABLE (*(volatile unsigned long *)(0xcf000008)) #define GPIOC_ENABLE (*(volatile unsigned char *)(0xcf000008))
#define GPIOD_ENABLE (*(volatile unsigned long *)(0xcf00000c)) #define GPIOD_ENABLE (*(volatile unsigned char *)(0xcf00000c))
#define GPIOA_OUTPUT_EN (*(volatile unsigned long *)(0xcf000010)) #define GPIOA_OUTPUT_EN (*(volatile unsigned char *)(0xcf000010))
#define GPIOB_OUTPUT_EN (*(volatile unsigned long *)(0xcf000014)) #define GPIOB_OUTPUT_EN (*(volatile unsigned char *)(0xcf000014))
#define GPIOC_OUTPUT_EN (*(volatile unsigned long *)(0xcf000018)) #define GPIOC_OUTPUT_EN (*(volatile unsigned char *)(0xcf000018))
#define GPIOD_OUTPUT_EN (*(volatile unsigned long *)(0xcf00001c)) #define GPIOD_OUTPUT_EN (*(volatile unsigned char *)(0xcf00001c))
#define GPIOA_OUTPUT_VAL (*(volatile unsigned long *)(0xcf000020)) #define GPIOA_OUTPUT_VAL (*(volatile unsigned char *)(0xcf000020))
#define GPIOB_OUTPUT_VAL (*(volatile unsigned long *)(0xcf000024)) #define GPIOB_OUTPUT_VAL (*(volatile unsigned char *)(0xcf000024))
#define GPIOC_OUTPUT_VAL (*(volatile unsigned long *)(0xcf000028)) #define GPIOC_OUTPUT_VAL (*(volatile unsigned char *)(0xcf000028))
#define GPIOD_OUTPUT_VAL (*(volatile unsigned long *)(0xcf00002c)) #define GPIOD_OUTPUT_VAL (*(volatile unsigned char *)(0xcf00002c))
#define GPIOA_INPUT_VAL (*(volatile unsigned long *)(0xcf000030)) #define GPIOA_INPUT_VAL (*(volatile unsigned char *)(0xcf000030))
#define GPIOB_INPUT_VAL (*(volatile unsigned long *)(0xcf000034)) #define GPIOB_INPUT_VAL (*(volatile unsigned char *)(0xcf000034))
#define GPIOC_INPUT_VAL (*(volatile unsigned long *)(0xcf000038)) #define GPIOC_INPUT_VAL (*(volatile unsigned char *)(0xcf000038))
#define GPIOD_INPUT_VAL (*(volatile unsigned long *)(0xcf00003c)) #define GPIOD_INPUT_VAL (*(volatile unsigned char *)(0xcf00003c))
#define GPIOA_INT_STAT (*(volatile unsigned long *)(0xcf000040)) #define GPIOA_INT_STAT (*(volatile unsigned char *)(0xcf000040))
#define GPIOB_INT_STAT (*(volatile unsigned long *)(0xcf000044)) #define GPIOB_INT_STAT (*(volatile unsigned char *)(0xcf000044))
#define GPIOC_INT_STAT (*(volatile unsigned long *)(0xcf000048)) #define GPIOC_INT_STAT (*(volatile unsigned char *)(0xcf000048))
#define GPIOD_INT_STAT (*(volatile unsigned long *)(0xcf00004c)) #define GPIOD_INT_STAT (*(volatile unsigned char *)(0xcf00004c))
#define GPIOA_INT_EN (*(volatile unsigned long *)(0xcf000050)) #define GPIOA_INT_EN (*(volatile unsigned char *)(0xcf000050))
#define GPIOB_INT_EN (*(volatile unsigned long *)(0xcf000054)) #define GPIOB_INT_EN (*(volatile unsigned char *)(0xcf000054))
#define GPIOC_INT_EN (*(volatile unsigned long *)(0xcf000058)) #define GPIOC_INT_EN (*(volatile unsigned char *)(0xcf000058))
#define GPIOD_INT_EN (*(volatile unsigned long *)(0xcf00005c)) #define GPIOD_INT_EN (*(volatile unsigned char *)(0xcf00005c))
#define GPIOA_INT_LEV (*(volatile unsigned long *)(0xcf000060)) #define GPIOA_INT_LEV (*(volatile unsigned char *)(0xcf000060))
#define GPIOB_INT_LEV (*(volatile unsigned long *)(0xcf000064)) #define GPIOB_INT_LEV (*(volatile unsigned char *)(0xcf000064))
#define GPIOC_INT_LEV (*(volatile unsigned long *)(0xcf000068)) #define GPIOC_INT_LEV (*(volatile unsigned char *)(0xcf000068))
#define GPIOD_INT_LEV (*(volatile unsigned long *)(0xcf00006c)) #define GPIOD_INT_LEV (*(volatile unsigned char *)(0xcf00006c))
#define GPIOA_INT_CLR (*(volatile unsigned long *)(0xcf000070)) #define GPIOA_INT_CLR (*(volatile unsigned char *)(0xcf000070))
#define GPIOB_INT_CLR (*(volatile unsigned long *)(0xcf000074)) #define GPIOB_INT_CLR (*(volatile unsigned char *)(0xcf000074))
#define GPIOC_INT_CLR (*(volatile unsigned long *)(0xcf000078)) #define GPIOC_INT_CLR (*(volatile unsigned char *)(0xcf000078))
#define GPIOD_INT_CLR (*(volatile unsigned long *)(0xcf00007c)) #define GPIOD_INT_CLR (*(volatile unsigned char *)(0xcf00007c))
#define DEV_RS (*(volatile unsigned long *)( 0xcf005030)) #define DEV_RS (*(volatile unsigned long *)( 0xcf005030))
#define DEV_EN (*(volatile unsigned long *)( 0xcf005000)) #define DEV_EN (*(volatile unsigned long *)( 0xcf005000))

View file

@ -1230,14 +1230,16 @@ int system_memory_guard(int newmode)
unsigned int ipod_hw_rev; unsigned int ipod_hw_rev;
#ifndef BOOTLOADER #ifndef BOOTLOADER
extern void TIMER1(void); extern void TIMER1(void);
extern void ipod_3g_button_int(void);
void irq(void) void irq(void)
{ {
if (CPU_INT_STAT & TIMER1_MASK) if (CPU_INT_STAT & TIMER1_MASK)
TIMER1(); TIMER1();
else if (CPU_INT_STAT & GPIO_MASK) }
ipod_3g_button_int();
void fiq(void)
{
/** TODO: implement this function **/
} }
#endif #endif
@ -1259,7 +1261,7 @@ static void ipod_init_cache(void)
outl(0x2, 0xcf004024); outl(0x2, 0xcf004024);
/* PP5002 has 8KB cache */ /* PP5002 has 8KB cache */
for (i = 0xf0004000; i < 0xf0006000; i += 16) { for (i = 0xf0004000; i < (int)(0xf0006000); i += 16) {
outl(0x0, i); outl(0x0, i);
} }

View file

@ -68,7 +68,7 @@ void screen_dump(void); /* Nasty again. Defined in apps/ too */
#elif CONFIG_KEYPAD == ONDIO_PAD #elif CONFIG_KEYPAD == ONDIO_PAD
#define USBPOWER_BUTTON BUTTON_MENU #define USBPOWER_BUTTON BUTTON_MENU
#define USBPOWER_BTN_IGNORE BUTTON_OFF #define USBPOWER_BTN_IGNORE BUTTON_OFF
#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD) #elif (CONFIG_KEYPAD == IPOD_4G_PAD)
#define USBPOWER_BUTTON BUTTON_MENU #define USBPOWER_BUTTON BUTTON_MENU
#define USBPOWER_BTN_IGNORE BUTTON_PLAY #define USBPOWER_BTN_IGNORE BUTTON_PLAY
#elif CONFIG_KEYPAD == IRIVER_H300_PAD #elif CONFIG_KEYPAD == IRIVER_H300_PAD
@ -166,7 +166,7 @@ void usb_enable(bool on)
#endif #endif
} }
#elif defined(USB_IPODSTYLE) #elif defined(USB_IPODSTYLE)
/* For the ipod, we can only do one thing with USB mode - reboot /* For the ipod, we can only do one thing with USB mode - reboot
into Apple's flash-based disk-mode. This does not return. */ into Apple's flash-based disk-mode. This does not return. */
if (on) if (on)
@ -181,6 +181,7 @@ void usb_enable(bool on)
memcpy(storage_ptr, "diskmode\0\0hotstuff\0\0\1", 21); memcpy(storage_ptr, "diskmode\0\0hotstuff\0\0\1", 21);
DEV_RS |= 4; /* Reboot */ DEV_RS |= 4; /* Reboot */
} }
#elif defined(USB_ISP1582) #elif defined(USB_ISP1582)
/* TODO: Implement USB_ISP1582 */ /* TODO: Implement USB_ISP1582 */
(void) on; (void) on;
@ -554,6 +555,7 @@ void usb_init(void)
tick_add_task(usb_tick); tick_add_task(usb_tick);
#endif #endif
} }
void usb_wait_for_disconnect(struct event_queue *q) void usb_wait_for_disconnect(struct event_queue *q)
@ -642,4 +644,9 @@ bool usb_detect(void)
return false; return false;
} }
void usb_wait_for_disconnect(struct event_queue *q)
{
(void*)q;
}
#endif /* USB_NONE or SIMULATOR */ #endif /* USB_NONE or SIMULATOR */