aboutsummaryrefslogtreecommitdiff
path: root/nuttx/arch
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-01-18 22:42:37 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-01-18 22:42:37 +0000
commit53e8b454bf671e2b7e2cfe1898468543ab231984 (patch)
tree5b8061bd33b9ad2079b3deb5c324c6f0d6e7f92c /nuttx/arch
parenteb1e5b46af1a5161017553941970163995e00505 (diff)
downloadpx4-firmware-53e8b454bf671e2b7e2cfe1898468543ab231984.tar.gz
px4-firmware-53e8b454bf671e2b7e2cfe1898468543ab231984.tar.bz2
px4-firmware-53e8b454bf671e2b7e2cfe1898468543ab231984.zip
Add configuration for Wave Share Open1788 (fragmentary)
git-svn-id: http://svn.code.sf.net/p/nuttx/code/trunk@5537 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch')
-rw-r--r--nuttx/arch/Kconfig125
-rw-r--r--nuttx/arch/arm/src/lpc17xx/Kconfig8
-rw-r--r--nuttx/arch/arm/src/lpc31xx/Kconfig85
-rw-r--r--nuttx/arch/arm/src/lpc31xx/lpc31_allocateheap.c32
-rw-r--r--nuttx/arch/arm/src/lpc31xx/lpc31_boot.c6
-rw-r--r--nuttx/arch/arm/src/lpc31xx/lpc31_memorymap.h8
6 files changed, 173 insertions, 91 deletions
diff --git a/nuttx/arch/Kconfig b/nuttx/arch/Kconfig
index d43137adb..c0f235c5d 100644
--- a/nuttx/arch/Kconfig
+++ b/nuttx/arch/Kconfig
@@ -103,6 +103,131 @@ source arch/x86/Kconfig
source arch/z16/Kconfig
source arch/z80/Kconfig
+comment "External Memory Configuration"
+
+config ARCH_HAVE_EXTNAND
+ bool
+
+config ARCH_HAVE_EXTNOR
+ bool
+
+config ARCH_HAVE_EXTDRAM
+ bool
+
+config ARCH_HAVE_EXTSRAM0
+ bool
+
+config ARCH_HAVE_EXTSRAM1
+ bool
+
+config ARCH_EXTNAND
+ bool "Configure external NAND"
+ default n
+ depends on ARCH_HAVE_EXTNAND
+ ---help---
+ Configure external NAND memory and, if applicable, map then external
+ NAND into the memory map.
+
+if ARCH_EXTNAND
+
+config ARCH_EXTNANDSIZE
+ int "External NAND size"
+ default 0
+ ---help---
+ Size of the external NAND in bytes.
+
+endif
+
+config ARCH_EXTNOR
+ bool "Configure external NOR memory"
+ default n
+ depends on ARCH_HAVE_EXTNOR
+ ---help---
+ Configure external NOR memory and, if applicable, map then external
+ NOR into the memory map.
+
+if ARCH_EXTNOR
+
+config ARCH_EXTNORSIZE
+ int "External NOR size"
+ default 0
+ ---help---
+ Size of the external NOR in bytes.
+
+endif
+
+config ARCH_EXTDRAM
+ bool "Configure external DRAM"
+ default n
+ depends on ARCH_HAVE_EXTDRAM
+ ---help---
+ Configure external DRAM memory and, if applicable, map then external
+ DRAM into the memory map.
+
+if ARCH_EXTDRAM
+
+config ARCH_EXTDRAMSIZE
+ int "External SDRAM size"
+ default 0
+ ---help---
+ Size of the external SDRAM in bytes.
+
+config ARCH_EXTDRAMHEAP
+ bool "Add external SDRAM to the heap"
+ default y
+ ---help---
+ Add the external SDRAM into the heap.
+
+endif
+
+config ARCH_EXTSRAM0
+ bool "Configure external SRAM (Bank 0)"
+ default n
+ depends on ARCH_HAVE_EXTSRAM0
+ ---help---
+ Configure external SRAM Bank 0 memory and, if applicable, map then
+ external SRAM Bank 0 into the memory map.
+
+if ARCH_EXTSRAM0
+
+config ARCH_EXTSRAM0SIZE
+ int "External SRAM size"
+ default 0
+ ---help---
+ Size of the external SRAM Bank 0 in bytes.
+
+config ARCH_EXTSRAM0HEAP
+ bool "Add external SRAM (Bank 0) to the heap"
+ default y
+ ---help---
+ Add external SRAM Bank 0 into the heap.
+
+endif
+
+config ARCH_EXTSRAM1
+ bool "Configure external SRAM (Bank 1)"
+ default n
+ depends on ARCH_HAVE_EXTSRAM1
+ ---help---
+ Configure external SRAM Bank 1 memory and, if applicable, map then
+ external SRAM Bank 1 into the memory map.
+
+if ARCH_EXTSRAM1
+
+config ARCH_EXTSRAM1SIZE
+ int "External SRAM1 size"
+ default 0
+ ---help---
+ Size of the external SRAM Bank 1 in bytes.
+
+config ARCH_EXTSRAM1HEAP
+ bool "Add external SRAM (Bank 1) to the heap"
+ default y
+ ---help---
+ Add external SRAM Bank 1 into the heap.
+
+endif
+
comment "Architecture Options"
config ARCH_NOINTC
diff --git a/nuttx/arch/arm/src/lpc17xx/Kconfig b/nuttx/arch/arm/src/lpc17xx/Kconfig
index b7dd7ac34..22ba6fa04 100644
--- a/nuttx/arch/arm/src/lpc17xx/Kconfig
+++ b/nuttx/arch/arm/src/lpc17xx/Kconfig
@@ -104,9 +104,17 @@ config ARCH_FAMILY_LPC176X
config ARCH_FAMILY_LPC177X
bool
+ select ARCH_HAVE_EXTNAND
+ select ARCH_HAVE_EXTSRAM0
+ select ARCH_HAVE_EXTDRAM
+ select ARCH_HAVE_EXTNOR
config ARCH_FAMILY_LPC178X
bool
+ select ARCH_HAVE_EXTNAND
+ select ARCH_HAVE_EXTSRAM0
+ select ARCH_HAVE_EXTDRAM
+ select ARCH_HAVE_EXTNOR
menu "LPC17xx Peripheral Support"
diff --git a/nuttx/arch/arm/src/lpc31xx/Kconfig b/nuttx/arch/arm/src/lpc31xx/Kconfig
index ad7bf3d4e..531cea0af 100644
--- a/nuttx/arch/arm/src/lpc31xx/Kconfig
+++ b/nuttx/arch/arm/src/lpc31xx/Kconfig
@@ -12,15 +12,31 @@ choice
config ARCH_CHIP_LPC3130
bool "LPC3130"
+ select ARCH_HAVE_EXTNAN
+ select ARCH_HAVE_EXTSRAM0
+ select ARCH_HAVE_EXTSRAM1
+ select ARCH_HAVE_EXTDRAM
config ARCH_CHIP_LPC3131
bool "LPC3131"
+ select ARCH_HAVE_EXTNAND
+ select ARCH_HAVE_EXTSRAM0
+ select ARCH_HAVE_EXTSRAM1
+ select ARCH_HAVE_EXTDRAM
config ARCH_CHIP_LPC3152
bool "LPC3152"
+ select ARCH_HAVE_EXTNAND
+ select ARCH_HAVE_EXTSRAM0
+ select ARCH_HAVE_EXTSRAM1
+ select ARCH_HAVE_EXTDRAM
config ARCH_CHIP_LPC3154
bool "LPC3154"
+ select ARCH_HAVE_EXTNAND
+ select ARCH_HAVE_EXTSRAM0
+ select ARCH_HAVE_EXTSRAM1
+ select ARCH_HAVE_EXTDRAM
endchoice
@@ -48,79 +64,12 @@ config LPC31_BUILDROOT
endchoice
-menu "LPC31xx Memory Mapping"
-
-config LPC31_EXTNAND
- bool "Map external NAND"
- default n
- ---help---
- Map external NAND into the memory map.
-
-config LPC31_EXTSDRAM
- bool "Map external SDRAM"
- default n
- ---help---
- Map external SDRAM into the memory map.
-
-config LPC31_EXTSDRAMHEAP
- bool "Add external SDRAM to the heap"
- default y
- depends on LPC31_EXTSDRAM
- ---help---
- Add external SDRAM into the heap.
-
-config LPC31_EXTSDRAMSIZE
- int "External SDRAM size"
- depends on LPC31_EXTSDRAM
- ---help---
- Size of the external SDRAM.
-
config LPC31_SDRAMHCLK
int "External SDRAM HCLK"
- depends on LPC31_EXTSDRAM
+ depends on ARCH_EXTSDRAM
---help---
The SDRAM HCLK may be specified here (if not, it will be calculated).
-config LPC31_EXTSRAM0
- bool "Map external SRAM0"
- default n
- ---help---
- Map external SRAM0 into the memory map.
-
-config LPC31_EXTSRAM0HEAP
- bool "Add external SRAM0 to the heap"
- default y
- depends on LPC31_EXTSRAM0
- ---help---
- Add external SRAM0 into the heap.
-
-config LPC31_EXTSRAM0SIZE
- int "External SRAM size"
- depends on LPC31_EXTSRAM0
- ---help---
- Size of the external SRAM.
-
-config LPC31_EXTSRAM1
- bool "Map external SRAM0"
- default n
- ---help---
- Map external SRAM1 into the memory map.
-
-config LPC31_EXTSRAM1HEAP
- bool "Add external SRAM1 to the heap"
- default y
- depends on LPC31_EXTSRAM1
- ---help---
- Add external SRAM1 into the heap.
-
-config LPC31_EXTSRAM1SIZE
- int "External SRAM1 size"
- depends on LPC31_EXTSRAM1
- ---help---
- Size of the external SRAM1.
-
-endmenu
-
menu "LPC31xx Peripheral Support"
config LPC31_UART
diff --git a/nuttx/arch/arm/src/lpc31xx/lpc31_allocateheap.c b/nuttx/arch/arm/src/lpc31xx/lpc31_allocateheap.c
index df3c897e1..58772a630 100644
--- a/nuttx/arch/arm/src/lpc31xx/lpc31_allocateheap.c
+++ b/nuttx/arch/arm/src/lpc31xx/lpc31_allocateheap.c
@@ -67,31 +67,31 @@
* memory regions that we have been asked to add to the heap.
*/
-#if defined(CONFIG_LPC31_EXTSRAM0) && defined(CONFIG_LPC31_EXTSRAM0HEAP)
-# if defined(CONFIG_LPC31_EXTSRAM1) && defined(CONFIG_LPC31_EXTSRAM1HEAP)
-# if defined(CONFIG_LPC31_EXTSDRAM) && defined(CONFIG_LPC31_EXTSDRAMHEAP)
+#if defined(CONFIG_ARCH_EXTSRAM0) && defined(CONFIG_ARCH_EXTSRAM0HEAP)
+# if defined(CONFIG_ARCH_EXTSRAM1) && defined(CONFIG_ARCH_EXTSRAM1HEAP)
+# if defined(CONFIG_ARCH_EXTDRAM) && defined(CONFIG_ARCH_EXTDRAMHEAP)
# /* SRAM+EXTSRAM0+EXTSRAM1+EXTSDRAM */
# define LPC31_NEXT_REGIONS 4
# else
# /* SRAM+EXTSRAM0+EXTSRAM1 */
# define LPC31_NEXT_REGIONS 3
# endif
-# elif defined(CONFIG_LPC31_EXTSDRAM) && defined(CONFIG_LPC31_EXTSDRAMHEAP)
+# elif defined(CONFIG_ARCH_EXTDRAM) && defined(CONFIG_ARCH_EXTDRAMHEAP)
# /* SRAM+EXTSRAM0+EXTSDRAM */
# define LPC31_NEXT_REGIONS 3
# else
# /* SRAM+EXTSRAM0 */
# define LPC31_NEXT_REGIONS 2
# endif
-#elif defined(CONFIG_LPC31_EXTSRAM1) && defined(CONFIG_LPC31_EXTSRAM1HEAP)
-# if defined(CONFIG_LPC31_EXTSDRAM) && defined(CONFIG_LPC31_EXTSDRAMHEAP)
+#elif defined(CONFIG_ARCH_EXTSRAM1) && defined(CONFIG_ARCH_EXTSRAM1HEAP)
+# if defined(CONFIG_ARCH_EXTDRAM) && defined(CONFIG_ARCH_EXTDRAMHEAP)
# /* SRAM+EXTSRAM1+EXTSDRAM */
# define LPC31_NEXT_REGIONS 3
# else
# /* SRAM+EXTSRAM1 */
# define LPC31_NEXT_REGIONS 2
# endif
-#elif defined(CONFIG_LPC31_EXTSDRAM) && defined(CONFIG_LPC31_EXTSDRAMHEAP)
+#elif defined(CONFIG_ARCH_EXTDRAM) && defined(CONFIG_ARCH_EXTDRAMHEAP)
# /* SRAM+EXTSDRAM */
# define LPC31_NEXT_REGIONS 2
#else
@@ -105,13 +105,13 @@
# else
# error "CONFIG_MM_REGIONS is too large for the selected memory regions"
# endif
-# if defined(CONFIG_LPC31_EXTSRAM0) && defined(CONFIG_LPC31_EXTSRAM0HEAP)
+# if defined(CONFIG_ARCH_EXTSRAM0) && defined(CONFIG_ARCH_EXTSRAM0HEAP)
# error "External SRAM0 is selected for heap"
# endif
-# if defined(CONFIG_LPC31_EXTSRAM1) && defined(CONFIG_LPC31_EXTSRAM1HEAP)
+# if defined(CONFIG_ARCH_EXTSRAM1) && defined(CONFIG_ARCH_EXTSRAM1HEAP)
# error "External SRAM1 is selected for heap"
# endif
-# if defined(CONFIG_LPC31_EXTSDRAM) && defined(CONFIG_LPC31_EXTSDRAMHEAP)
+# if defined(CONFIG_ARCH_EXTDRAM) && defined(CONFIG_ARCH_EXTDRAMHEAP)
# error "External SRAM1 is selected for heap"
# endif
#endif
@@ -191,16 +191,16 @@ void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
#if CONFIG_MM_REGIONS > 1
void up_addregion(void)
{
-#if defined(CONFIG_LPC31_EXTSRAM0) && defined(CONFIG_LPC31_EXTSRAM0HEAP)
- mm_addregion((FAR void*)LPC31_EXTSRAM0_VSECTION, CONFIG_LPC31_EXTSRAM0SIZE);
+#if defined(CONFIG_ARCH_EXTSRAM0) && defined(CONFIG_ARCH_EXTSRAM0HEAP)
+ mm_addregion((FAR void*)LPC31_EXTSRAM0_VSECTION, CONFIG_ARCH_EXTSRAM0SIZE);
#endif
-#if defined(CONFIG_LPC31_EXTSRAM1) && defined(CONFIG_LPC31_EXTSRAM1HEAP)
- mm_addregion((FAR void*)LPC31_EXTSRAM1_VSECTION, CONFIG_LPC31_EXTSRAM1SIZE);
+#if defined(CONFIG_ARCH_EXTSRAM1) && defined(CONFIG_ARCH_EXTSRAM1HEAP)
+ mm_addregion((FAR void*)LPC31_EXTSRAM1_VSECTION, CONFIG_ARCH_EXTSRAM1SIZE);
#endif
-#if defined(CONFIG_LPC31_EXTSDRAM) && defined(CONFIG_LPC31_EXTSDRAMHEAP)
- mm_addregion((FAR void*)LPC31_EXTSDRAM_VSECTION, CONFIG_LPC31_EXTSDRAMSIZE);
+#if defined(CONFIG_ARCH_EXTDRAM) && defined(CONFIG_ARCH_EXTDRAMHEAP)
+ mm_addregion((FAR void*)LPC31_EXTSDRAM_VSECTION, CONFIG_ARCH_EXTDRAMSIZE);
#endif
}
#endif
diff --git a/nuttx/arch/arm/src/lpc31xx/lpc31_boot.c b/nuttx/arch/arm/src/lpc31xx/lpc31_boot.c
index 7abe15d4d..a7c1acdc8 100644
--- a/nuttx/arch/arm/src/lpc31xx/lpc31_boot.c
+++ b/nuttx/arch/arm/src/lpc31xx/lpc31_boot.c
@@ -112,17 +112,17 @@ static const struct section_mapping_s section_mapping[] =
LPC31_MCI_MMUFLAGS, LPC31_MCI_NSECTIONS},
{ LPC31_USBOTG_PSECTION, LPC31_USBOTG_VSECTION,
LPC31_USBOTG_MMUFLAGS, LPC31_USBOTG_NSECTIONS},
-#if defined(CONFIG_LPC31_EXTSRAM0) && CONFIG_LPC31_EXTSRAM0SIZE > 0
+#if defined(CONFIG_ARCH_EXTSRAM0) && CONFIG_ARCH_EXTSRAM0SIZE > 0
{ LPC31_EXTSRAM_PSECTION, LPC31_EXTSRAM_VSECTION,
LPC31_EXTSDRAM_MMUFLAGS, LPC31_EXTSRAM_NSECTIONS},
#endif
-#if defined(CONFIG_LPC31_EXTSDRAM) && CONFIG_LPC31_EXTSDRAMSIZE > 0
+#if defined(CONFIG_ARCH_EXTDRAM) && CONFIG_ARCH_EXTDRAMSIZE > 0
{ LPC31_EXTSDRAM0_PSECTION, LPC31_EXTSDRAM0_VSECTION,
LPC31_EXTSDRAM_MMUFLAGS, LPC31_EXTSDRAM0_NSECTIONS},
#endif
{ LPC31_INTC_PSECTION, LPC31_INTC_VSECTION,
LPC31_INTC_MMUFLAGS, LPC31_INTC_NSECTIONS},
-#ifdef CONFIG_LPC31_EXTNAND
+#ifdef CONFIG_ARCH_EXTNAND
{ LPC31_NAND_PSECTION, LPC31_NAND_VSECTION
LPC31_NAND_MMUFLAGS, LPC31_NAND_NSECTIONS},
#endif
diff --git a/nuttx/arch/arm/src/lpc31xx/lpc31_memorymap.h b/nuttx/arch/arm/src/lpc31xx/lpc31_memorymap.h
index b5155df89..8d13019ac 100644
--- a/nuttx/arch/arm/src/lpc31xx/lpc31_memorymap.h
+++ b/nuttx/arch/arm/src/lpc31xx/lpc31_memorymap.h
@@ -81,7 +81,7 @@
/* 0x60001000-0x6fffffff: Reserved */
#define LPC31_NAND_PSECTION 0x70000000 /* 0x70000000-0x700007ff: NANDFLASH Ctrl 2Kb */
/* 0x70000800-0xffffffff: Reserved */
-#ifdef CONFIG_LPC31_EXTNAND /* End of the physical address space */
+#ifdef CONFIG_ARCH_EXTNAND /* End of the physical address space */
# define LPC31_LAST_PSECTION (LPC31_NAND_PSECTION + (1 << 20))
#else
# define LPC31_LAST_PSECTION (LPC31_INTC_PSECTION + (1 << 20))
@@ -176,8 +176,8 @@
* the size of the SDRAM installed.
*/
-#if defined(CONFIG_LPC31_EXTSDRAM) && CONFIG_LPC31_EXTSDRAMSIZE > 0
-# define LPC31_EXTSDRAM0_NSECTIONS _NSECTIONS(CONFIG_LPC31_EXTSDRAMSIZE)
+#if defined(CONFIG_ARCH_EXTDRAM) && CONFIG_ARCH_EXTDRAMSIZE > 0
+# define LPC31_EXTSDRAM0_NSECTIONS _NSECTIONS(CONFIG_ARCH_EXTDRAMSIZE)
#endif
/* Section MMU Flags */
@@ -233,7 +233,7 @@
# define LPC31_INTC_VSECTION 0x60000000 /* 0x60000000-0x60000fff: Interrupt controller 4Kb */
# define LPC31_NAND_VSECTION 0x70000000 /* 0x70000000-0x700007ff: NANDFLASH Ctrl 2Kb */
#
-# ifdef CONFIG_LPC31_EXTNAND /* End of the virtual address space */
+# ifdef CONFIG_ARCH_EXTNAND /* End of the virtual address space */
# define LPC31_LAST_VSECTION (LPC31_NAND_VSECTION + (1 << 20))
# else
# define LPC31_LAST_VSECTION (LPC31_INTC_VSECTION + (1 << 20))