blob: a636d2db87f1aca0d89d6d94e73ec3628651ecd4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import time
from tinygrad.runtime.support.usb import USB3
devs = USB3.list_devices(0xADD1,0x0001) + USB3.list_devices(0x3801,0x0001)
dev,bus = devs[0]; usb = USB3(dev)
lt = lambda: usb.control_read(0xE4,1,value=0xB450)[0]
for attempt in range(3):
print(f"--- attempt {attempt+1}: LTSSM={hex(lt())}")
usb.control_write(0xF3, value=0, timeout=10000)
time.sleep(5.0)
usb.control_write(0xF3, value=1, timeout=10000)
seen=set()
for i in range(80):
time.sleep(0.25); v=lt(); seen.add(v)
if v==0x78: print(f" LINK UP at t={0.25*(i+1):.2f}s"); break
print(f" final={hex(lt())} states seen: {sorted(hex(x) for x in seen)}")
if lt()==0x78: break
|