diff options
| author | wires <wires@noreply.wires.systems> | 2025-10-06 06:07:10 -0400 |
|---|---|---|
| committer | wires <wires@noreply.wires.systems> | 2025-10-06 06:07:10 -0400 |
| commit | 2379c573da65fd13d4e5bd16619b321744ac37fe (patch) | |
| tree | 9552f19b902fe9626b6c9e644f131d7bad8bdd0e /src/board.zig | |
| parent | get building on 0.15.1 (diff) | |
| download | zosimos-2379c573da65fd13d4e5bd16619b321744ac37fe.tar.gz | |
blocking serial messages
Diffstat (limited to 'src/board.zig')
| -rw-r--r-- | src/board.zig | 20 |
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); +} |