Introduction
============

A USB high speed host must pass electrical compliance tests defined
by the USB-IF. These compliance tests require the host controller to
support various test modes defined by the USB 2.0 specification.

USB-IF defines a standard method to initiate the test modes on an
embedded host controller by using a test fixture. During enumeration
by the USB host, this test fixture provides a Vendor-Id/Product-Id
(or VID/PID) pair which is used by the host to initiate a particular
test mode as each VID/PID pair corresponds to a unique test mode.

Hardware description
====================

The driver doesn't require any new hardware and is like any other
USB host class driver. It gets notified when a Test Fixture device is
connected to the host.

The test modes that can be initiated are specific to the high speed
hosts controllers only.

Software description
====================

This EHSET (or Embedded High Speed Electrical Test) driver registers
itself with USB core as the preferred driver for the Test Fixture
device. During registration it provides the list of the various
VID/PID pairs which the Test Fixture may present during enumeration.
The VID is always 0x1A0A, and the PIDs presented by the Test Fixture
correspond to the following test modes:

__________________________________________________
	 PID		Test Mode
--------------------------------------------------
	0x0101		TEST_SE0_NAK
	0x0102		TEST_J
	0x0103		TEST_K
	0x0104		TEST_PACKET
	0x0106		HS_HOST_PORT_SUSPEND_RESUME
	0x0107		SINGLE_STEP_GET_DEV_DESC
	0x0108		SINGLE_STEP_SET_FEATURE
--------------------------------------------------

The control flow is as follows:

1. USB core notifies the ehset driver when a device (Test Fixture) is
attached to the host having the VID/PID pair as one of the specified
above.

2. EHSET driver checks the PID which the Test Fixture presented during
enumeration and then initiates the corresponding test mode.


Dependencies
============

The driver depends on the USB EHCI Host support.

Other
=====

The driver's code shall be added as a new file in the
/kernel/drivers/usb/misc directory.

Embedded High-speed Electrical Test Procedure document is available
at:
http://www.usb.org/developers/onthego/EHSET_v1.01.pdf
