rockbox/apps/menus
Dana Conrad 9ce66e088e Add USB Audio 1.0 support
Original commit credit to Amaury Pouly, Moshe Piekarski
Pushed across the finish line by Dana Conrad

To enable, see setting under General Settings --> System --> USB-DAC.
On devices with few endpoints, this may not work while HID and/or
mass storage is enabled.

Adds new dedicated mixer channel.

setting usb-dac can have values:
- never (0)
- always (1)
- while_charge_only (2)
- while_mass_storage (3)

Relevant devices are DWC2 and ARC usb controller devices. That being:
x1000 Native targets (m3k, erosqnative, q1, others...?),
sansac200, creativezenxfi2, vibe500, ipodmini2g,
ipod4g, creativezenxfi, creativezenxfi3, sansaview, ipodcolor,
creativezenxfistyle, samsungypz5, sansafuzeplus, iriverh10_5gb,
tatungtpj1022, gigabeats, faketarget, samsungyh820, gogearhdd1630, samsungyh925, ipodmini1g, ipodvideo, creativezenmozaic, sonynwze370, creativezen, gogearsa9200, gogearhdd6330, sonynwze360, sansae200, mrobe100, iriverh10, creativezenv, ipodnano1g, samsungyh920

USB Driver-wise, it should be noted that this patch requires some
slight changes:
- proper blocking on control OUT transfers, to make sure the data is
  received *before* using it, the usb_core should probably use that too
- drivers can now support interface alternate settings
- drivers can be notified of completion by a new fast handler, which
  is called directly from the driver; this is is necessary for
  isochronous transfers because going through the usb queue is way too
  slow

Designware changes:

- enable for USBOTG_DESIGNWARE
- set maxpacketsize to 1023 for ISO endpoints

Change-Id: I570871884a4e4820b4312b203b07701f06ecacc6
2025-11-15 07:30:15 -05:00
..
audiohw_eq_menu.c menus move functions with parameters to their own type 2022-12-17 02:51:43 -05:00
display_menu.c Settings: Add a new option to prevent text scrollings in the home screen 2024-08-28 20:24:44 -04:00
eq_menu.c Add reset EQ menu option 2024-10-16 17:20:27 +01:00
eq_menu.h quickscreen: fix EQ enable not working in quickscreen 2021-08-26 19:34:18 +00:00
exported_menus.h [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
main_menu.c Use ROCKBOX_DIR in legal notices file paths 2025-07-09 19:04:34 -04:00
menu_common.c [3/4] Completely remove HWCODEC support 2020-07-24 21:20:13 +00:00
menu_common.h [3/4] Completely remove HWCODEC support 2020-07-24 21:20:13 +00:00
playback_menu.c album art setting: use settings callback 2025-06-15 11:30:59 -04:00
playlist_menu.c playlist catalog: sort independently from file browser 2025-05-30 08:30:47 -04:00
plugin_menu.c Remove browse_context_init() 2022-12-17 13:36:38 +00:00
radio_menu.c radio.c presets.c small clean-up 2024-11-30 16:42:43 -05:00
recording_menu.c use path_append for setting directories is several settings 2024-04-01 07:35:53 -04:00
settings_menu.c Add USB Audio 1.0 support 2025-11-15 07:30:15 -05:00
sound_menu.c Remove NVRAM infavor of a separate cfg file 2025-01-21 00:04:32 -05:00
theme_menu.c theme_menu: Error out gracefully when a directory doesn't exist 2025-06-17 18:40:06 -04:00
time_menu.c shortcuts: refactor sleeptimer / talk_timedate 2024-05-13 18:18:45 +02:00