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 "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
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -108,11 +108,6 @@ static long lasttime = 0;
|
|||
|
||||
#if defined(DX50) || defined(DX90)
|
||||
#include "governor-ibasso.h"
|
||||
#include "usb-ibasso.h"
|
||||
#endif
|
||||
|
||||
#if (defined(HIBY_R3PROII) || defined(HIBY_R1))
|
||||
#include "usb-hiby-gadget.h"
|
||||
#endif
|
||||
|
||||
#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));
|
||||
#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);
|
||||
#endif
|
||||
#if defined(HAVE_GENERAL_PURPOSE_LED)
|
||||
|
|
|
|||
|
|
@ -915,7 +915,7 @@ struct user_settings
|
|||
#if defined(DX50) || defined(DX90)
|
||||
int governor;
|
||||
#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;
|
||||
#endif
|
||||
#if defined(BUTTON_REC) || \
|
||||
|
|
|
|||
|
|
@ -72,7 +72,6 @@
|
|||
|
||||
#if defined(DX50) || defined(DX90)
|
||||
#include "governor-ibasso.h"
|
||||
#include "usb-ibasso.h"
|
||||
#endif
|
||||
|
||||
#define UNUSED {.RESERVED=NULL}
|
||||
|
|
@ -2368,31 +2367,26 @@ const struct settings_list settings[] = {
|
|||
"Powersave",
|
||||
"Performance"),
|
||||
#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,
|
||||
usb_mode,
|
||||
LANG_USB_MODE,
|
||||
USBMODE_DEFAULT,
|
||||
"usb mode",
|
||||
"mass storage,charge"
|
||||
#if defined(DX50) || defined(DX90) || defined(HIBY_R3PROII) || defined(HIBY_R1)
|
||||
#if defined(HAVE_USB_ADB)
|
||||
",adb"
|
||||
#endif
|
||||
,
|
||||
#if defined(DX50) || defined(DX90)
|
||||
ibasso_set_usb_mode,
|
||||
3,
|
||||
#else
|
||||
usb_set_mode,
|
||||
#if defined(HIBY_R3PROII) || defined(HIBY_R1)
|
||||
#if defined(HAVE_USB_ADB)
|
||||
3,
|
||||
#else
|
||||
2,
|
||||
#endif
|
||||
#endif
|
||||
ID2P(LANG_USB_MODE_MASS_STORAGE),
|
||||
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)
|
||||
#endif
|
||||
),
|
||||
|
|
|
|||
|
|
@ -83,6 +83,8 @@
|
|||
#define BOOTDIR "/.rockbox"
|
||||
|
||||
/* USB */
|
||||
#define HAVE_USB_ADB
|
||||
#define HAVE_USB_POWER
|
||||
#define USB_VID_STR "32BB"
|
||||
#define USB_PID_STR "0101"
|
||||
|
||||
|
|
|
|||
|
|
@ -86,6 +86,8 @@
|
|||
#define BOOTDIR "/.rockbox"
|
||||
|
||||
/* USB */
|
||||
#define HAVE_USB_ADB
|
||||
#define HAVE_USB_POWER
|
||||
#define USB_VID_STR "32BB"
|
||||
#define USB_PID_STR "0101"
|
||||
|
||||
|
|
|
|||
|
|
@ -35,8 +35,8 @@
|
|||
|
||||
#define MODEL_NAME "iBasso DX50"
|
||||
|
||||
#define USB_NONE
|
||||
#define HAVE_USB_POWER
|
||||
#define HAVE_USB_ADB
|
||||
|
||||
/* define this if you have a colour LCD */
|
||||
#define HAVE_LCD_COLOR
|
||||
|
|
|
|||
|
|
@ -35,8 +35,8 @@
|
|||
|
||||
#define MODEL_NAME "iBasso DX90"
|
||||
|
||||
#define USB_NONE
|
||||
#define HAVE_USB_POWER
|
||||
#define HAVE_USB_ADB
|
||||
|
||||
/* define this if you have a colour LCD */
|
||||
#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)
|
||||
#include "usb-hiby-gadget.h"
|
||||
#endif
|
||||
#if defined(DX50) || defined(DX90)
|
||||
#include "usb-ibasso.h"
|
||||
#endif
|
||||
|
||||
#if defined(IPOD_ACCESSORY_PROTOCOL)
|
||||
#include "iap.h"
|
||||
|
|
@ -73,12 +76,24 @@
|
|||
bool do_screendump_instead_of_usb = false;
|
||||
|
||||
#if !defined(SIMULATOR) && !defined(USB_NONE)
|
||||
|
||||
/* We assume that the USB cable is extracted */
|
||||
static int usb_state = USB_EXTRACTED;
|
||||
#if (CONFIG_STORAGE & STORAGE_MMC) && defined(USB_FULL_INIT) && !defined(HAVE_USBSTACK)
|
||||
static int usb_mmc_countdown = 0;
|
||||
#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
|
||||
/* 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 int usb_num_acks_to_expect = 0;
|
||||
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)
|
||||
static void try_reboot(void)
|
||||
{
|
||||
|
|
@ -149,18 +159,6 @@ static inline bool usb_do_screendump(void)
|
|||
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
|
||||
static inline bool usb_reboot_button(void)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue