From 4753cccb45d6404ea38b3c12e57065a129ec6e3d Mon Sep 17 00:00:00 2001 From: wires Date: Tue, 7 Oct 2025 15:05:19 -0400 Subject: switch to using mmio helpers in gpio --- src/gpio.zig | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/gpio.zig b/src/gpio.zig index ba54394..5e30ca7 100644 --- a/src/gpio.zig +++ b/src/gpio.zig @@ -1,3 +1,5 @@ +const mmio = @import("mmio.zig"); + const PERIPHERAL_BASE = @import("board.zig").PERIPHERAL_BASE; const FSEL = PERIPHERAL_BASE + 0x200000; @@ -21,11 +23,10 @@ fn call( const reg = base + (pin / n_fields) * 4; const shift = (pin % n_fields) * field_size; - const mmio_ptr: *volatile u32 = @ptrFromInt(reg); - var reg_val = mmio_ptr.*; - reg_val &= ~(field_mask << shift); - reg_val |= value << shift; - mmio_ptr.* = reg_val; + var val = mmio.read(reg); + val &= ~(field_mask << shift); + val |= value << shift; + mmio.write(reg, val); } pub fn write(pin: comptime_int, value: bool) void { -- cgit 1.4.1