Commit | Line | Data |
---|---|---|
964d219b HS |
1 | /* |
2 | * AT32 portmux interface. | |
3 | * | |
4 | * Copyright (C) 2006 Atmel Corporation | |
5 | * | |
6 | * This program is free software; you can redistribute it and/or modify | |
7 | * it under the terms of the GNU General Public License version 2 as | |
8 | * published by the Free Software Foundation. | |
9 | */ | |
10 | #ifndef __ASM_ARCH_PORTMUX_H__ | |
11 | #define __ASM_ARCH_PORTMUX_H__ | |
12 | ||
13 | /* | |
14 | * Set up pin multiplexing, called from board init only. | |
15 | * | |
16 | * The following flags determine the initial state of the pin. | |
17 | */ | |
18 | #define AT32_GPIOF_PULLUP 0x00000001 /* (not-OUT) Enable pull-up */ | |
19 | #define AT32_GPIOF_OUTPUT 0x00000002 /* (OUT) Enable output driver */ | |
20 | #define AT32_GPIOF_HIGH 0x00000004 /* (OUT) Set output high */ | |
21 | #define AT32_GPIOF_DEGLITCH 0x00000008 /* (IN) Filter glitches */ | |
22 | #define AT32_GPIOF_MULTIDRV 0x00000010 /* Enable multidriver option */ | |
23 | ||
caf18f19 JM |
24 | void at32_select_periph(unsigned int port, unsigned int pin, |
25 | unsigned int periph, unsigned long flags); | |
964d219b | 26 | void at32_select_gpio(unsigned int pin, unsigned long flags); |
ece2678c | 27 | void at32_deselect_pin(unsigned int pin); |
adde42b5 | 28 | void at32_reserve_pin(unsigned int port, u32 pin_mask); |
964d219b HS |
29 | |
30 | #endif /* __ASM_ARCH_PORTMUX_H__ */ |