diff options
| author | Bellido Nicolas <ml@acolin.be> | 2005-10-28 11:51:40 -0400 |
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-10-28 11:51:40 -0400 |
| commit | 4028ef4cc1fea245906a2dbd4df1ac9f0353ef5f (patch) | |
| tree | 03d87c15a85caaf918e40abc8ab0245a37b362ad | |
| parent | 13b1d677d2c872e2d05ef6241b499b6e1f6f91ba (diff) | |
[ARM] 3037/1: AAED-2000 - Add defines for GPIO registers on external port.
Patch from Bellido Nicolas
The AAED-2000 board has GPIO pins on an external port.
This patch adds the defines, and do the necessary mapping.
Signed-off-by: Nicolas Bellido <ml@acolin.be>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| -rw-r--r-- | arch/arm/mach-aaec2000/aaed2000.c | 7 | ||||
| -rw-r--r-- | include/asm-arm/arch-aaec2000/aaed2000.h | 40 |
2 files changed, 47 insertions, 0 deletions
diff --git a/arch/arm/mach-aaec2000/aaed2000.c b/arch/arm/mach-aaec2000/aaed2000.c index c9d899886648..7b0a1c7d64a9 100644 --- a/arch/arm/mach-aaec2000/aaed2000.c +++ b/arch/arm/mach-aaec2000/aaed2000.c | |||
| @@ -27,6 +27,8 @@ | |||
| 27 | #include <asm/mach/map.h> | 27 | #include <asm/mach/map.h> |
| 28 | #include <asm/mach/irq.h> | 28 | #include <asm/mach/irq.h> |
| 29 | 29 | ||
| 30 | #include <asm/arch/aaed2000.h> | ||
| 31 | |||
| 30 | #include "core.h" | 32 | #include "core.h" |
| 31 | 33 | ||
| 32 | static void __init aaed2000_init_irq(void) | 34 | static void __init aaed2000_init_irq(void) |
| @@ -34,9 +36,14 @@ static void __init aaed2000_init_irq(void) | |||
| 34 | aaec2000_init_irq(); | 36 | aaec2000_init_irq(); |
| 35 | } | 37 | } |
| 36 | 38 | ||
| 39 | static struct map_desc aaed2000_io_desc[] __initdata = { | ||
| 40 | { EXT_GPIO_VBASE, EXT_GPIO_PBASE, EXT_GPIO_LENGTH, MT_DEVICE }, /* Ext GPIO */ | ||
| 41 | }; | ||
| 42 | |||
| 37 | static void __init aaed2000_map_io(void) | 43 | static void __init aaed2000_map_io(void) |
| 38 | { | 44 | { |
| 39 | aaec2000_map_io(); | 45 | aaec2000_map_io(); |
| 46 | iotable_init(aaed2000_io_desc, ARRAY_SIZE(aaed2000_io_desc)); | ||
| 40 | } | 47 | } |
| 41 | 48 | ||
| 42 | MACHINE_START(AAED2000, "Agilent AAED-2000 Development Platform") | 49 | MACHINE_START(AAED2000, "Agilent AAED-2000 Development Platform") |
diff --git a/include/asm-arm/arch-aaec2000/aaed2000.h b/include/asm-arm/arch-aaec2000/aaed2000.h new file mode 100644 index 000000000000..bc76d2badb91 --- /dev/null +++ b/include/asm-arm/arch-aaec2000/aaed2000.h | |||
| @@ -0,0 +1,40 @@ | |||
| 1 | /* | ||
| 2 | * linux/include/asm-arm/arch-aaec2000/aaed2000.h | ||
| 3 | * | ||
| 4 | * AAED-2000 specific bits definition | ||
| 5 | * | ||
| 6 | * Copyright (c) 2005 Nicolas Bellido Y Ortega | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License version 2 as | ||
| 10 | * published by the Free Software Foundation. | ||
| 11 | */ | ||
| 12 | |||
| 13 | #ifndef __ASM_ARCH_AAED2000_H | ||
| 14 | #define __ASM_ARCH_AAED2000_H | ||
| 15 | |||
| 16 | /* External GPIOs. */ | ||
| 17 | |||
| 18 | #define EXT_GPIO_PBASE AAEC_CS3 | ||
| 19 | #define EXT_GPIO_VBASE 0xf8100000 | ||
| 20 | #define EXT_GPIO_LENGTH 0x00001000 | ||
| 21 | |||
| 22 | #define __ext_gpio_p2v(x) ((x) - EXT_GPIO_PBASE + EXT_GPIO_VBASE) | ||
| 23 | #define __ext_gpio_v2p(x) ((x) + EXT_GPIO_PBASE - EXT_GPIO_VBASE) | ||
| 24 | |||
| 25 | #define __EXT_GPIO_REG(x) (*((volatile u32 *)__ext_gpio_p2v(x))) | ||
| 26 | #define __EXT_GPIO_PREG(x) (__ext_gpio_v2p((u32)&(x))) | ||
| 27 | |||
| 28 | #define AAED_EXT_GPIO __EXT_GPIO_REG(EXT_GPIO_PBASE) | ||
| 29 | |||
| 30 | #define AAED_EGPIO_KBD_SCAN 0x00003fff /* Keyboard scan data */ | ||
| 31 | #define AAED_EGPIO_PWR_INT 0x00008fff /* Smart battery charger interrupt */ | ||
| 32 | #define AAED_EGPIO_SWITCHED 0x000f0000 /* DIP Switches */ | ||
| 33 | #define AAED_EGPIO_USB_VBUS 0x00400000 /* USB Vbus sense */ | ||
| 34 | #define AAED_EGPIO_LCD_PWR_EN 0x02000000 /* LCD and backlight PWR enable */ | ||
| 35 | #define AAED_EGPIO_nLED0 0x20000000 /* LED 0 */ | ||
| 36 | #define AAED_EGPIO_nLED1 0x20000000 /* LED 1 */ | ||
| 37 | #define AAED_EGPIO_nLED2 0x20000000 /* LED 2 */ | ||
| 38 | |||
| 39 | |||
| 40 | #endif /* __ARM_ARCH_AAED2000_H */ | ||
