summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2007-04-26 00:44:27 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2007-04-26 00:44:27 +0000
commit02755ff439dd361643294af1c10937845d848f69 (patch)
treeb2bb0fa9ef736491fa4621775d9a7ef29ea75737
parent8f5b31f86a63ba054b0a463deb7e13910c4140d0 (diff)
downloadnuttx-02755ff439dd361643294af1c10937845d848f69.tar.gz
nuttx-02755ff439dd361643294af1c10937845d848f69.tar.bz2
nuttx-02755ff439dd361643294af1c10937845d848f69.zip
arch/c5471/include and arch/dm320/include are not identical. This is in preparation to replace arch/c5471 and arch/dm320 with arch/arm
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@186 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--nuttx/ChangeLog2
-rw-r--r--nuttx/Makefile16
-rw-r--r--nuttx/TODO11
-rw-r--r--nuttx/arch/c5471/include/arch.h8
-rw-r--r--nuttx/arch/c5471/include/irq.h111
-rw-r--r--nuttx/arch/c5471/include/serial.h4
-rw-r--r--nuttx/arch/c5471/include/types.h8
-rw-r--r--nuttx/arch/dm320/include/arch.h8
-rw-r--r--nuttx/arch/dm320/include/irq.h62
-rw-r--r--nuttx/arch/dm320/include/serial.h4
-rw-r--r--nuttx/arch/dm320/include/types.h8
-rw-r--r--nuttx/configs/c5471evm/defconfig4
-rw-r--r--nuttx/configs/ntosd-dm320/defconfig4
13 files changed, 97 insertions, 153 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index 84ef49523..9c9908655 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -115,4 +115,6 @@
* Verfied c5471 build under Cygwin on WinXP
* Makesystem changes to better support different SoCs.
+ * Made arch/c5471/include and arch/dm320/include identiry in
+ preparation for merging into arch/arm
* Started m68322
diff --git a/nuttx/Makefile b/nuttx/Makefile
index b0af8e938..d27c28f39 100644
--- a/nuttx/Makefile
+++ b/nuttx/Makefile
@@ -87,10 +87,10 @@ include/arch/board: Make.defs include/arch
# Link the configs/<board-name>/src dir to arch/<arch-name>/src/board
$(ARCH_SRC)/board: Make.defs
- @if [ -e $(ARCH_SRC)/board ]; then \
- if [ -h $(ARCH_SRC)/board ]; then \
- rm -f $(ARCH_SRC)/board ; \
- else \
+ @if [ -h $(ARCH_SRC)/board ]; then \
+ rm -f $(ARCH_SRC)/board ; \
+ else \
+ if [ -e $(ARCH_SRC)/board ]; then \
echo "$(ARCH_SRC)/board exists but is not a symbolic link" ; \
exit 1 ; \
fi ; \
@@ -100,10 +100,10 @@ $(ARCH_SRC)/board: Make.defs
# Link arch/<arch-name>/include/<chip-name> to arch/<arch-name>/include/chip
$(ARCH_SRC)/chip: Make.defs
ifneq ($(CONFIG_ARCH_CHIP),)
- @if [ -e $(ARCH_SRC)/chip ]; then \
- if [ -h $(ARCH_SRC)/chip ]; then \
- rm -f $(ARCH_SRC)/chip ; \
- else \
+ @if [ -h $(ARCH_SRC)/chip ]; then \
+ rm -f $(ARCH_SRC)/chip ; \
+ else \
+ if [ -e $(ARCH_SRC)/chip ]; then \
echo "$(ARCH_SRC)/chip exists but is not a symbolic link" ; \
exit 1 ; \
fi ; \
diff --git a/nuttx/TODO b/nuttx/TODO
index 1b229bbb7..b5981f29c 100644
--- a/nuttx/TODO
+++ b/nuttx/TODO
@@ -13,6 +13,7 @@ o Task/Scheduler
MSEC_PER_TICK in sched/clock_internal.h
- Consider implementing wait, waitpid, waitid. At present, a parent has
no information about child tasks.
+- Several APIs do not set errno. Need to review all APIs.
o Memory Managment
- Add an option to free all memory allocated by a task when the task exits.
@@ -24,6 +25,11 @@ o Signals
o pthreads
- pthread_cancel(): Should implemenent cancellation points and pthread_testcancel()
+o Network
+- Port FreeBSD TCP/IP stack
+
+o USB
+
o Libraries
o File system
@@ -37,11 +43,10 @@ o Documentation
o Build system
- Names under arch are incorrect. These should hold processor architectures.
- c5471 should be arm7
- dm320 should be arm9
+ c5471 and dm320 should be arm
pjrc-8051 should be 805x
- SoC-specific logic should be in subdirectories under arch/<processor-name>.
- Eg. arm7/include/c5471 should hold c5471 specific header files
+ Eg. arm/include/c5471 should hold c5471 specific header files
- configs/pjrc-8051 should be configs/pjrc-87c52
o Applications & Tests
diff --git a/nuttx/arch/c5471/include/arch.h b/nuttx/arch/c5471/include/arch.h
index 86d6652b6..a64ecb5e9 100644
--- a/nuttx/arch/c5471/include/arch.h
+++ b/nuttx/arch/c5471/include/arch.h
@@ -1,5 +1,5 @@
/************************************************************
- * arch.h
+ * arch/arch.h
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
@@ -37,8 +37,8 @@
* only indirectly through nuttx/arch.h
*/
-#ifndef __ARCH_C5471_ARCH_H
-#define __ARCH_C5471_ARCH_H
+#ifndef __ARCH_ARCH_H
+#define __ARCH_ARCH_H
/************************************************************
* Included Files
@@ -76,5 +76,5 @@ extern "C" {
}
#endif
-#endif /* __ARCH_C5471_ARCH_H */
+#endif /* __ARCH_ARCH_H */
diff --git a/nuttx/arch/c5471/include/irq.h b/nuttx/arch/c5471/include/irq.h
index b5c810cbe..c838ad402 100644
--- a/nuttx/arch/c5471/include/irq.h
+++ b/nuttx/arch/c5471/include/irq.h
@@ -1,5 +1,5 @@
/************************************************************
- * irq.h
+ * arch/irq.h
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
@@ -37,13 +37,15 @@
* only indirectly through nuttx/irq.h
*/
-#ifndef __ARCH_C5471_IRQ_H
-#define __ARCH_C5471_IRQ_H
+#ifndef __ARCH_IRQ_H
+#define __ARCH_IRQ_H
/************************************************************
* Included Files
************************************************************/
+#include <arch/chip/irq.h>
+
/************************************************************
* Definitions
************************************************************/
@@ -60,68 +62,45 @@
* xcp.regs array:
*/
-#define REG_R0 (0)
-#define REG_R1 (1)
-#define REG_R2 (2)
-#define REG_R3 (3)
-#define REG_R4 (4)
-#define REG_R5 (5
-#define REG_R6 (6)
-#define REG_R7 (7)
-#define REG_R8 (8)
-#define REG_R9 (9)
-#define REG_R10 (10)
-#define REG_R11 (11)
-#define REG_R12 (12)
-#define REG_R13 (13)
-#define REG_R14 (14)
-#define REG_R15 (15)
-#define REG_CPSR (16)
-
-#define XCPTCONTEXT_REGS (17)
-#define XCPTCONTEXT_SIZE (4 * XCPTCONTEXT_REGS)
-
-#define REG_A1 REG_R0
-#define REG_A2 REG_R1
-#define REG_A3 REG_R2
-#define REG_A4 REG_R3
-#define REG_V1 REG_R4
-#define REG_V2 REG_R5
-#define REG_V3 REG_R6
-#define REG_V4 REG_R7
-#define REG_V5 REG_R8
-#define REG_V6 REG_R9
-#define REG_V7 REG_R10
-#define REG_SB REG_R9
-#define REG_SL REG_R10
-#define REG_FP REG_R11
-#define REG_IP REG_R12
-#define REG_SP REG_R13
-#define REG_LR REG_R14
-#define REG_PC REG_R15
-
-/* C5471 Interrupts */
-
-#define C5471_IRQ_TIMER0 0
-#define C5471_IRQ_TIMER1 1
-#define C5471_IRQ_TIMER2 2
-#define C5471_IRQ_GPIO0 3
-#define C5471_IRQ_ETHER 4
-#define C5471_IRQ_KBGPIO_0_7 5
-#define C5471_IRQ_UART 6
-#define C5471_IRQ_UART_IRDA 7
-#define C5471_IRQ_KBGPIO_8_15 8
-#define C5471_IRQ_GPIO3 9
-#define C5471_IRQ_GPIO2 10
-#define C5471_IRQ_I2C 11
-#define C5471_IRQ_GPIO1 12
-#define C5471_IRQ_SPI 13
-#define C5471_IRQ_GPIO_4_19 14
-#define C5471_IRQ_API 15
-
-#define C5471_IRQ_WATCHDOG C5471_IRQ_TIMER0
-#define C5471_IRQ_SYSTIMER C5471_IRQ_TIMER2
-#define NR_IRQS (C5471_IRQ_API+1)
+#define REG_R0 (0)
+#define REG_R1 (1)
+#define REG_R2 (2)
+#define REG_R3 (3)
+#define REG_R4 (4)
+#define REG_R5 (5)
+#define REG_R6 (6)
+#define REG_R7 (7)
+#define REG_R8 (8)
+#define REG_R9 (9)
+#define REG_R10 (10)
+#define REG_R11 (11)
+#define REG_R12 (12)
+#define REG_R13 (13)
+#define REG_R14 (14)
+#define REG_R15 (15)
+#define REG_CPSR (16)
+
+#define XCPTCONTEXT_REGS (17)
+#define XCPTCONTEXT_SIZE (4 * XCPTCONTEXT_REGS)
+
+#define REG_A1 REG_R0
+#define REG_A2 REG_R1
+#define REG_A3 REG_R2
+#define REG_A4 REG_R3
+#define REG_V1 REG_R4
+#define REG_V2 REG_R5
+#define REG_V3 REG_R6
+#define REG_V4 REG_R7
+#define REG_V5 REG_R8
+#define REG_V6 REG_R9
+#define REG_V7 REG_R10
+#define REG_SB REG_R9
+#define REG_SL REG_R10
+#define REG_FP REG_R11
+#define REG_IP REG_R12
+#define REG_SP REG_R13
+#define REG_LR REG_R14
+#define REG_PC REG_R15
/************************************************************
* Public Types
@@ -243,5 +222,5 @@ extern "C" {
#endif
#endif
-#endif /* __ARCH_C5471_IRQ_H */
+#endif /* __ARCH_IRQ_H */
diff --git a/nuttx/arch/c5471/include/serial.h b/nuttx/arch/c5471/include/serial.h
index c10fa4269..1439300b0 100644
--- a/nuttx/arch/c5471/include/serial.h
+++ b/nuttx/arch/c5471/include/serial.h
@@ -1,5 +1,5 @@
/************************************************************
- * serial.h
+ * arch/serial.h
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
@@ -44,7 +44,7 @@
* Definitions
************************************************************/
-/* IOCTL commands supported by the C5471 serial driver */
+/* IOCTL commands supported by the ARM serial driver */
#define TIOCSBRK 0x5401 /* BSD compatibility */
#define TIOCCBRK 0x5402 /* " " " " */
diff --git a/nuttx/arch/c5471/include/types.h b/nuttx/arch/c5471/include/types.h
index 5ec6e81e1..760790327 100644
--- a/nuttx/arch/c5471/include/types.h
+++ b/nuttx/arch/c5471/include/types.h
@@ -1,5 +1,5 @@
/************************************************************
- * types.h
+ * arch/types.h
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
@@ -37,8 +37,8 @@
* only indirectly through sys/types.h
*/
-#ifndef __ARCH_C5471_TYPES_H
-#define __ARCH_C5471_TYPES_H
+#ifndef __ARCH_TYPES_H
+#define __ARCH_TYPES_H
/************************************************************
* Included Files
@@ -79,4 +79,4 @@ typedef unsigned int irqstate_t;
* Global Function Prototypes
************************************************************/
-#endif /* __ARCH_C5471_TYPES_H */
+#endif /* __ARCH_TYPES_H */
diff --git a/nuttx/arch/dm320/include/arch.h b/nuttx/arch/dm320/include/arch.h
index 6b58d0e36..a64ecb5e9 100644
--- a/nuttx/arch/dm320/include/arch.h
+++ b/nuttx/arch/dm320/include/arch.h
@@ -1,5 +1,5 @@
/************************************************************
- * arch.h
+ * arch/arch.h
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
@@ -37,8 +37,8 @@
* only indirectly through nuttx/arch.h
*/
-#ifndef __ARCH_DM320_ARCH_H
-#define __ARCH_DM320_ARCH_H
+#ifndef __ARCH_ARCH_H
+#define __ARCH_ARCH_H
/************************************************************
* Included Files
@@ -76,5 +76,5 @@ extern "C" {
}
#endif
-#endif /* __ARCH_DM320_ARCH_H */
+#endif /* __ARCH_ARCH_H */
diff --git a/nuttx/arch/dm320/include/irq.h b/nuttx/arch/dm320/include/irq.h
index 9e5daafb3..c838ad402 100644
--- a/nuttx/arch/dm320/include/irq.h
+++ b/nuttx/arch/dm320/include/irq.h
@@ -1,5 +1,5 @@
/************************************************************
- * irq.h
+ * arch/irq.h
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
@@ -37,13 +37,15 @@
* only indirectly through nuttx/irq.h
*/
-#ifndef __ARCH_DM320_IRQ_H
-#define __ARCH_DM320_IRQ_H
+#ifndef __ARCH_IRQ_H
+#define __ARCH_IRQ_H
/************************************************************
* Included Files
************************************************************/
+#include <arch/chip/irq.h>
+
/************************************************************
* Definitions
************************************************************/
@@ -100,58 +102,6 @@
#define REG_LR REG_R14
#define REG_PC REG_R15
-/* DM320 Interrupts */
-
-#define DM320_IRQ_TMR0 0 /* IRQ0: Timer 0 Interrupt */
-#define DM320_IRQ_TMR1 1 /* IRQ1: Timer 1 Interrupt */
-#define DM320_IRQ_TMR2 2 /* IRQ2: Timer 2 Interrupt (CCD timer 0) */
-#define DM320_IRQ_TMR3 3 /* IRQ3: Timer 3 Interrupt (CCD timer 1) */
-#define DM320_IRQ_CCDVD0 4 /* IRQ4: CCD VD Interrupt #0 */
-#define DM320_IRQ_CCDVD1 5 /* IRQ5: CCD VD Interrupt #1 */
-#define DM320_IRQ_CCDWEN 6 /* IRQ6: CCD WEN Interrupt */
-#define DM320_IRQ_VENC 7 /* IRQ7: Video Encoder Interrupt */
-#define DM320_IRQ_SP0 8 /* IRQ8: Serial Port 0 Interrupt (with DMA) */
-#define DM320_IRQ_SP1 9 /* IRQ9: Serial Port 1 Interrupt */
-#define DM320_IRQ_EXTHOST 10 /* IRQ10: External host interrupt */
-#define DM320_IRQ_IMGBUF 11 /* IRQ11: Image Buffer */
-#define DM320_IRQ_UART0 12 /* IRQ12: UART0 Interrupt */
-#define DM320_IRQ_UART1 13 /* IRQ13: UART1 Interrupt */
-#define DM320_IRQ_USB0 14 /* IRQ14: USB 0 Interrupt (DMA) */
-#define DM320_IRQ_USB1 15 /* IRQ15: USB 1 Interrupt (Core) */
-#define DM320_IRQ_VLYNQ 16 /* IRQ16: VLYNQ Interrupt */
-#define DM320_IRQ_MTC0 17 /* IRQ17: Memory Traffic Controller 0 (DMA) */
-#define DM320_IRQ_MTC1 18 /* IRQ18: Memory Traffic Controller 1 (CFC_RDY) */
-#define DM320_IRQ_MMCSD0 19 /* IRQ19: MMC/SD or MS 0 Interrupt */
-#define DM320_IRQ_MMCSD1 20 /* IRQ20: MMC/SD or MS 1 Interrupt */
-#define DM320_IRQ_EXT0 21 /* IRQ21: External Interrupt #0 (GIO0) */
-#define DM320_IRQ_EXT1 22 /* IRQ22: External Interrupt #1 (GIO1) */
-#define DM320_IRQ_EXT2 23 /* IRQ23: External Interrupt #2 (GIO2) */
-#define DM320_IRQ_EXT3 24 /* IRQ24: External Interrupt #3 (GIO3) */
-#define DM320_IRQ_EXT4 25 /* IRQ25: External Interrupt #4 (GIO4) */
-#define DM320_IRQ_EXT5 26 /* IRQ26: External Interrupt #5 (GIO5) */
-#define DM320_IRQ_EXT6 27 /* IRQ27: External Interrupt #6 (GIO6) */
-#define DM320_IRQ_EXT7 28 /* IRQ28: External Interrupt #7 (GIO7) */
-#define DM320_IRQ_EXT8 29 /* IRQ29: External Interrupt #8 (GIO8) */
-#define DM320_IRQ_EXT9 30 /* IRQ30: External Interrupt #9 (GIO9) */
-#define DM320_IRQ_EXT10 31 /* IRQ31: External Interrupt #10 (GIO10) */
-#define DM320_IRQ_EXT11 32 /* IRQ32: External Interrupt #11 (GIO11) */
-#define DM320_IRQ_EXT12 33 /* IRQ33: External Interrupt #12 (GIO12) */
-#define DM320_IRQ_EXT13 34 /* IRQ34: External Interrupt #13 (GIO13) */
-#define DM320_IRQ_EXT14 35 /* IRQ35: External Interrupt #14 (GIO14) */
-#define DM320_IRQ_EXT15 36 /* IRQ36: External Interrupt #15 (GIO15) */
-#define DM320_IRQ_PREV0 37 /* IRQ37: Preview Engine 0 (Preview Over) */
-#define DM320_IRQ_PREV1 38 /* IRQ38: Preview Engine 1 (Preview Historgram Over) */
-#define DM320_IRQ_WDT 39 /* IRQ39: Watchdog Timer Interrupt */
-#define DM320_IRQ_I2C 40 /* IRQ40: I2C Interrupt */
-#define DM320_IRQ_CLKC 41 /* IRQ41: Clock controller Interrupt (wake up) */
-#define DM320_IRQ_E2ICE 42 /* IRQ42: Embedded ICE Interrupt */
-#define DM320_IRQ_ARMCOMRX 43 /* IRQ43: ARMCOMM Receive Interrupt */
-#define DM320_IRQ_ARMCOMTX 44 /* IRQ44: ARMCOMM Transmit Interrupt */
-#define DM320_IRQ_RSV 45 /* IRQ45: Reserved Interrupt */
-
-#define DM320_IRQ_SYSTIMER DM320_IRQ_TMR0
-#define NR_IRQS (DM320_IRQ_RSV+1)
-
/************************************************************
* Public Types
************************************************************/
@@ -272,5 +222,5 @@ extern "C" {
#endif
#endif
-#endif /* __ARCH_DM320_IRQ_H */
+#endif /* __ARCH_IRQ_H */
diff --git a/nuttx/arch/dm320/include/serial.h b/nuttx/arch/dm320/include/serial.h
index d9cc1ba89..1439300b0 100644
--- a/nuttx/arch/dm320/include/serial.h
+++ b/nuttx/arch/dm320/include/serial.h
@@ -1,5 +1,5 @@
/************************************************************
- * serial.h
+ * arch/serial.h
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
@@ -44,7 +44,7 @@
* Definitions
************************************************************/
-/* IOCTL commands supported by the DM320 serial driver */
+/* IOCTL commands supported by the ARM serial driver */
#define TIOCSBRK 0x5401 /* BSD compatibility */
#define TIOCCBRK 0x5402 /* " " " " */
diff --git a/nuttx/arch/dm320/include/types.h b/nuttx/arch/dm320/include/types.h
index 740f4590f..760790327 100644
--- a/nuttx/arch/dm320/include/types.h
+++ b/nuttx/arch/dm320/include/types.h
@@ -1,5 +1,5 @@
/************************************************************
- * types.h
+ * arch/types.h
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
@@ -37,8 +37,8 @@
* only indirectly through sys/types.h
*/
-#ifndef __ARCH_DM320_TYPES_H
-#define __ARCH_DM320_TYPES_H
+#ifndef __ARCH_TYPES_H
+#define __ARCH_TYPES_H
/************************************************************
* Included Files
@@ -79,4 +79,4 @@ typedef unsigned int irqstate_t;
* Global Function Prototypes
************************************************************/
-#endif /* __ARCH_DM320_TYPES_H */
+#endif /* __ARCH_TYPES_H */
diff --git a/nuttx/configs/c5471evm/defconfig b/nuttx/configs/c5471evm/defconfig
index 3fd6a2e5d..ac24faf82 100644
--- a/nuttx/configs/c5471evm/defconfig
+++ b/nuttx/configs/c5471evm/defconfig
@@ -40,6 +40,8 @@
# CONFIG_ARCH_name - for use in C code. This identifies the
# particular chip or SoC that the architecture is implemented
# in.
+# CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
+# CONFIG_ARCH_CHIP_name - For use in C code
# CONFIG_ARCH_BOARD - identifies the configs subdirectory and, hence,
# the board that supports the particular chip or SoC.
# CONFIG_ARCH_BOARD_name - for use in C code
@@ -51,6 +53,8 @@
#
CONFIG_ARCH=c5471
CONFIG_ARCH_C5471=y
+CONFIG_ARCH_CHIP=c5471
+CONFIG_ARCH_CHIP_C5471=y
CONFIG_ARCH_BOARD=c5471evm
CONFIG_ARCH_BOARD_C5471EVM=y
CONFIG_ROM_VECTORS=n
diff --git a/nuttx/configs/ntosd-dm320/defconfig b/nuttx/configs/ntosd-dm320/defconfig
index bb20353e0..d2b62134a 100644
--- a/nuttx/configs/ntosd-dm320/defconfig
+++ b/nuttx/configs/ntosd-dm320/defconfig
@@ -40,6 +40,8 @@
# CONFIG_ARCH_name - for use in C code. This identifies the
# particular chip or SoC that the architecture is implemented
# in.
+# CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
+# CONFIG_ARCH_CHIP_name - For use in C code
# CONFIG_ARCH_BOARD - identifies the configs subdirectory and, hence,
# the board that supports the particular chip or SoC.
# CONFIG_ARCH_BOARD_name - for use in C code
@@ -49,6 +51,8 @@
#
CONFIG_ARCH=dm320
CONFIG_ARCH_DM320=y
+CONFIG_ARCH_CHIP=dm320
+CONFIG_ARCH_CHIP_DM320=y
CONFIG_ARCH_BOARD=ntosd-dm320
CONFIG_ARCH_BOARD_NTOSD_DM320=y
CONFIG_ROM_VECTORS=n