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 24 void at32_select_periph(unsigned int port, unsigned int pin, 25 unsigned int periph, unsigned long flags); 26 void at32_select_gpio(unsigned int pin, unsigned long flags); 27 void at32_deselect_pin(unsigned int pin); 28 void at32_reserve_pin(unsigned int port, u32 pin_mask); 29 30 #endif /* __ASM_ARCH_PORTMUX_H__ */ 31