summaryrefslogtreecommitdiff
path: root/tools/proxyclient/hv/trace_atc.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/proxyclient/hv/trace_atc.py')
-rw-r--r--tools/proxyclient/hv/trace_atc.py61
1 files changed, 61 insertions, 0 deletions
diff --git a/tools/proxyclient/hv/trace_atc.py b/tools/proxyclient/hv/trace_atc.py
new file mode 100644
index 0000000..f301803
--- /dev/null
+++ b/tools/proxyclient/hv/trace_atc.py
@@ -0,0 +1,61 @@
+# SPDX-License-Identifier: MIT
+
+from m1n1.hv import TraceMode
+from m1n1.hw.dwc3 import XhciRegs, Dwc3CoreRegs, PipehandlerRegs
+from m1n1.hw.atc import Usb2PhyRegs, AtcPhyRegs
+from m1n1.trace import ADTDevTracer
+from m1n1.utils import *
+
+
+class PhyTracer(ADTDevTracer):
+ REGMAPS = [
+ Usb2PhyRegs,
+ None,
+ (AtcPhyRegs, 0x20000),
+ (AtcPhyRegs, 0x0),
+ (AtcPhyRegs, 0x2000),
+ (AtcPhyRegs, 0x2200),
+ (AtcPhyRegs, 0x2800),
+ (AtcPhyRegs, 0x2A00),
+ (AtcPhyRegs, 0x7000),
+ (AtcPhyRegs, 0xA00),
+ (AtcPhyRegs, 0x800),
+ (AtcPhyRegs, 0xD000),
+ (AtcPhyRegs, 0x14000),
+ (AtcPhyRegs, 0xC000),
+ (AtcPhyRegs, 0x13000),
+ (AtcPhyRegs, 0xB000),
+ (AtcPhyRegs, 0x12000),
+ (AtcPhyRegs, 0x9000),
+ (AtcPhyRegs, 0x10000),
+ (AtcPhyRegs, 0x1000),
+ (AtcPhyRegs, 0x50000),
+ (AtcPhyRegs, 0x50200),
+ (AtcPhyRegs, 0x54000),
+ None,
+ None,
+ None,
+ (AtcPhyRegs, 0xA000),
+ (AtcPhyRegs, 0x11000),
+ ]
+
+
+class Dwc3VerboseTracer(ADTDevTracer):
+ REGMAPS = [XhciRegs, None, Dwc3CoreRegs, PipehandlerRegs]
+ NAMES = ["xhci", None, "dwc-core", "pipehandler"]
+
+
+class Dwc3Tracer(ADTDevTracer):
+ REGMAPS = [None, None, Dwc3CoreRegs, PipehandlerRegs]
+ NAMES = [None, None, "dwc-core", "pipehandler"]
+
+
+PhyTracer = PhyTracer._reloadcls()
+Dwc3Tracer = Dwc3Tracer._reloadcls()
+Dwc3VerboseTracer = Dwc3VerboseTracer._reloadcls()
+
+phy_tracer = PhyTracer(hv, "/arm-io/atc-phy1", verbose=2)
+dwc3_tracer = Dwc3Tracer(hv, "/arm-io/usb-drd1", verbose=2)
+
+phy_tracer.start()
+dwc3_tracer.start()