mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-21 11:44:01 +08:00
ce21bfe603
OTG3 and EH Compliance Plan 1.0 talks about Super Speed OTG Verification system (SS-OVS) which consists of an excersizer and analyzer. USB Compliance Suite from Lecroy or Ellisys can act as such SS-OVS for Link Layer Validation (LVS). Some modifications are needed for an embedded Linux USB host to pass all these tests. Most of these tests require just Link to be in U0. They do not work with default Linux USB stack since, default stack does port reset and then starts sending setup packet, which is not expected by Link Layer Validation (LVS) device of Lecroy Compliance Suit. Then, There are many Link Layer Tests which need host to generate specific traffic. This patch supports specific traffic generation cases. As of now all the host Lecroy Link Layer-USBIF tests (except TD7.26) passes with this patch for single run using Lecroy USB Compliance Suite Version 1.98 Build 239 and Lecroy USB Protocol Analyzer version 4.80 Build 1603. Therefore patch seems to be a good candidate for inclusion. Further modification can be done on top of it. lvstest driver will not bind to any device by default. It can bind manually to a super speed USB host controller root hub. Therefore, regular hub driver must be unbound before this driver is bound. For example, if 2-0:1.0 is the xhci root hub, then execute following to unbind hub driver. echo 2-0:1.0 > /sys/bus/usb/drivers/hub/unbind Then write Linux Foundation's vendor ID which is used by root hubs and SS root hub's device ID into new_id file. Writing IDs into new_id file will also bind the lvs driver with any available SS root hub interfaces. echo "1D6B 3" > /sys/bus/usb/drivers/lvs/new_id Now connect LVS device with root hub port. Test case specific traffic can be generated as follows whenever needed: 1. To issue "Get Device descriptor" command for TD.7.06: echo > /sys/bus/usb/devices/2-0\:1.0/get_dev_desc 2. To set U1 timeout to 127 for TD.7.18 echo 127 > /sys/bus/usb/devices/2-0\:1.0/u1_timeout 3. To set U2 timeout to 0 for TD.7.18 echo 0 > /sys/bus/usb/devices/2-0\:1.0/u2_timeout 4. To issue "Hot Reset" for TD.7.29 echo > /sys/bus/usb/devices/2-0\:1.0/hot_reset 5. To issue "U3 Entry" for TD.7.35 echo > /sys/bus/usb/devices/2-0\:1.0/u3_entry 6. To issue "U3 Exit" for TD.7.36 echo > /sys/bus/usb/devices/2-0\:1.0/u3_exit Signed-off-by: Pratyush Anand <pratyush.anand@st.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
48 lines
1.7 KiB
Plaintext
48 lines
1.7 KiB
Plaintext
Link Layer Validation Device is a standard device for testing of Super
|
|
Speed Link Layer tests. These nodes are available in sysfs only when lvs
|
|
driver is bound with root hub device.
|
|
|
|
What: /sys/bus/usb/devices/.../get_dev_desc
|
|
Date: March 2014
|
|
Contact: Pratyush Anand <pratyush.anand@st.com>
|
|
Description:
|
|
Write to this node to issue "Get Device Descriptor"
|
|
for Link Layer Validation device. It is needed for TD.7.06.
|
|
|
|
What: /sys/bus/usb/devices/.../u1_timeout
|
|
Date: March 2014
|
|
Contact: Pratyush Anand <pratyush.anand@st.com>
|
|
Description:
|
|
Set "U1 timeout" for the downstream port where Link Layer
|
|
Validation device is connected. Timeout value must be between 0
|
|
and 127. It is needed for TD.7.18, TD.7.19, TD.7.20 and TD.7.21.
|
|
|
|
What: /sys/bus/usb/devices/.../u2_timeout
|
|
Date: March 2014
|
|
Contact: Pratyush Anand <pratyush.anand@st.com>
|
|
Description:
|
|
Set "U2 timeout" for the downstream port where Link Layer
|
|
Validation device is connected. Timeout value must be between 0
|
|
and 127. It is needed for TD.7.18, TD.7.19, TD.7.20 and TD.7.21.
|
|
|
|
What: /sys/bus/usb/devices/.../hot_reset
|
|
Date: March 2014
|
|
Contact: Pratyush Anand <pratyush.anand@st.com>
|
|
Description:
|
|
Write to this node to issue "Reset" for Link Layer Validation
|
|
device. It is needed for TD.7.29, TD.7.31, TD.7.34 and TD.7.35.
|
|
|
|
What: /sys/bus/usb/devices/.../u3_entry
|
|
Date: March 2014
|
|
Contact: Pratyush Anand <pratyush.anand@st.com>
|
|
Description:
|
|
Write to this node to issue "U3 entry" for Link Layer
|
|
Validation device. It is needed for TD.7.35 and TD.7.36.
|
|
|
|
What: /sys/bus/usb/devices/.../u3_exit
|
|
Date: March 2014
|
|
Contact: Pratyush Anand <pratyush.anand@st.com>
|
|
Description:
|
|
Write to this node to issue "U3 exit" for Link Layer
|
|
Validation device. It is needed for TD.7.36.
|