mirror of
https://github.com/Rockbox/rockbox.git
synced 2026-07-10 13:29:52 -04:00
usb: Fix usb mode not initialized/restored on the DX50/DX90
* Devices with ADB now have HAVE_USB_ADB
* DX50/DX90 no longer set USB_NONE
* stub out necessary functions
* usb_set_mode() and global_settings.usb_mode are now:
* called for all devices with (HAVE_USB_ADB | HAVE_USB_POWER)
* wrapped with consistent #ifdefs
Fixes regression in ce88de54b8
Change-Id: Ib0c16082fe237e8159cd42847355186ea5c74589
This commit is contained in:
parent
412a78dd5f
commit
f11c89aae2
10 changed files with 50 additions and 40 deletions
|
|
@ -58,7 +58,7 @@
|
||||||
#include "onplay.h"
|
#include "onplay.h"
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
|
|
||||||
#if defined(DX50) || defined(DX90) || (defined(HAVE_USB_POWER) && !defined(USB_NONE) && !defined(SIMULATOR))
|
#if !defined(SIMULATOR) && !defined(USB_NONE) && (defined(HAVE_USB_ADB) || defined(HAVE_USB_POWER))
|
||||||
#define HAVE_USB_MODE
|
#define HAVE_USB_MODE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -108,11 +108,6 @@ static long lasttime = 0;
|
||||||
|
|
||||||
#if defined(DX50) || defined(DX90)
|
#if defined(DX50) || defined(DX90)
|
||||||
#include "governor-ibasso.h"
|
#include "governor-ibasso.h"
|
||||||
#include "usb-ibasso.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if (defined(HIBY_R3PROII) || defined(HIBY_R1))
|
|
||||||
#include "usb-hiby-gadget.h"
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef LOGF_ENABLE
|
#ifdef LOGF_ENABLE
|
||||||
|
|
@ -1130,7 +1125,7 @@ void settings_apply(bool read_disk)
|
||||||
memcpy(&calibration_parameters, &global_settings.ts_calibration_data, sizeof(struct touchscreen_parameter));
|
memcpy(&calibration_parameters, &global_settings.ts_calibration_data, sizeof(struct touchscreen_parameter));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(HAVE_USB_POWER) && !defined(USB_NONE) && !defined(SIMULATOR)
|
#if !defined(SIMULATOR) && !defined(USB_NONE) && (defined(HAVE_USB_ADB) || defined(HAVE_USB_POWER))
|
||||||
usb_set_mode(global_settings.usb_mode);
|
usb_set_mode(global_settings.usb_mode);
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_GENERAL_PURPOSE_LED)
|
#if defined(HAVE_GENERAL_PURPOSE_LED)
|
||||||
|
|
|
||||||
|
|
@ -915,7 +915,7 @@ struct user_settings
|
||||||
#if defined(DX50) || defined(DX90)
|
#if defined(DX50) || defined(DX90)
|
||||||
int governor;
|
int governor;
|
||||||
#endif
|
#endif
|
||||||
#if defined(DX50) || defined(DX90) || (defined(HAVE_USB_POWER) && !defined(USB_NONE) && !defined(SIMULATOR))
|
#if !defined(SIMULATOR) && !defined(USB_NONE) && (defined(HAVE_USB_ADB) || defined(HAVE_USB_POWER))
|
||||||
int usb_mode;
|
int usb_mode;
|
||||||
#endif
|
#endif
|
||||||
#if defined(BUTTON_REC) || \
|
#if defined(BUTTON_REC) || \
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,6 @@
|
||||||
|
|
||||||
#if defined(DX50) || defined(DX90)
|
#if defined(DX50) || defined(DX90)
|
||||||
#include "governor-ibasso.h"
|
#include "governor-ibasso.h"
|
||||||
#include "usb-ibasso.h"
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define UNUSED {.RESERVED=NULL}
|
#define UNUSED {.RESERVED=NULL}
|
||||||
|
|
@ -2368,31 +2367,26 @@ const struct settings_list settings[] = {
|
||||||
"Powersave",
|
"Powersave",
|
||||||
"Performance"),
|
"Performance"),
|
||||||
#endif
|
#endif
|
||||||
#if defined(DX50) || defined(DX90) || (defined(HAVE_USB_POWER) && !defined(USB_NONE) && !defined(SIMULATOR))
|
#if !defined(SIMULATOR) && !defined(USB_NONE) && (defined(HAVE_USB_ADB) || defined(HAVE_USB_POWER))
|
||||||
CHOICE_SETTING(0,
|
CHOICE_SETTING(0,
|
||||||
usb_mode,
|
usb_mode,
|
||||||
LANG_USB_MODE,
|
LANG_USB_MODE,
|
||||||
USBMODE_DEFAULT,
|
USBMODE_DEFAULT,
|
||||||
"usb mode",
|
"usb mode",
|
||||||
"mass storage,charge"
|
"mass storage,charge"
|
||||||
#if defined(DX50) || defined(DX90) || defined(HIBY_R3PROII) || defined(HIBY_R1)
|
#if defined(HAVE_USB_ADB)
|
||||||
",adb"
|
",adb"
|
||||||
#endif
|
#endif
|
||||||
,
|
,
|
||||||
#if defined(DX50) || defined(DX90)
|
|
||||||
ibasso_set_usb_mode,
|
|
||||||
3,
|
|
||||||
#else
|
|
||||||
usb_set_mode,
|
usb_set_mode,
|
||||||
#if defined(HIBY_R3PROII) || defined(HIBY_R1)
|
#if defined(HAVE_USB_ADB)
|
||||||
3,
|
3,
|
||||||
#else
|
#else
|
||||||
2,
|
2,
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
ID2P(LANG_USB_MODE_MASS_STORAGE),
|
ID2P(LANG_USB_MODE_MASS_STORAGE),
|
||||||
ID2P(LANG_USB_MODE_CHARGE)
|
ID2P(LANG_USB_MODE_CHARGE)
|
||||||
#if defined(DX50) || defined(DX90) || defined(HIBY_R3PROII) || defined(HIBY_R1)
|
#if defined(HAVE_USB_ADB)
|
||||||
,ID2P(LANG_USB_MODE_ADB)
|
,ID2P(LANG_USB_MODE_ADB)
|
||||||
#endif
|
#endif
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -83,6 +83,8 @@
|
||||||
#define BOOTDIR "/.rockbox"
|
#define BOOTDIR "/.rockbox"
|
||||||
|
|
||||||
/* USB */
|
/* USB */
|
||||||
|
#define HAVE_USB_ADB
|
||||||
|
#define HAVE_USB_POWER
|
||||||
#define USB_VID_STR "32BB"
|
#define USB_VID_STR "32BB"
|
||||||
#define USB_PID_STR "0101"
|
#define USB_PID_STR "0101"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -86,6 +86,8 @@
|
||||||
#define BOOTDIR "/.rockbox"
|
#define BOOTDIR "/.rockbox"
|
||||||
|
|
||||||
/* USB */
|
/* USB */
|
||||||
|
#define HAVE_USB_ADB
|
||||||
|
#define HAVE_USB_POWER
|
||||||
#define USB_VID_STR "32BB"
|
#define USB_VID_STR "32BB"
|
||||||
#define USB_PID_STR "0101"
|
#define USB_PID_STR "0101"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,8 +35,8 @@
|
||||||
|
|
||||||
#define MODEL_NAME "iBasso DX50"
|
#define MODEL_NAME "iBasso DX50"
|
||||||
|
|
||||||
#define USB_NONE
|
|
||||||
#define HAVE_USB_POWER
|
#define HAVE_USB_POWER
|
||||||
|
#define HAVE_USB_ADB
|
||||||
|
|
||||||
/* define this if you have a colour LCD */
|
/* define this if you have a colour LCD */
|
||||||
#define HAVE_LCD_COLOR
|
#define HAVE_LCD_COLOR
|
||||||
|
|
|
||||||
|
|
@ -35,8 +35,8 @@
|
||||||
|
|
||||||
#define MODEL_NAME "iBasso DX90"
|
#define MODEL_NAME "iBasso DX90"
|
||||||
|
|
||||||
#define USB_NONE
|
|
||||||
#define HAVE_USB_POWER
|
#define HAVE_USB_POWER
|
||||||
|
#define HAVE_USB_ADB
|
||||||
|
|
||||||
/* define this if you have a colour LCD */
|
/* define this if you have a colour LCD */
|
||||||
#define HAVE_LCD_COLOR
|
#define HAVE_LCD_COLOR
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,26 @@ void ibasso_set_usb_mode(int mode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool usb_powered_only(void)
|
void usb_enable(bool on)
|
||||||
{
|
{
|
||||||
return false;
|
(void)on; // XXX maybe implement?
|
||||||
|
}
|
||||||
|
|
||||||
|
int usb_detect(void)
|
||||||
|
{
|
||||||
|
return 0; // XXX figure this out?
|
||||||
|
}
|
||||||
|
|
||||||
|
void usb_init_device(void)
|
||||||
|
{
|
||||||
|
// XXX maybe something?
|
||||||
|
}
|
||||||
|
|
||||||
|
int disk_mount_all(void)
|
||||||
|
{
|
||||||
|
return 1; // XXX maybe do sometihng?
|
||||||
|
}
|
||||||
|
int disk_unmount_all(void)
|
||||||
|
{
|
||||||
|
return 1; // XXX maybe do sometihng?
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,9 @@
|
||||||
#if defined(HIBY_R3PROII) || defined(HIBY_R1)
|
#if defined(HIBY_R3PROII) || defined(HIBY_R1)
|
||||||
#include "usb-hiby-gadget.h"
|
#include "usb-hiby-gadget.h"
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(DX50) || defined(DX90)
|
||||||
|
#include "usb-ibasso.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(IPOD_ACCESSORY_PROTOCOL)
|
#if defined(IPOD_ACCESSORY_PROTOCOL)
|
||||||
#include "iap.h"
|
#include "iap.h"
|
||||||
|
|
@ -73,12 +76,24 @@
|
||||||
bool do_screendump_instead_of_usb = false;
|
bool do_screendump_instead_of_usb = false;
|
||||||
|
|
||||||
#if !defined(SIMULATOR) && !defined(USB_NONE)
|
#if !defined(SIMULATOR) && !defined(USB_NONE)
|
||||||
|
|
||||||
/* We assume that the USB cable is extracted */
|
/* We assume that the USB cable is extracted */
|
||||||
static int usb_state = USB_EXTRACTED;
|
static int usb_state = USB_EXTRACTED;
|
||||||
#if (CONFIG_STORAGE & STORAGE_MMC) && defined(USB_FULL_INIT) && !defined(HAVE_USBSTACK)
|
#if (CONFIG_STORAGE & STORAGE_MMC) && defined(USB_FULL_INIT) && !defined(HAVE_USBSTACK)
|
||||||
static int usb_mmc_countdown = 0;
|
static int usb_mmc_countdown = 0;
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(HAVE_USB_POWER) || defined(HAVE_USB_ADB)
|
||||||
|
static bool usb_power_only = false;
|
||||||
|
static int usb_mode = USBMODE_DEFAULT;
|
||||||
|
void usb_set_mode(int mode)
|
||||||
|
{
|
||||||
|
usb_mode = mode;
|
||||||
|
#if defined(DX50) || defined(DX90)
|
||||||
|
ibasso_set_usb_mode(mode);
|
||||||
|
#elif defined(HIBY_R3PROII) || defined(HIBY_R1)
|
||||||
|
hiby_set_usb_mode(mode);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef USB_FULL_INIT
|
#ifdef USB_FULL_INIT
|
||||||
/* Make sure there's enough stack space for screendump */
|
/* Make sure there's enough stack space for screendump */
|
||||||
|
|
@ -106,11 +121,6 @@ static int usb_audio = 0;
|
||||||
static bool usb_host_present = false;
|
static bool usb_host_present = false;
|
||||||
static int usb_num_acks_to_expect = 0;
|
static int usb_num_acks_to_expect = 0;
|
||||||
static uint32_t usb_broadcast_seqnum = 0x80000000;
|
static uint32_t usb_broadcast_seqnum = 0x80000000;
|
||||||
#ifdef HAVE_USB_POWER
|
|
||||||
static int usb_mode = USBMODE_DEFAULT;
|
|
||||||
static bool usb_power_only = false;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(USB_FIREWIRE_HANDLING)
|
#if defined(USB_FIREWIRE_HANDLING)
|
||||||
static void try_reboot(void)
|
static void try_reboot(void)
|
||||||
{
|
{
|
||||||
|
|
@ -149,18 +159,6 @@ static inline bool usb_do_screendump(void)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_USB_POWER
|
|
||||||
void usb_set_mode(int mode)
|
|
||||||
{
|
|
||||||
usb_mode = mode;
|
|
||||||
#if defined(DX50) || defined(DX90)
|
|
||||||
ibasso_set_usb_mode(mode);
|
|
||||||
#elif defined(HIBY_R3PROII) || defined(HIBY_R1)
|
|
||||||
hiby_set_usb_mode(mode);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef USB_FIREWIRE_HANDLING
|
#ifdef USB_FIREWIRE_HANDLING
|
||||||
static inline bool usb_reboot_button(void)
|
static inline bool usb_reboot_button(void)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue