diff options
author | Haavard Skinnemoen <hskinnemoen@atmel.com> | 2006-12-04 07:46:52 -0500 |
---|---|---|
committer | Haavard Skinnemoen <hskinnemoen@atmel.com> | 2006-12-08 07:06:17 -0500 |
commit | c3e2a79c0bd3e12b67ce5f11cab10951ae8b7f37 (patch) | |
tree | 5d7290aaa6c92c781e3c2dafab44b946d9419af0 /include | |
parent | 68380b581383c028830f79ec2670f4a193854aa6 (diff) |
[AVR32] Portmux API update
Rename portmux_set_func to at32_select_periph, add at32_select_gpio
and add flags parameter to specify the initial state of the pins.
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-avr32/arch-at32ap/at32ap7000.h | 33 | ||||
-rw-r--r-- | include/asm-avr32/arch-at32ap/portmux.h | 20 |
2 files changed, 48 insertions, 5 deletions
diff --git a/include/asm-avr32/arch-at32ap/at32ap7000.h b/include/asm-avr32/arch-at32ap/at32ap7000.h new file mode 100644 index 00000000000..ba85e04553d --- /dev/null +++ b/include/asm-avr32/arch-at32ap/at32ap7000.h | |||
@@ -0,0 +1,33 @@ | |||
1 | /* | ||
2 | * Pin definitions for AT32AP7000. | ||
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_AT32AP7000_H__ | ||
11 | #define __ASM_ARCH_AT32AP7000_H__ | ||
12 | |||
13 | #define GPIO_PERIPH_A 0 | ||
14 | #define GPIO_PERIPH_B 1 | ||
15 | |||
16 | #define NR_GPIO_CONTROLLERS 4 | ||
17 | |||
18 | /* | ||
19 | * Pin numbers identifying specific GPIO pins on the chip. They can | ||
20 | * also be converted to IRQ numbers by passing them through | ||
21 | * gpio_to_irq(). | ||
22 | */ | ||
23 | #define GPIO_PIOA_BASE (0) | ||
24 | #define GPIO_PIOB_BASE (GPIO_PIOA_BASE + 32) | ||
25 | #define GPIO_PIOC_BASE (GPIO_PIOB_BASE + 32) | ||
26 | #define GPIO_PIOD_BASE (GPIO_PIOC_BASE + 32) | ||
27 | |||
28 | #define GPIO_PIN_PA(N) (GPIO_PIOA_BASE + (N)) | ||
29 | #define GPIO_PIN_PB(N) (GPIO_PIOB_BASE + (N)) | ||
30 | #define GPIO_PIN_PC(N) (GPIO_PIOC_BASE + (N)) | ||
31 | #define GPIO_PIN_PD(N) (GPIO_PIOD_BASE + (N)) | ||
32 | |||
33 | #endif /* __ASM_ARCH_AT32AP7000_H__ */ | ||
diff --git a/include/asm-avr32/arch-at32ap/portmux.h b/include/asm-avr32/arch-at32ap/portmux.h index 4d50421262a..83c69057132 100644 --- a/include/asm-avr32/arch-at32ap/portmux.h +++ b/include/asm-avr32/arch-at32ap/portmux.h | |||
@@ -7,10 +7,20 @@ | |||
7 | * it under the terms of the GNU General Public License version 2 as | 7 | * it under the terms of the GNU General Public License version 2 as |
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | */ | 9 | */ |
10 | #ifndef __ASM_AVR32_AT32_PORTMUX_H__ | 10 | #ifndef __ASM_ARCH_PORTMUX_H__ |
11 | #define __ASM_AVR32_AT32_PORTMUX_H__ | 11 | #define __ASM_ARCH_PORTMUX_H__ |
12 | 12 | ||
13 | void portmux_set_func(unsigned int portmux_id, unsigned int pin_id, | 13 | /* |
14 | unsigned int function_id); | 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 /* Enable pull-up */ | ||
19 | #define AT32_GPIOF_OUTPUT 0x00000002 /* Enable output driver */ | ||
20 | #define AT32_GPIOF_HIGH 0x00000004 /* Set output high */ | ||
21 | |||
22 | void at32_select_periph(unsigned int pin, unsigned int periph, | ||
23 | unsigned long flags); | ||
24 | void at32_select_gpio(unsigned int pin, unsigned long flags); | ||
15 | 25 | ||
16 | #endif /* __ASM_AVR32_AT32_PORTMUX_H__ */ | 26 | #endif /* __ASM_ARCH_PORTMUX_H__ */ |