rockbox/firmware/target/arm
Marcin Bukat 9605950788 rk27xx: re-enable the UDC interrupt at every connect
usb_drv_exit() masks the UDC interrupt in the interrupt controller at
every disconnect, but only usb_init_device(), once at boot, unmasked
it. After the first unplug the UDC raised no more interrupts: on the
next plug the charging icon showed - plug detection polls VBUS_STS -
but the host's reset and requests went unanswered, so the device never
enumerated and the USB screen never came up.

Unmask it in usb_drv_init(), which runs at every connect, so that it
pairs with the mask in usb_drv_exit(). The interrupt is now masked
while USB is off, at boot too; nothing needs it then.

Tested on a Samsung YP-CP3: it enumerates at every replug.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Change-Id: Iab7b7e93c140990c39b0e6dfae23ffcc829f6ab2
2026-10-01 21:54:02 +02:00
..
as3525 usb: let controller drivers handle SET_ADDRESS requests 2026-09-26 13:23:01 -04:00
imx31 firmware: limit system_memory_guard() to coldfire targets 2026-09-23 13:12:48 -04:00
imx233 imx233: Increase bootloader's firmware buffer size to 2MB 2026-09-29 15:15:45 -04:00
ipod ipodnano3g: power, RTC, backlight, battery and audio 2026-09-20 08:53:53 -04:00
iriver chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
olympus chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
pbell chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
philips chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
pp firmware: limit system_memory_guard() to coldfire targets 2026-09-23 13:12:48 -04:00
rk27xx rk27xx: re-enable the UDC interrupt at every connect 2026-10-01 21:54:02 +02:00
s3c2440 firmware: limit system_memory_guard() to coldfire targets 2026-09-23 13:12:48 -04:00
s5l8700 firmware: limit system_memory_guard() to coldfire targets 2026-09-23 13:12:48 -04:00
s5l8702 firmware: limit system_memory_guard() to coldfire targets 2026-09-23 13:12:48 -04:00
samsung chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
sandisk chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
stm32 firmware: limit system_memory_guard() to coldfire targets 2026-09-23 13:12:48 -04:00
tcc780x firmware: limit system_memory_guard() to coldfire targets 2026-09-23 13:12:48 -04:00
tms320dm320 usb: let controller drivers handle SET_ADDRESS requests 2026-09-26 13:23:01 -04:00
ata-as-arm.S chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
ata-nand-telechips.c chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
bits-armv4.S chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
bits-armv6.S chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
cpucache-arm.h chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
cpucache-armv7m.c chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
cpucache-armv7m.h chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
crt0.S chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
i2c-telechips.c chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
lcd-c200_c200v2.c chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
lcd-ssd1815.c chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
mmu-arm.h chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
mmu-arm.S chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
mmu-armv6.S chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
nvic-arm.h chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
pcm-telechips.c pcm_sink: allow per-sink swvol/hwvol selection 2026-08-14 22:39:13 +09:00
powermgmt-ascodec.c chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
system-arm-classic.c chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
system-arm-classic.h chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
system-arm-micro.c chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
system-arm-micro.h chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
system-arm.h chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
uc87xx.c chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
usb-drv-arc.c usb: accept replacement SETUP after an abandoned control transfer 2026-09-27 09:19:39 -04:00
usb-s3c6400x.c usb: let controller drivers handle SET_ADDRESS requests 2026-09-26 13:23:01 -04:00
usb-tcc.c usb: let controller drivers handle SET_ADDRESS requests 2026-09-26 13:23:01 -04:00
vectors-arm-micro.S chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
wmcodec-telechips.c chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00