# include/gpio/portmux_gpio_regs.h File Reference

GPIO portmux register interface. More...

`#include <chip/memory-map.h>`
`#include <io.h>`

Include dependency graph for portmux_gpio_regs.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Defines
#define | GPIO_GPER 0x0000
| GPIO Enable.
#define | GPIO_GPERS 0x0004
| GPIO Enable Set.
#define | GPIO_GPERC 0x0008
| GPIO Enable Clear.
#define | GPIO_GPERT 0x000c
| GPIO Enable Toggle.
#define | GPIO_PMR0 0x0010
| Periph Mux 0.
#define | GPIO_PMR0S 0x0014
| Periph Mux 0 Set.
#define | GPIO_PMR0C 0x0018
| Periph Mux 0 Clear.
#define | GPIO_PMR0T 0x001c
| Periph Mux 0 Toggle.
#define | GPIO_PMR1 0x0020
| Periph Mux 1.
#define | GPIO_PMR1S 0x0024
| Periph Mux 1 Set.
#define | GPIO_PMR1C 0x0028
| Periph Mux 1 Clear.
#define | GPIO_PMR1T 0x002c
| Periph Mux 1 Toggle.
#define | GPIO_ODER 0x0040
| Output Drv Enable.
#define | GPIO_ODERS 0x0044
| Output Drv Enable Set.
#define | GPIO_ODERC 0x0048
| Output Drv Enable Clear.
#define | GPIO_ODERT 0x004c
| Output Drv Enable Toggle.
#define | GPIO_OVR 0x0050
| Output Value.
#define | GPIO_OVRS 0x0054
| Output Value Set.
#define | GPIO_OVRC 0x0058
| Output Value Clear.
#define | GPIO_OVRT 0x005c
| Output Value Toggle.
#define | GPIO_PVR 0x0060
| Pin Value.
#define | GPIO_PUER 0x0070
| Pull-up Enable.
#define | GPIO_PUERS 0x0074
| Pull-up Enable Set.
#define | GPIO_PUERC 0x0078
| Pull-up Enable Clear.
#define | GPIO_PUERT 0x007c
| Pull-up Enable Toggle.
#define | GPIO_PDER 0x0080
| Pull-down Enable.
#define | GPIO_PDERS 0x0084
| Pull-down Enable Set.
#define | GPIO_PDERC 0x0088
| Pull-down Enable Clear.
#define | GPIO_PDERT 0x008c
| Pull-down Enable Toggle.
#define | GPIO_IER 0x0090
| Interrupt Enable.
#define | GPIO_IERS 0x0094
| Interrupt Enable Set.
#define | GPIO_IERC 0x0098
| Interrupt Enable Clear.
#define | GPIO_IERT 0x009c
| Interrupt Enable Toggle.
#define | GPIO_IMR0 0x00a0
| Interrupt Mode 0.
#define | GPIO_IMR0S 0x00a4
| Interrupt Mode 0 Set.
#define | GPIO_IMR0C 0x00a8
| Interrupt Mode 0 Clear.
#define | GPIO_IMR0T 0x00ac
| Interrupt Mode 0 Toggle.
#define | GPIO_IMR1 0x00b0
| Interrupt Mode 1.
#define | GPIO_IMR1S 0x00b4
| Interrupt Mode 1 Set.
#define | GPIO_IMR1C 0x00b8
| Interrupt Mode 1 Clear.
#define | GPIO_IMR1T 0x00bc
| Interrupt Mode 1 Toggle.
#define | GPIO_GFER 0x00c0
| Glitch Filter.
#define | GPIO_GFERS 0x00c4
| Glitch Filter Set.
#define | GPIO_GFERC 0x00c8
| Glitch Filter Clear.
#define | GPIO_GFERT 0x00cc
| Glitch Filter Toggle.
#define | GPIO_IFR 0x00d0
| Interrupt Flag.
#define | GPIO_IFRC 0x00d8
| Interrupt Flag Clear.
#define | GPIO_ODMER 0x00e0
| Open Drain Mode.
#define | GPIO_ODMERS 0x00e4
| Open Drain Mode Set.
#define | GPIO_ODMERC 0x00e8
| Open Drain Mode Clear.
#define | GPIO_ODMERT 0x00ec
| Open Drain Mode Toggle.
#define | GPIO_ODCR0 0x0100
| Drive Strength 0.
#define | GPIO_ODCR0S 0x0104
| Drive Strength 0 Set.
#define | GPIO_ODCR0C 0x0108
| Drive Strength 0 Clear.
#define | GPIO_ODCR0T 0x010c
| Drive Strength 0 Toggle.
#define | GPIO_ODCR1 0x0110
| Drive Strength 1.
#define | GPIO_ODCR1S 0x0114
| Drive Strength 1 Set.
#define | GPIO_ODCR1C 0x0118
| Drive Strength 1 Clear.
#define | GPIO_ODCR1T 0x011c
| Drive Strength 1 Toggle.
#define | GPIO_OSRR0 0x0130
| Slew Rate 0.
#define | GPIO_OSRR0S 0x0134
| Slew Rate 0 Set.
#define | GPIO_OSRR0C 0x0138
| Slew Rate 0 Clear.
#define | GPIO_OSRR0T 0x013c
| Slew Rate 0 Toggle.
#define | GPIO_STER 0x0160
| Schmitt Trigger.
#define | GPIO_STERS 0x0164
| Schmitt Trigger Set.
#define | GPIO_STERC 0x0168
| Schmitt Trigger Clear.
#define | GPIO_STERT 0x016c
| Schmitt Trigger Toggle.
#define | GPIO_VERSION 0x01fc
| Controller Version.
#define | gpio_read_reg(port, reg) mmio_read32((port) + GPIO_##reg)
| Read GPIO register reg on port.
#define | gpio_write_reg(port, reg, value) mmio_write32((port) + GPIO_##reg, value)
| Write value to GPIO register reg on port.

## Detailed Description

GPIO portmux register interface.

- Compiler: IAR EWAVR32 and GNU GCC for AVR32
- Supported devices: All AVR32 devices with a GPIO module
- AppNote:

Author:
  Atmel Corporation: http://www.atmel.com
  Support and FAQ: http://support.atmel.no/

Definition in file portmux_gpio_regs.h.

## Define Documentation

#define GPIO_GFER 0x00c0

Glitch Filter.

Definition at line 91 of file portmux_gpio_regs.h.

#define GPIO_GFERC 0x00c8

Glitch Filter Clear.

Definition at line 93 of file portmux_gpio_regs.h.

#define GPIO_GFERS 0x00c4

Glitch Filter Set.

Definition at line 92 of file portmux_gpio_regs.h.

#define GPIO_GFERT 0x00cc

Glitch Filter Toggle.

Definition at line 94 of file portmux_gpio_regs.h.

#define GPIO_GPER 0x0000

GPIO Enable.

Definition at line 50 of file portmux_gpio_regs.h.

#define GPIO_GPERC 0x0008

GPIO Enable Clear.

Definition at line 52 of file portmux_gpio_regs.h.

#define GPIO_GPERS 0x0004

GPIO Enable Set.

Definition at line 51 of file portmux_gpio_regs.h.

#define GPIO_GPERT 0x000c

GPIO Enable Toggle.

Definition at line 53 of file portmux_gpio_regs.h.

#define GPIO_IER 0x0090

Interrupt Enable.

Definition at line 79 of file portmux_gpio_regs.h.

#define GPIO_IERC 0x0098

Interrupt Enable Clear.

Definition at line 81 of file portmux_gpio_regs.h.

#define GPIO_IERS 0x0094

Interrupt Enable Set.

Definition at line 80 of file portmux_gpio_regs.h.

#define GPIO_IERT 0x009c

Interrupt Enable Toggle.

Definition at line 82 of file portmux_gpio_regs.h.

#define GPIO_IFR 0x00d0

Interrupt Flag.

Definition at line 95 of file portmux_gpio_regs.h.

#define GPIO_IFRC 0x00d8

Interrupt Flag Clear.

Definition at line 96 of file portmux_gpio_regs.h.

#define GPIO_IMR0 0x00a0

Interrupt Mode 0.

Definition at line 83 of file portmux_gpio_regs.h.

#define GPIO_IMR0C 0x00a8

Interrupt Mode 0 Clear.

Definition at line 85 of file portmux_gpio_regs.h.

#define GPIO_IMR0S 0x00a4

Interrupt Mode 0 Set.

Definition at line 84 of file portmux_gpio_regs.h.

#define GPIO_IMR0T 0x00ac

Interrupt Mode 0 Toggle.

Definition at line 86 of file portmux_gpio_regs.h.

#define GPIO_IMR1 0x00b0

Interrupt Mode 1.

Definition at line 87 of file portmux_gpio_regs.h.

#define GPIO_IMR1C 0x00b8

Interrupt Mode 1 Clear.

Definition at line 89 of file portmux_gpio_regs.h.

#define GPIO_IMR1S 0x00b4

Interrupt Mode 1 Set.

Definition at line 88 of file portmux_gpio_regs.h.

#define GPIO_IMR1T 0x00bc

Interrupt Mode 1 Toggle.

Definition at line 90 of file portmux_gpio_regs.h.

#define GPIO_ODCR0 0x0100

Drive Strength 0.

Definition at line 101 of file portmux_gpio_regs.h.

#define GPIO_ODCR0C 0x0108

Drive Strength 0 Clear.

Definition at line 103 of file portmux_gpio_regs.h.

#define GPIO_ODCR0S 0x0104

Drive Strength 0 Set.

Definition at line 102 of file portmux_gpio_regs.h.

#define GPIO_ODCR0T 0x010c

Drive Strength 0 Toggle.

Definition at line 104 of file portmux_gpio_regs.h.

#define GPIO_ODCR1 0x0110

Drive Strength 1.

Definition at line 105 of file portmux_gpio_regs.h.

#define GPIO_ODCR1C 0x0118

Drive Strength 1 Clear.

Definition at line 107 of file portmux_gpio_regs.h.

#define GPIO_ODCR1S 0x0114

Drive Strength 1 Set.

Definition at line 106 of file portmux_gpio_regs.h.

#define GPIO_ODCR1T 0x011c

Drive Strength 1 Toggle.

Definition at line 108 of file portmux_gpio_regs.h.

#define GPIO_ODER 0x0040

Output Drv Enable.

Definition at line 62 of file portmux_gpio_regs.h.

#define GPIO_ODERC 0x0048

Output Drv Enable Clear.

Definition at line 64 of file portmux_gpio_regs.h.

#define GPIO_ODERS 0x0044

Output Drv Enable Set.

Definition at line 63 of file portmux_gpio_regs.h.

#define GPIO_ODERT 0x004c

Output Drv Enable Toggle.

Definition at line 65 of file portmux_gpio_regs.h.

#define GPIO_ODMER 0x00e0

Open Drain Mode.

Definition at line 97 of file portmux_gpio_regs.h.

#define GPIO_ODMERC 0x00e8

Open Drain Mode Clear.

Definition at line 99 of file portmux_gpio_regs.h.

#define GPIO_ODMERS 0x00e4

Open Drain Mode Set.

Definition at line 98 of file portmux_gpio_regs.h.

#define GPIO_ODMERT 0x00ec

Open Drain Mode Toggle.

Definition at line 100 of file portmux_gpio_regs.h.

#define GPIO_OSRR0 0x0130

Slew Rate 0.

Definition at line 109 of file portmux_gpio_regs.h.

#define GPIO_OSRR0C 0x0138

Slew Rate 0 Clear.

Definition at line 111 of file portmux_gpio_regs.h.

#define GPIO_OSRR0S 0x0134

Slew Rate 0 Set.

Definition at line 110 of file portmux_gpio_regs.h.

#define GPIO_OSRR0T 0x013c

Slew Rate 0 Toggle.

Definition at line 112 of file portmux_gpio_regs.h.

#define GPIO_OVR 0x0050

Output Value.

Definition at line 66 of file portmux_gpio_regs.h.

#define GPIO_OVRC 0x0058

Output Value Clear.

Definition at line 68 of file portmux_gpio_regs.h.

#define GPIO_OVRS 0x0054

Output Value Set.

Definition at line 67 of file portmux_gpio_regs.h.

#define GPIO_OVRT 0x005c

Output Value Toggle.

Definition at line 69 of file portmux_gpio_regs.h.

#define GPIO_PDER 0x0080

Pull-down Enable.

Definition at line 75 of file portmux_gpio_regs.h.

#define GPIO_PDERC 0x0088

Pull-down Enable Clear.

Definition at line 77 of file portmux_gpio_regs.h.

#define GPIO_PDERS 0x0084

Pull-down Enable Set.

Definition at line 76 of file portmux_gpio_regs.h.

#define GPIO_PDERT 0x008c

Pull-down Enable Toggle.

Definition at line 78 of file portmux_gpio_regs.h.

#define GPIO_PMR0 0x0010

Periph Mux 0.

Definition at line 54 of file portmux_gpio_regs.h.

#define GPIO_PMR0C 0x0018

Periph Mux 0 Clear.

Definition at line 56 of file portmux_gpio_regs.h.

#define GPIO_PMR0S 0x0014

Periph Mux 0 Set.

Definition at line 55 of file portmux_gpio_regs.h.

#define GPIO_PMR0T 0x001c

Periph Mux 0 Toggle.

Definition at line 57 of file portmux_gpio_regs.h.

#define GPIO_PMR1 0x0020

Periph Mux 1.

Definition at line 58 of file portmux_gpio_regs.h.

#define GPIO_PMR1C 0x0028

Periph Mux 1 Clear.

Definition at line 60 of file portmux_gpio_regs.h.

#define GPIO_PMR1S 0x0024

Periph Mux 1 Set.

Definition at line 59 of file portmux_gpio_regs.h.

#define GPIO_PMR1T 0x002c

Periph Mux 1 Toggle.

Definition at line 61 of file portmux_gpio_regs.h.

#define GPIO_PUER 0x0070

Pull-up Enable.

Definition at line 71 of file portmux_gpio_regs.h.

#define GPIO_PUERC 0x0078

Pull-up Enable Clear.

Definition at line 73 of file portmux_gpio_regs.h.

#define GPIO_PUERS 0x0074

Pull-up Enable Set.

Definition at line 72 of file portmux_gpio_regs.h.

#define GPIO_PUERT 0x007c

Pull-up Enable Toggle.

Definition at line 74 of file portmux_gpio_regs.h.

#define GPIO_PVR 0x0060

Pin Value.

Definition at line 70 of file portmux_gpio_regs.h.

#define gpio_read_reg | ( | port,
|  | reg |  | ) | mmio_read32((port) + GPIO_##reg)

Read GPIO register reg on port.

Definition at line 120 of file portmux_gpio_regs.h.

Referenced by gpio_get_int_flag(), gpio_get_int_mask(), and gpio_int_is_pending().

#define GPIO_STER 0x0160

Schmitt Trigger.

Definition at line 113 of file portmux_gpio_regs.h.

#define GPIO_STERC 0x0168

Schmitt Trigger Clear.

Definition at line 115 of file portmux_gpio_regs.h.

#define GPIO_STERS 0x0164

Schmitt Trigger Set.

Definition at line 114 of file portmux_gpio_regs.h.

#define GPIO_STERT 0x016c

Schmitt Trigger Toggle.

Definition at line 116 of file portmux_gpio_regs.h.

#define GPIO_VERSION 0x01fc

Controller Version.

Definition at line 117 of file portmux_gpio_regs.h.

#define gpio_write_reg | ( | port,
|  | reg,
|  | value |  | ) | mmio_write32((port) + GPIO_##reg, value)

Write value to GPIO register reg on port.

Definition at line 123 of file portmux_gpio_regs.h.

Referenced by gpio_clear_int_flag(), gpio_disable_interrupt(), gpio_enable_interrupt(), portmux_select_gpio(), and portmux_select_peripheral().