wires

summary refs log tree commit diff
path: root/src/board.zig
diff options
context:
space:
mode:
authorwires <wires@noreply.wires.systems>2025-10-06 06:07:10 -0400
committerwires <wires@noreply.wires.systems>2025-10-06 06:07:10 -0400
commit2379c573da65fd13d4e5bd16619b321744ac37fe (patch)
tree9552f19b902fe9626b6c9e644f131d7bad8bdd0e /src/board.zig
parentget building on 0.15.1 (diff)
downloadzosimos-2379c573da65fd13d4e5bd16619b321744ac37fe.tar.gz
blocking serial messages
Diffstat (limited to 'src/board.zig')
-rw-r--r--src/board.zig20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/board.zig b/src/board.zig
new file mode 100644
index 0000000..c55fb99
--- /dev/null
+++ b/src/board.zig
@@ -0,0 +1,20 @@
+pub const PERIPHERAL_BASE = 0xfe000000;
+pub const AUX_BASE = PERIPHERAL_BASE + 0x215000;
+pub const AUX_IRQ = AUX_BASE;
+pub const AUX_ENABLE = AUX_BASE + 0x4;
+
+const Auxiliary = enum(u32) {
+    mini_uart = 1,
+    spi1 = 2,
+    spi2 = 4,
+};
+
+pub fn enableAux(aux: Auxiliary) void {
+    const mmio_ptr: *volatile u32 = @ptrFromInt(AUX_ENABLE);
+    mmio_ptr.* |= @intFromEnum(aux);
+}
+
+pub fn disableAux(aux: Auxiliary) void {
+    const mmio_ptr: *volatile u32 = @ptrFromInt(AUX_ENABLE);
+    mmio_ptr.* &= ~@intFromEnum(aux);
+}