Some investigation revealed that the USB device controller used in the S3C2440 is similar to ones used in Renesas MCU-s. There are some stuff documented in their TRMs that is marked "Reserved" in the samsung one, but these bits are actually usable in the S3C controller, so they left them out from the documentation for some reason ... This is not 100% confirmed, but they seem to work. 0x52000144 PWR_REG [7] ISO_UPDATE: If set, the USB controller will wait for a SOF token from the time IN_PKT_RDY was set before sending the packet. (R/W) [6] Unknown power control flag (R/W) 0x52000184 IN_CSR1_REG [0] IN_PKT_RDY: This is documented, it means that the FIFO can hold another packet [1] IN_USB_RDY: Indicates that a packet is ready to be transmitted upon receiving an IN token (that is, the FIFO holds at least one packet) If IN_PKT_RDY = 0 and IN_USB_RDY = 0, the FIFO is empty If IN_PKT_RDY = 0 and IN_USB_RDY = 1, the FIFO contains 1 packet If IN_PKT_RDY = 1 and IN_USB_RDY = 1, the FIFO contains two packets [2] UNDERRUN: Set in isochronous mode when an IN token is received and IN_PKT_RDY is not set 0x52000190 OUT_CSR1_REG [0] OUT_PKT_RDY: This is documented, it means that the MCU can unload at least 1 packet from the FIFO [1] OUT_USB_RDY: Indicates that the FIFO is full (2 packets in FIFO, dual packet mode only) If OUT_PKT_RDY = 0 and OUT_USB_RDY = 0, the FIFO is empty If OUT_PKT_RDY = 1 and OUT_USB_RDY = 0, the FIFO contains 1 packet If OUT_PKT_RDY = 1 and OUT_USB_RDY = 1, the FIFO contains two packets [2] OVERRUN: Indicates that the USB is unable to load an OUT ISO token into the FIFO [3] DATA_ERROR: The data packet due to be unloaded has a bit-stuffing or CRC error 0x52000194 OUT_CSR2_REG [6] ISO: 1 = Isochronous mode. (Not tested if ISO mode actually works)