Question: The CY632xx has only one data endpoint which must be used for the IN endpoint. How do I configure the chip to receive data OUT from the host?
The control endpoint can be used to send data from the host to the device (using SetReport/GetReport). In this case the control endpoint can serve as an extra data endpoint, but in order to send 1 bit of data over the control endpoint, the transfer has to be completed in 3 stages: Setup Stage, Data Stage, and Status Stage. This process involves a lot of overheads which take up a lot of bandwidth from the bus. This approach is not prohibited by the USB Spec, but this would make the device an bad citizen on a busy bus. Therefore, this method is recommended only in a closed system where the device is the only one on the bus.