USB on non-USB chips is achieved using "VUSB", most likely - it's a library for faking USB on chips that don't have USB support. Note that it is not USB compliant, and you occasionally run into devices that won't talk with VUSB devices (for example, I have some hubs that won't work with USBAsps, which also use VUSB)