wires

summary refs log tree commit diff
path: root/src/board.zig
blob: c55fb9914c562c21f99026a62450b51d0208c066 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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);
}