9
0
Fork 0

Add support for the Neuros production OSD

git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@2883 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
patacongo 2010-08-25 02:05:33 +00:00
parent f8e447a83e
commit 69878a2bcc
11 changed files with 137 additions and 54 deletions

View File

@ -1,7 +1,7 @@
/************************************************************************************
* dm320/dm320_memorymap.h
*
* Copyright (C) 2007, 2009 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2009-2010 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@ -42,6 +42,7 @@
#include <nuttx/config.h>
#include <arch/board/board.h>
#include "arm.h"
/************************************************************************************
@ -56,10 +57,20 @@
* -W = Write buffering only
* -- = Neither
*
* The DM320 only has a single control line for external peripherals.
* To support more than one peripheral, most hardware will use an
* external memory decode logic, so that physical memory regions is
* in the hardware specific files dm320-*.h
* NOTE:
* 1. Most DM320 memory sections can be programmed to lie at different locations in
* the memory map. Therefore, much of the DM320 physical memory map is really
* board-specific and, as such, really belongs in the configs/<board>/include/board.h
* file rather than here.
*
* To handle all cases, this file defines a "default" physical memory map, but
* section address for most regions can be overriden if the same setting is
* defined in the board.h file (These defaults correspond to the product Neuros
* OSD memory configuration).
*
* 2. The DM320 only has a single control line for external peripherals. To support
* more than one peripheral, most hardware will use external memory decode logic,
* so that physical memory regions is in the board-specific files.
*/
#if CONFIG_DRAM_START != 0x01000000
@ -73,18 +84,32 @@
#define DM320_DSP_ONCHIP_RAM_PADDR 0x00040000 /* 128Kb 1 large page -- */
#define DM320_AHB_PADDR 0x00060000 /* 4Kb 1 small page -- */
#define DM320_COPRO_SUB_PADDR 0x00080000 /* 128Kb -- */
#define DM320_FLASH_PSECTION 0x00100000 /* 16Mb many sections -- */
#define DM320_EXT_MEM_PADDR 0x00100000 /* 16Mb flash -- */
#define DM320_SDRAM_PSECTION 0x01000000 /* 496Mb many section -- */
#define DM320_SDRAM_PADDR 0x01000000 /* 496Mb many sections CW */
#define DM320_CFI_PSECTION 0x40000000 /* 16Mb 16 sections -- */
#define DM320_CFI_PADDR 0x40000000 /* 16Mb 16 sections -- */
#define DM320_SSFDC_PSECTION 0x48000000 /* 16Mb 16 sections -- */
#define DM320_SSFDC_PADDR 0x48000000 /* 16Mb 16 sections -- */
#define DM320_CE1_PSECTION 0x50000000 /* 16Mb 16 sections -- */
#define DM320_CE1_PADDR 0x50000000 /* 16Mb 16 sections -- */
#define DM320_CE2_PSECTION 0x60000000 /* 16Mb 16 sections -- */
#define DM320_CE2_PADDR 0x60000000 /* 16Mb 16 sections -- */
#ifndef DM320_FLASH_PSECTION
# define DM320_FLASH_PSECTION 0x00100000 /* 16Mb many sections -- */
# define DM320_EXT_MEM_PADDR 0x00100000 /* 16Mb flash -- */
#endif
#ifndef DM320_FLASH_PSECTION
# define DM320_SDRAM_PSECTION 0x01100000 /* 496Mb many section -- */
# define DM320_SDRAM_PADDR 0x01100000 /* 496Mb many sections CW */
#endif
#ifndef DM320_CFI_PSECTION
# define DM320_CFI_PSECTION 0x40000000 /* 16Mb 16 sections -- */
# define DM320_CFI_PADDR 0x40000000 /* 16Mb 16 sections -- */
#endif
#ifndef DM320_SSFDC_PSECTION
# define DM320_SSFDC_PSECTION 0x48000000 /* 16Mb 16 sections -- */
# define DM320_SSFDC_PADDR 0x48000000 /* 16Mb 16 sections -- */
#endif
#ifndef DM320_CE1_PSECTION
# define DM320_CE1_PSECTION 0x50000000 /* 16Mb 16 sections -- */
# define DM320_CE1_PADDR 0x50000000 /* 16Mb 16 sections -- */
#endif
#ifndef DM320_CE2_PSECTION
# define DM320_CE2_PSECTION 0x60000000 /* 16Mb 16 sections -- */
# define DM320_CE2_PADDR 0x60000000 /* 16Mb 16 sections -- */
#endif
#define DM320_VLYNQ_PSECTION 0x70000000 /* 64MB 64 sections -- */
#define DM320_VLYNQ_PADDR 0x70000000 /* 64MB 64 sections -- */
#define DM320_USBOTG_PSECTION 0x80000000 /* 1Mb 1 section -- */

View File

@ -2,7 +2,9 @@ README
^^^^^^
This is the README file for the port of NuttX to the Neuros OSD
v1.0 Dev Board. References:
v1.0 Dev Board. This port has recently been extended to V1.0
Production board (and that is now the default configuration).
References:
http://www.neurostechnology.com/neuros-developer-community
http://wiki.neurostechnology.com/index.php/OSD_1.0_Developer_Home
@ -328,3 +330,9 @@ DM320 USB Configuration
GIO connected to D+. Support software connect/disconnect.
CONFIG_DMA320_USBDEV_DMA
Enable DM320-specific DMA support
Neuros OSD Configuration Options
CONFIG_ARCH_NTOSD_DEVBOARD - Selects the old NTOSD development board.
The default is the production OSD board which differs in
several ways.

View File

@ -13,6 +13,13 @@ http://wiki.neurostechnology.com/index.php/The_Neuros_and_Open_Source
Status:
^^^^^^^
NOTE: These instructions are for the Neuros development board (and a
rather old version of NuttX),
http://wiki.neurostechnology.com/index.php/OSD_Developer_Board_v1
and have _not_ been updated for the Neuros OSD 1.0 consumer unit
(or for the current version of NuttX),
http://wiki.neurostechnology.com/index.php/Neuros_OSD_1.0
At present, the system only supports a serial console and timer
interrupts so there is not to much that you can do with it. But I
would be happy to work with anyone who is interested in using it.

View File

@ -1,7 +1,7 @@
/************************************************************************************
* arch/board/board.h
*
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2010 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@ -44,6 +44,7 @@
* Definitions
************************************************************************************/
/* Clocking *************************************************************************/
/* This platform has the ARM at 175 MHz and the DSP at 101.25 MHz */
#define DM320_ARM_CLOCK 175500000
@ -60,6 +61,41 @@
#define DM9000_BASE CONFIG_DM9000_BASE
/* Memory Map ***********************************************************************/
/* The Neuros development board has 16MiB RAM starting at 0x01000000 (physical) and
* 8MiB of FLASH. The Neuros OSD 1.0 consumer has 32MiB RAM starting at 0x01100000
* (physical) and 16MiB of FLASH.
*
* FIXME: Flash location may also differ on OSD 1.0 consumer unit!
*/
#ifdef CONFIG_ARCH_NTOSD_DEVBOARD
# if CONFIG_DRAM_START != 0x01000000
# error "Invalid setting for CONFIG_DRAM_START"
# endif
# if CONFIG_DRAM_SIZE != 0x01000000
# warning "Check CONFIG_DRAM_SIZE. This Neuros OSD has 0x01000000 bytes of SDRAM"
# endif
# if CONFIG_DRAM_NUTTXENTRY != 0x01008000
# warning "Check CONFIG_DRAM_NUTTXENTRY. Expected 0x01008000"
# endif
# define DM320_SDRAM_PSECTION 0x01000000 /* 496Mb many section -- */
# define DM320_SDRAM_PADDR 0x01000000 /* 496Mb many sections CW */
#else
# if CONFIG_DRAM_START != 0x01100000
# error "Invalid setting for CONFIG_DRAM_START"
# endif
# if CONFIG_DRAM_SIZE != 0x02000000
# warning "Check CONFIG_DRAM_SIZE. This Neuros OSD has 0x02000000 bytes of SDRAM"
# endif
# if CONFIG_DRAM_NUTTXENTRY != 0x01108000
# warning "Check CONFIG_DRAM_NUTTXENTRY. Expected 0x01108000"
# endif
# define DM320_SDRAM_PSECTION 0x01100000 /* 496Mb many section -- */
# define DM320_SDRAM_PADDR 0x01100000 /* 496Mb many sections CW */
#endif
/* GIO keyboard (GIO 1-5) */
#define KEY_MASK 0x003E

View File

@ -1,7 +1,7 @@
############################################################################
# configs/ntosd-dm320/nettest/defconfig
#
# Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
# Copyright (C) 2007-2010 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
#
# Redistribution and use in source and binary forms, with or without
@ -65,11 +65,12 @@ CONFIG_ARCH_CHIP=dm320
CONFIG_ARCH_CHIP_DM320=y
CONFIG_ARCH_BOARD=ntosd-dm320
CONFIG_ARCH_BOARD_NTOSD_DM320=y
CONFIG_ARCH_NTOSD_DEVBOARD=n
CONFIG_BOARD_LOOPSPERMSEC=16945
CONFIG_DRAM_SIZE=0x01000000
CONFIG_DRAM_START=0x01000000
CONFIG_DRAM_SIZE=0x02000000
CONFIG_DRAM_START=0x01100000
CONFIG_DRAM_VSTART=0x00000000
CONFIG_DRAM_NUTTXENTRY=0x01008000
CONFIG_DRAM_NUTTXENTRY=0x01108000
CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_STACKDUMP=n
@ -129,7 +130,7 @@ CONFIG_UART1_2STOP=0
#
CONFIG_RRLOAD_BINARY=n
CONFIG_INTELHEX_BINARY=n
CONFIG_RAW_BINARY=n
CONFIG_RAW_BINARY=y
CONFIG_HAVE_LIBM=n
#

View File

@ -1,7 +1,7 @@
############################################################################
# configs/ntosd-dm320/nsh/defconfig
#
# Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
# Copyright (C) 2007-2010 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
#
# Redistribution and use in source and binary forms, with or without
@ -65,11 +65,12 @@ CONFIG_ARCH_CHIP=dm320
CONFIG_ARCH_CHIP_DM320=y
CONFIG_ARCH_BOARD=ntosd-dm320
CONFIG_ARCH_BOARD_NTOSD_DM320=y
CONFIG_ARCH_NTOSD_DEVBOARD=n
CONFIG_BOARD_LOOPSPERMSEC=16945
CONFIG_DRAM_SIZE=0x01000000
CONFIG_DRAM_START=0x01000000
CONFIG_DRAM_SIZE=0x02000000
CONFIG_DRAM_START=0x01100000
CONFIG_DRAM_VSTART=0x00000000
CONFIG_DRAM_NUTTXENTRY=0x01008000
CONFIG_DRAM_NUTTXENTRY=0x01108000
CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_STACKDUMP=n
@ -136,7 +137,7 @@ CONFIG_UART1_2STOP=0
#
CONFIG_RRLOAD_BINARY=n
CONFIG_INTELHEX_BINARY=n
CONFIG_RAW_BINARY=n
CONFIG_RAW_BINARY=y
CONFIG_HAVE_LIBM=n
#

View File

@ -1,7 +1,7 @@
############################################################################
# configs/ntosd-dm320/ostest/defconfig
#
# Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
# Copyright (C) 2007-2010 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
#
# Redistribution and use in source and binary forms, with or without
@ -65,11 +65,12 @@ CONFIG_ARCH_CHIP=dm320
CONFIG_ARCH_CHIP_DM320=y
CONFIG_ARCH_BOARD=ntosd-dm320
CONFIG_ARCH_BOARD_NTOSD_DM320=y
CONFIG_ARCH_NTOSD_DEVBOARD=n
CONFIG_BOARD_LOOPSPERMSEC=16945
CONFIG_DRAM_SIZE=0x01000000
CONFIG_DRAM_START=0x01000000
CONFIG_DRAM_SIZE=0x02000000
CONFIG_DRAM_START=0x01100000
CONFIG_DRAM_VSTART=0x00000000
CONFIG_DRAM_NUTTXENTRY=0x01008000
CONFIG_DRAM_NUTTXENTRY=0x01108000
CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_STACKDUMP=y
@ -136,7 +137,7 @@ CONFIG_UART1_2STOP=0
#
CONFIG_RRLOAD_BINARY=n
CONFIG_INTELHEX_BINARY=n
CONFIG_RAW_BINARY=n
CONFIG_RAW_BINARY=y
CONFIG_HAVE_LIBM=n
#

View File

@ -1,7 +1,7 @@
############################################################################
# configs/ntosd-dm320/poll/defconfig
#
# Copyright (C) 2008, 2009 Gregory Nutt. All rights reserved.
# Copyright (C) 2008-2010 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
#
# Redistribution and use in source and binary forms, with or without
@ -65,11 +65,12 @@ CONFIG_ARCH_CHIP=dm320
CONFIG_ARCH_CHIP_DM320=y
CONFIG_ARCH_BOARD=ntosd-dm320
CONFIG_ARCH_BOARD_NTOSD_DM320=y
CONFIG_ARCH_NTOSD_DEVBOARD=n
CONFIG_BOARD_LOOPSPERMSEC=16945
CONFIG_DRAM_SIZE=0x01000000
CONFIG_DRAM_START=0x01000000
CONFIG_DRAM_SIZE=0x02000000
CONFIG_DRAM_START=0x01100000
CONFIG_DRAM_VSTART=0x00000000
CONFIG_DRAM_NUTTXENTRY=0x01008000
CONFIG_DRAM_NUTTXENTRY=0x01108000
CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_STACKDUMP=n
@ -129,7 +130,7 @@ CONFIG_UART1_2STOP=0
#
CONFIG_RRLOAD_BINARY=n
CONFIG_INTELHEX_BINARY=n
CONFIG_RAW_BINARY=n
CONFIG_RAW_BINARY=y
CONFIG_HAVE_LIBM=n
#

View File

@ -1,7 +1,7 @@
############################################################################
# configs/ntosd-dm320/thttpd/defconfig
#
# Copyright (C) 2009 Gregory Nutt. All rights reserved.
# Copyright (C) 2009-2010 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
#
# Redistribution and use in source and binary forms, with or without
@ -65,11 +65,12 @@ CONFIG_ARCH_CHIP=dm320
CONFIG_ARCH_CHIP_DM320=y
CONFIG_ARCH_BOARD=ntosd-dm320
CONFIG_ARCH_BOARD_NTOSD_DM320=y
CONFIG_ARCH_NTOSD_DEVBOARD=n
CONFIG_BOARD_LOOPSPERMSEC=16945
CONFIG_DRAM_SIZE=0x01000000
CONFIG_DRAM_START=0x01000000
CONFIG_DRAM_SIZE=0x02000000
CONFIG_DRAM_START=0x01100000
CONFIG_DRAM_VSTART=0x00000000
CONFIG_DRAM_NUTTXENTRY=0x01008000
CONFIG_DRAM_NUTTXENTRY=0x01108000
CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_STACKDUMP=n
@ -133,7 +134,7 @@ CONFIG_UART1_2STOP=0
CONFIG_RRLOAD_BINARY=n
CONFIG_INTELHEX_BINARY=n
CONFIG_MOTOROLA_SREC=n
CONFIG_RAW_BINARY=n
CONFIG_RAW_BINARY=y
CONFIG_HAVE_LIBM=n
#

View File

@ -1,7 +1,7 @@
############################################################################
# configs/ntosd-dm320/udp/defconfig
#
# Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
# Copyright (C) 2007-2010 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
#
# Redistribution and use in source and binary forms, with or without
@ -65,11 +65,12 @@ CONFIG_ARCH_CHIP=dm320
CONFIG_ARCH_CHIP_DM320=y
CONFIG_ARCH_BOARD=ntosd-dm320
CONFIG_ARCH_BOARD_NTOSD_DM320=y
CONFIG_ARCH_NTOSD_DEVBOARD=n
CONFIG_BOARD_LOOPSPERMSEC=16945
CONFIG_DRAM_SIZE=0x01000000
CONFIG_DRAM_START=0x01000000
CONFIG_DRAM_SIZE=0x02000000
CONFIG_DRAM_START=0x01100000
CONFIG_DRAM_VSTART=0x00000000
CONFIG_DRAM_NUTTXENTRY=0x01008000
CONFIG_DRAM_NUTTXENTRY=0x01108000
CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_STACKDUMP=n
@ -129,7 +130,7 @@ CONFIG_UART1_2STOP=0
#
CONFIG_RRLOAD_BINARY=n
CONFIG_INTELHEX_BINARY=n
CONFIG_RAW_BINARY=n
CONFIG_RAW_BINARY=y
CONFIG_HAVE_LIBM=n
#

View File

@ -1,7 +1,7 @@
############################################################################
# configs/ntosd-dm320/uip/defconfig
#
# Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
# Copyright (C) 2007-2010 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
#
# Redistribution and use in source and binary forms, with or without
@ -65,11 +65,12 @@ CONFIG_ARCH_CHIP=dm320
CONFIG_ARCH_CHIP_DM320=y
CONFIG_ARCH_BOARD=ntosd-dm320
CONFIG_ARCH_BOARD_NTOSD_DM320=y
CONFIG_ARCH_NTOSD_DEVBOARD=n
CONFIG_BOARD_LOOPSPERMSEC=16945
CONFIG_DRAM_SIZE=0x01000000
CONFIG_DRAM_START=0x01000000
CONFIG_DRAM_SIZE=0x02000000
CONFIG_DRAM_START=0x01100000
CONFIG_DRAM_VSTART=0x00000000
CONFIG_DRAM_NUTTXENTRY=0x01008000
CONFIG_DRAM_NUTTXENTRY=0x01108000
CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_STACKDUMP=n
@ -129,7 +130,7 @@ CONFIG_UART1_2STOP=0
#
CONFIG_RRLOAD_BINARY=n
CONFIG_INTELHEX_BINARY=n
CONFIG_RAW_BINARY=n
CONFIG_RAW_BINARY=y
CONFIG_HAVE_LIBM=n
#