diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-04-30 12:45:13 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-04-30 12:45:13 +0000 |
commit | 12027424c0e85f1938bef6967bc0015be241e939 (patch) | |
tree | cc5a8689db56f43cb5b9fc472fd580d9a79f317e /c/src/lib/libbsp/powerpc | |
parent | 2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-12027424c0e85f1938bef6967bc0015be241e939.tar.bz2 |
2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de>
* include/irq-config.h: Removed file.
* Makefile.am, preinstall.am: Reflect change above. Added interrupt
support modules.
* include/irq.h: Moved defines from 'include/irq-config.h'.
* include/mpc5200.h: Added GPIO PIN defines.
Diffstat (limited to 'c/src/lib/libbsp/powerpc')
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/ChangeLog | 8 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/Makefile.am | 8 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/include/irq-config.h | 44 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/include/irq.h | 6 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/include/mpc5200.h | 60 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/preinstall.am | 6 |
6 files changed, 81 insertions, 51 deletions
diff --git a/c/src/lib/libbsp/powerpc/gen5200/ChangeLog b/c/src/lib/libbsp/powerpc/gen5200/ChangeLog index 17c964c8d9..4428b3fb75 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/ChangeLog +++ b/c/src/lib/libbsp/powerpc/gen5200/ChangeLog @@ -1,3 +1,11 @@ +2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * include/irq-config.h: Removed file. + * Makefile.am, preinstall.am: Reflect change above. Added interrupt + support modules. + * include/irq.h: Moved defines from 'include/irq-config.h'. + * include/mpc5200.h: Added GPIO PIN defines. + 2010-04-07 Thomas Doerfler <Thomas.Doerfler@embedded-brains.de> * start/start.S: fix sdram timing for MPC5200B chips diff --git a/c/src/lib/libbsp/powerpc/gen5200/Makefile.am b/c/src/lib/libbsp/powerpc/gen5200/Makefile.am index 593fe03204..4dad531ecc 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/Makefile.am +++ b/c/src/lib/libbsp/powerpc/gen5200/Makefile.am @@ -71,7 +71,7 @@ libbsp_a_SOURCES += i2c/i2c.c i2c/i2cdrv.c i2c/mpc5200mbus.c i2c/mpc5200mbus.h libbsp_a_SOURCES += ide/idecfg.c ide/pcmcia_ide.c ide/pcmcia_ide.h include_bsp_HEADERS = ../../shared/include/irq-generic.h \ - include/irq-config.h \ + ../../shared/include/irq-info.h \ include/irq.h \ include/i2cdrv.h \ include/i2c.h \ @@ -82,10 +82,12 @@ include_bsp_HEADERS = ../../shared/include/irq-generic.h \ # irq libbsp_a_SOURCES += include/irq.h \ - include/irq-config.h \ irq/irq.c \ ../../shared/src/irq-generic.c \ - ../../shared/src/irq-legacy.c + ../../shared/src/irq-legacy.c \ + ../../shared/src/irq-info.c \ + ../../shared/src/irq-shell.c \ + ../../shared/src/irq-server.c # mscan libbsp_a_SOURCES += mscan/mscan.c mscan/mscan-base.c mscan/mscan.h mscan/mscan_int.h diff --git a/c/src/lib/libbsp/powerpc/gen5200/include/irq-config.h b/c/src/lib/libbsp/powerpc/gen5200/include/irq-config.h deleted file mode 100644 index bf50e06ad8..0000000000 --- a/c/src/lib/libbsp/powerpc/gen5200/include/irq-config.h +++ /dev/null @@ -1,44 +0,0 @@ -/** - * @file - * - * @ingroup bsp_interrupt - * - * @brief BSP interrupt support configuration. - */ - -/* - * Copyright (c) 2008 - * Embedded Brains GmbH - * Obere Lagerstr. 30 - * D-82178 Puchheim - * Germany - * rtems@embedded-brains.de - * - * The license and distribution terms for this file may be found in the file - * LICENSE in this distribution or at http://www.rtems.com/license/LICENSE. - */ - -#ifndef LIBBSP_POWERPC_GEN5200_IRQ_CONFIG_H -#define LIBBSP_POWERPC_GEN5200_IRQ_CONFIG_H - -#include <bsp/irq.h> - -/** - * @addtogroup bsp_interrupt - * - * @{ - */ - -/** - * @brief Minimum vector number. - */ -#define BSP_INTERRUPT_VECTOR_MIN BSP_LOWEST_OFFSET - -/** - * @brief Maximum vector number. - */ -#define BSP_INTERRUPT_VECTOR_MAX BSP_MAX_OFFSET - -/** @} */ - -#endif /* LIBBSP_POWERPC_GEN5200_IRQ_CONFIG_H */ diff --git a/c/src/lib/libbsp/powerpc/gen5200/include/irq.h b/c/src/lib/libbsp/powerpc/gen5200/include/irq.h index a8d516093a..b575fa0d18 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/include/irq.h +++ b/c/src/lib/libbsp/powerpc/gen5200/include/irq.h @@ -4,7 +4,7 @@ | Partially based on the code references which are named below. | | Adaptions, modifications, enhancements and any recent parts of | | the code are: | -| Copyright (c) 2005 | +| Copyright (c) 2005, 2010 | | Embedded Brains GmbH | | Obere Lagerstr. 30 | | D-82178 Puchheim | @@ -206,6 +206,10 @@ typedef enum { #define BSP_CRIT_IRQ_PRIO_LEVELS 4 #define BSP_PERIODIC_TIMER BSP_SIU_IRQ_TMR6 +#define BSP_INTERRUPT_VECTOR_MIN BSP_LOWEST_OFFSET + +#define BSP_INTERRUPT_VECTOR_MAX BSP_MAX_OFFSET + #endif #endif /* LIBBSP_POWERPC_GEN5200_IRQ_H */ diff --git a/c/src/lib/libbsp/powerpc/gen5200/include/mpc5200.h b/c/src/lib/libbsp/powerpc/gen5200/include/mpc5200.h index 8e87b447bf..ac21c3baaa 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/include/mpc5200.h +++ b/c/src/lib/libbsp/powerpc/gen5200/include/mpc5200.h @@ -68,6 +68,9 @@ #ifndef ASM #include <rtems.h> +/* You can directly use the bit value from the MPC5200B User's Manual */ +#define MPC5200_BIT32(bit) (((uint32_t) 1) << (31 - (bit))) + #ifdef __cplusplus extern "C" { #endif @@ -496,14 +499,61 @@ typedef struct mpc5200_ { #define GPIO_PCR_PSC2 0x00000070 #define GPIO_PCR_PSC1 0x00000007 + #define GPIO_S_PIN_IR_USB_CLK MPC5200_BIT32(2) + #define GPIO_S_PIN_IRDA_TX MPC5200_BIT32(3) + #define GPIO_S_PIN_ETH_11 MPC5200_BIT32(4) + #define GPIO_S_PIN_ETH_10 MPC5200_BIT32(5) + #define GPIO_S_PIN_ETH_9 MPC5200_BIT32(6) + #define GPIO_S_PIN_ETH_8 MPC5200_BIT32(7) + #define GPIO_S_PIN_USB1_8 MPC5200_BIT32(12) + #define GPIO_S_PIN_USB1_7 MPC5200_BIT32(13) + #define GPIO_S_PIN_USB1_6 MPC5200_BIT32(14) + #define GPIO_S_PIN_USB1_0 MPC5200_BIT32(15) + #define GPIO_S_PIN_PSC3_7 MPC5200_BIT32(18) + #define GPIO_S_PIN_PSC3_6 MPC5200_BIT32(19) + #define GPIO_S_PIN_PSC3_3 MPC5200_BIT32(20) + #define GPIO_S_PIN_PSC3_2 MPC5200_BIT32(21) + #define GPIO_S_PIN_PSC3_1 MPC5200_BIT32(22) + #define GPIO_S_PIN_PSC3_0 MPC5200_BIT32(23) + #define GPIO_S_PIN_PSC2_3 MPC5200_BIT32(24) + #define GPIO_S_PIN_PSC2_2 MPC5200_BIT32(25) + #define GPIO_S_PIN_PSC2_1 MPC5200_BIT32(26) + #define GPIO_S_PIN_PSC2_0 MPC5200_BIT32(27) + #define GPIO_S_PIN_PSC1_3 MPC5200_BIT32(28) + #define GPIO_S_PIN_PSC1_2 MPC5200_BIT32(29) + #define GPIO_S_PIN_PSC1_1 MPC5200_BIT32(30) + #define GPIO_S_PIN_PSC1_0 MPC5200_BIT32(31) + volatile uint32_t gpiosen; /* + 0x04 */ volatile uint32_t gpiosod; /* + 0x08 */ volatile uint32_t gpiosdd; /* + 0x0C */ volatile uint32_t gpiosdo; /* + 0x10 */ volatile uint32_t gpiosdi; /* + 0x14 */ + + #define GPIO_O_PIN_ETH_7 MPC5200_BIT32(0) + #define GPIO_O_PIN_ETH_6 MPC5200_BIT32(1) + #define GPIO_O_PIN_ETH_5 MPC5200_BIT32(2) + #define GPIO_O_PIN_ETH_4 MPC5200_BIT32(3) + #define GPIO_O_PIN_ETH_3 MPC5200_BIT32(4) + #define GPIO_O_PIN_ETH_2 MPC5200_BIT32(5) + #define GPIO_O_PIN_ETH_1 MPC5200_BIT32(6) + #define GPIO_O_PIN_ETH_0 MPC5200_BIT32(7) + #define GPIO_O_PIN_I2C_3 MPC5200_BIT32(13) + #define GPIO_O_PIN_I2C_0 MPC5200_BIT32(14) + #define GPIO_O_PIN_I2C_1 MPC5200_BIT32(15) + volatile uint32_t gpiooe; /* + 0x18 */ volatile uint32_t gpioodo; /* + 0x1C */ + #define GPIO_I_PIN_ETH_16 MPC5200_BIT32(0) + #define GPIO_I_PIN_ETH_15 MPC5200_BIT32(1) + #define GPIO_I_PIN_ETH_14 MPC5200_BIT32(2) + #define GPIO_I_PIN_ETH_13 MPC5200_BIT32(3) + #define GPIO_I_PIN_USB1_9 MPC5200_BIT32(4) + #define GPIO_I_PIN_PSC3_8 MPC5200_BIT32(5) + #define GPIO_I_PIN_PSC3_5 MPC5200_BIT32(6) + #define GPIO_I_PIN_PSC3_4 MPC5200_BIT32(7) + volatile uint32_t gpiosie; /* + 0x20 */ #define GPIO_SIE_SINT_7_ETH_16_PIN 0x80000000 #define GPIO_SIE_SINT_6_ETH_15_PIN 0x40000000 @@ -590,6 +640,16 @@ typedef struct mpc5200_ { /* * GPIO wakeup registers (MBAR + 0xC00) */ + + #define GPIO_W_PIN_GPIO_WKUP_7 MPC5200_BIT32(0) + #define GPIO_W_PIN_GPIO_WKUP_6 MPC5200_BIT32(1) + #define GPIO_W_PIN_PSC6_1 MPC5200_BIT32(2) + #define GPIO_W_PIN_PSC6_0 MPC5200_BIT32(3) + #define GPIO_W_PIN_ETH_17 MPC5200_BIT32(4) + #define GPIO_W_PIN_PSC3_9 MPC5200_BIT32(5) + #define GPIO_W_PIN_PSC2_4 MPC5200_BIT32(6) + #define GPIO_W_PIN_PSC1_4 MPC5200_BIT32(7) + volatile uint32_t gpiowe; /* + 0x00 */ volatile uint32_t gpiowod; /* + 0x04 */ volatile uint32_t gpiowdd; /* + 0x08 */ diff --git a/c/src/lib/libbsp/powerpc/gen5200/preinstall.am b/c/src/lib/libbsp/powerpc/gen5200/preinstall.am index e146a48d9c..e45d46d96e 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/preinstall.am +++ b/c/src/lib/libbsp/powerpc/gen5200/preinstall.am @@ -93,9 +93,9 @@ $(PROJECT_INCLUDE)/bsp/irq-generic.h: ../../shared/include/irq-generic.h $(PROJE $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-generic.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-generic.h -$(PROJECT_INCLUDE)/bsp/irq-config.h: include/irq-config.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-config.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-config.h +$(PROJECT_INCLUDE)/bsp/irq-info.h: ../../shared/include/irq-info.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-info.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-info.h $(PROJECT_INCLUDE)/bsp/irq.h: include/irq.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq.h |