Open xross opened 3 years ago
@xross, could you please explain what you mean by 'test modes' and 'levels'. These terms are sufficiently ambiguous that I do not understand what work needs completed.
I have updated the description. By levels I mean voltage - this is measured whilst the device is in test_J/K and SE0_NAK modes. See "4.3 J and K Voltage Levels" of USB 2.0 Electrical Compliance Test Specification Version 1.07 here: https://www.usb.org/document-library/usb-20-electrical-compliance-test-specification-version-107
For xs3, I have found the SE0_NAK test mode has an issue where the device never responds with NAK packets despite being given correct IN packets. Having had a look there is an error in the PID checking where we are using a register value that has been trampled over by the crc checking instructions. May also be an error in that we should respond (with NAK) to all addresses, not just the address we have been enumerated as.
The USB 2.0 Specification mandates Test Mode support (See 7.1.20 of the USB 2.0 Specification). These facilitate compliance testing and all high-speed capable devices must support them. These test modes are:
Test modes are entered via commands from the host using the USBHSETT tool (see https://www.usb.org/compliancetools) All fours test modes have been implemented for XS3A. They have had some rough checking along with the levels.