From 76199f21616ad86cf68f3b063c1ce23c6fc5a52f Mon Sep 17 00:00:00 2001 From: Ian McIntyre Date: Sun, 30 Nov 2025 18:52:34 -0500 Subject: First commit --- drivers/gpio/src/lib.rs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 drivers/gpio/src/lib.rs (limited to 'drivers/gpio/src') diff --git a/drivers/gpio/src/lib.rs b/drivers/gpio/src/lib.rs new file mode 100644 index 0000000..31a04b1 --- /dev/null +++ b/drivers/gpio/src/lib.rs @@ -0,0 +1,34 @@ +#![no_std] + +use ral_registers::register; + +#[allow(non_snake_case)] +#[repr(C)] +pub struct RegisterBlock { + pub DR: u32, + pub GDIR: u32, + pub PSR: u32, + pub ICR1: u32, + pub ICR2: u32, + pub IMR: u32, + pub ISR: u32, + pub EDGE_SEL: u32, + _reserved0: [u8; 0x64], + pub DR_SET: u32, + pub DR_CLEAR: u32, + pub DR_TOGGLE: u32, +} + +pub type GPIO = ral_registers::Instance; + +register!(pub DR RW []); +register!(pub GDIR RW []); +register!(pub PSR RO []); +register!(pub ICR1 RW []); +register!(pub ICR2 RW []); +register!(pub IMR RW []); +register!(pub ISR RW []); +register!(pub EDGE_SEL RW []); +register!(pub DR_SET WO []); +register!(pub DR_CLEAR WO []); +register!(pub DR_TOGGLE WO []); -- cgit v1.2.3