summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2010-04-30 12:45:13 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2010-04-30 12:45:13 +0000
commit12027424c0e85f1938bef6967bc0015be241e939 (patch)
treecc5a8689db56f43cb5b9fc472fd580d9a79f317e /c/src/lib/libbsp/powerpc
parent2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff)
downloadrtems-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/ChangeLog8
-rw-r--r--c/src/lib/libbsp/powerpc/gen5200/Makefile.am8
-rw-r--r--c/src/lib/libbsp/powerpc/gen5200/include/irq-config.h44
-rw-r--r--c/src/lib/libbsp/powerpc/gen5200/include/irq.h6
-rw-r--r--c/src/lib/libbsp/powerpc/gen5200/include/mpc5200.h60
-rw-r--r--c/src/lib/libbsp/powerpc/gen5200/preinstall.am6
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