aboutsummaryrefslogtreecommitdiffstats
path: root/src/sam3x8e/gpio.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sam3x8e/gpio.c')
-rw-r--r--src/sam3x8e/gpio.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/sam3x8e/gpio.c b/src/sam3x8e/gpio.c
index 205528d5..acfe0d90 100644
--- a/src/sam3x8e/gpio.c
+++ b/src/sam3x8e/gpio.c
@@ -69,13 +69,21 @@ fail:
}
void
-gpio_out_toggle(struct gpio_out g)
+gpio_out_toggle_noirq(struct gpio_out g)
{
Pio *regs = g.regs;
regs->PIO_ODSR ^= g.bit;
}
void
+gpio_out_toggle(struct gpio_out g)
+{
+ irqstatus_t flag = irq_save();
+ gpio_out_toggle_noirq(g);
+ irq_restore(flag);
+}
+
+void
gpio_out_write(struct gpio_out g, uint8_t val)
{
Pio *regs = g.regs;