blob: 3f00cf0ea9e916507d85416b35fdc620d44170ea [file] [log] [blame]
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001Introduction
2============
3
4A USB high speed host must pass electrical compliance tests defined
5by the USB-IF. These compliance tests require the host controller to
6support various test modes defined by the USB 2.0 specification.
7
8USB-IF defines a standard method to initiate the test modes on an
9embedded host controller by using a test fixture. During enumeration
10by the USB host, this test fixture provides a Vendor-Id/Product-Id
11(or VID/PID) pair which is used by the host to initiate a particular
12test mode as each VID/PID pair corresponds to a unique test mode.
13
14Hardware description
15====================
16
17The driver doesn't require any new hardware and is like any other
18USB host class driver. It gets notified when a Test Fixture device is
19connected to the host.
20
21The test modes that can be initiated are specific to the high speed
22hosts controllers only.
23
24Software description
25====================
26
27This EHSET (or Embedded High Speed Electrical Test) driver registers
28itself with USB core as the preferred driver for the Test Fixture
29device. During registration it provides the list of the various
30VID/PID pairs which the Test Fixture may present during enumeration.
31The VID is always 0x1A0A, and the PIDs presented by the Test Fixture
32correspond to the following test modes:
33
34__________________________________________________
35 PID Test Mode
36--------------------------------------------------
37 0x0101 TEST_SE0_NAK
38 0x0102 TEST_J
39 0x0103 TEST_K
40 0x0104 TEST_PACKET
41 0x0106 HS_HOST_PORT_SUSPEND_RESUME
42 0x0107 SINGLE_STEP_GET_DEV_DESC
43 0x0108 SINGLE_STEP_SET_FEATURE
44--------------------------------------------------
45
46The control flow is as follows:
47
481. USB core notifies the ehset driver when a device (Test Fixture) is
49attached to the host having the VID/PID pair as one of the specified
50above.
51
522. EHSET driver checks the PID which the Test Fixture presented during
53enumeration and then initiates the corresponding test mode.
54
55
56Dependencies
57============
58
59The driver depends on the USB EHCI Host support.
60
61Other
62=====
63
64The driver's code shall be added as a new file in the
65/kernel/drivers/usb/misc directory.
66
67Embedded High-speed Electrical Test Procedure document is available
68at:
69http://www.usb.org/developers/onthego/EHSET_v1.01.pdf