Skip to content

Commit adae251

Browse files
committed
m1n1.trace.dockchannel: Add DockChannel tracer
Signed-off-by: Hector Martin <[email protected]>
1 parent 4d68806 commit adae251

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# SPDX-License-Identifier: MIT
2+
import struct
3+
4+
from ..hw.dockchannel import DockChannelIRQRegs, DockChannelConfigRegs, DockChannelDataRegs
5+
from ..hv import TraceMode
6+
from ..utils import *
7+
from . import ADTDevTracer
8+
9+
class DockChannelTracer(ADTDevTracer):
10+
DEFAULT_MODE = TraceMode.SYNC
11+
12+
REGMAPS = [None, DockChannelIRQRegs, DockChannelConfigRegs, DockChannelDataRegs]
13+
NAMES = [None, "irq", "config", "data"]
14+
15+
def w_TX_8(self, d):
16+
self.tx(struct.pack("<I", d.value)[0:1])
17+
def w_TX_16(self, d):
18+
self.tx(struct.pack("<I", d.value)[0:2])
19+
def w_TX_24(self, d):
20+
self.tx(struct.pack("<I", d.value)[0:3])
21+
def w_TX_32(self, d):
22+
self.tx(struct.pack("<I", d.value))
23+
24+
def r_RX_8(self, d):
25+
self.rx(struct.pack("<I", d.value)[1:2])
26+
def r_RX_16(self, d):
27+
self.rx(struct.pack("<I", d.value)[1:3])
28+
def r_RX_24(self, d):
29+
self.rx(struct.pack("<I", d.value)[1:4])
30+
def r_RX_32(self, d):
31+
self.rx(struct.pack("<I", d.value))
32+
33+
def tx(self, d):
34+
pass
35+
36+
def rx(self, d):
37+
pass

0 commit comments

Comments
 (0)