Skip to content

fix(AXI): pair split AW/W write handshakes#45

Draft
klin02 wants to merge 1 commit into
mainfrom
pair-axi
Draft

fix(AXI): pair split AW/W write handshakes#45
klin02 wants to merge 1 commit into
mainfrom
pair-axi

Conversation

@klin02

@klin02 klin02 commented Jun 15, 2026

Copy link
Copy Markdown
Member

Previous AXI4ToLite only accepted MMIO writes when aw.valid and w.valid arrived in the same cycle. But legal AXI traffic from XS may send AW before W, or W before AW, so bridges that split the channels could drop IMSIC writes.

This change keep the same-cycle path and cache the first AW or W until the other channel is accepted. The cached pair then performs one regmap write, while the pending channel deasserts ready so each side has at most one outstanding request.

Also mark AXIRegIMSIC_WRAP REE/TEE slaves non-interleaving so TLToAXI4 can bridge the MMIO path.

Previous AXI4ToLite only accepted MMIO writes when aw.valid and w.valid
arrived in the same cycle. But legal AXI traffic from XS may send AW before
W, or W before AW, so bridges that split the channels could drop IMSIC writes.

This change keep the same-cycle path and cache the first AW or W until the
other channel is accepted. The cached pair then performs one regmap write,
while the pending channel deasserts ready so each side has at most one
outstanding request.

Also mark AXIRegIMSIC_WRAP REE/TEE slaves non-interleaving so TLToAXI4
can bridge the MMIO path.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant