aboutsummaryrefslogtreecommitdiffstats
path: root/psp_out/retry_link.py
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