Skip to content

Commit 8b02d19

Browse files
committed
Add movrx comparison tests
1 parent 5f907ef commit 8b02d19

File tree

3 files changed

+36
-0
lines changed

3 files changed

+36
-0
lines changed

port/raspberrypi/rp2xxx/src/hal/pio/assembler/comparison_tests.zig

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ const c = @cImport({
1616
@cInclude("comparison_tests/i2c.pio.h");
1717
@cInclude("comparison_tests/irq.pio.h");
1818
@cInclude("comparison_tests/manchester_encoding.pio.h");
19+
@cInclude("comparison_tests/movrx.pio.h");
1920
@cInclude("comparison_tests/nec_carrier_burst.pio.h");
2021
@cInclude("comparison_tests/nec_carrier_control.pio.h");
2122
@cInclude("comparison_tests/nec_receive.pio.h");
@@ -107,6 +108,11 @@ test "pio.comparison.manchester_encoding" {
107108
try pio_comparison(@embedFile("comparison_tests/manchester_encoding.pio"));
108109
}
109110

111+
test "pio.comparison.movrx" {
112+
@setEvalBranchQuota(11000);
113+
try pio_comparison_cpu(.RP2350, @embedFile("comparison_tests/movrx.pio"));
114+
}
115+
110116
test "pio.comparison.nec_carrier_burst" {
111117
@setEvalBranchQuota(6000);
112118
try pio_comparison(@embedFile("comparison_tests/nec_carrier_burst.pio"));
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
.program movrx
2+
3+
.wrap_target
4+
mov rxfifoy, isr
5+
mov rxfifo0, isr
6+
mov rxfifo1, isr
7+
mov rxfifo2, isr
8+
mov rxfifo3, isr
9+
; mov osr, rxfifoy
10+
; mov osr, rxfifo0
11+
; mov osr, rxfifo1
12+
; mov osr, rxfifo2
13+
; mov osr, rxfifo3
14+
.wrap
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#pragma once
2+
3+
static const uint16_t movrx_program_instructions[] = {
4+
// 0b1000_ssss_0001_yiii
5+
0x8018, // mov rxfifoy, isr
6+
0x8010, // mov rxfifo0, isr
7+
0x8011, // mov rxfifo1, isr
8+
0x8012, // mov rxfifo2, isr
9+
0x8013, // mov rxfifo3, isr
10+
// 0b1000_ssss_1001_yiii
11+
// 0x8098, // mov osr, rxfifoy
12+
// 0x8090, // mov osr, rxfifo0
13+
// 0x8091, // mov osr, rxfifo1
14+
// 0x8092, // mov osr, rxfifo2
15+
// 0x8093, // mov osr, rxfifo3
16+
};

0 commit comments

Comments
 (0)