mirror of
https://github.com/apache/nuttx.git
synced 2026-06-06 00:14:22 +08:00
SAMV71: More updates on the way to a clean build. Still more to do to complete that journey
This commit is contained in:
@@ -33,9 +33,10 @@
|
|||||||
#
|
#
|
||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
# The start-up, "head", file
|
# The start-up, "head", file. Only common vectors are support so there
|
||||||
|
# isn't one.
|
||||||
|
|
||||||
HEAD_ASRC = sam_vectors.S
|
HEAD_ASRC =
|
||||||
|
|
||||||
# Common ARM and Cortex-M3 files
|
# Common ARM and Cortex-M3 files
|
||||||
|
|
||||||
|
|||||||
@@ -57,6 +57,43 @@
|
|||||||
#include "sam_userspace.h"
|
#include "sam_userspace.h"
|
||||||
#include "sam_start.h"
|
#include "sam_start.h"
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Pre-processor Definitions
|
||||||
|
****************************************************************************/
|
||||||
|
/* Memory Map ***************************************************************/
|
||||||
|
/*
|
||||||
|
* 0x0400:0000 - Beginning of the internal FLASH. Address of vectors.
|
||||||
|
* Mapped as boot memory address 0x0000:0000 at reset.
|
||||||
|
* 0x041f:ffff - End of flash region (assuming the max of 2MiB of FLASH).
|
||||||
|
* 0x2000:0000 - Start of internal SRAM and start of .data (_sdata)
|
||||||
|
* - End of .data (_edata) and start of .bss (_sbss)
|
||||||
|
* - End of .bss (_ebss) and bottom of idle stack
|
||||||
|
* - _ebss + CONFIG_IDLETHREAD_STACKSIZE = end of idle stack,
|
||||||
|
* start of heap. NOTE that the ARM uses a decrement before
|
||||||
|
* store stack so that the correct initial value is the end of
|
||||||
|
* the stack + 4;
|
||||||
|
* 0x2005:ffff - End of internal SRAM and end of heap (a
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define IDLE_STACK ((uintptr_t)&_ebss+CONFIG_IDLETHREAD_STACKSIZE-4)
|
||||||
|
#define HEAP_BASE ((uintptr_t)&_ebss+CONFIG_IDLETHREAD_STACKSIZE)
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Public Data
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/* g_idle_topstack: _sbss is the start of the BSS region as defined by the
|
||||||
|
* linker script. _ebss lies at the end of the BSS region. The idle task
|
||||||
|
* stack starts at the end of BSS and is of size CONFIG_IDLETHREAD_STACKSIZE.
|
||||||
|
* The IDLE thread is the thread that the system boots on and, eventually,
|
||||||
|
* becomes the IDLE, do nothing task that runs only when there is nothing
|
||||||
|
* else to run. The heap continues from there until the end of memory.
|
||||||
|
* g_idle_topstack is a read-only variable the provides this computed
|
||||||
|
* address.
|
||||||
|
*/
|
||||||
|
|
||||||
|
const uintptr_t g_idle_topstack = HEAP_BASE;
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Function prototypes
|
* Private Function prototypes
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -77,6 +77,17 @@ extern "C"
|
|||||||
#define EXTERN extern
|
#define EXTERN extern
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* g_idle_topstack: _sbss is the start of the BSS region as defined by the linker
|
||||||
|
* script. _ebss lies at the end of the BSS region. The idle task stack starts at
|
||||||
|
* the end of BSS and is of size CONFIG_IDLETHREAD_STACKSIZE. The IDLE thread is
|
||||||
|
* the thread that the system boots on and, eventually, becomes the IDLE, do
|
||||||
|
* nothing task that runs only when there is nothing else to run. The heap
|
||||||
|
* continues from there until the end of memory. g_idle_topstack is a read-only
|
||||||
|
* variable the provides this computed address.
|
||||||
|
*/
|
||||||
|
|
||||||
|
EXTERN const uintptr_t g_idle_topstack;
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Public Function Prototypes
|
* Public Function Prototypes
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|||||||
@@ -974,7 +974,7 @@ CONFIG_NSH_FILEIOSIZE=512
|
|||||||
# Console Configuration
|
# Console Configuration
|
||||||
#
|
#
|
||||||
CONFIG_NSH_CONSOLE=y
|
CONFIG_NSH_CONSOLE=y
|
||||||
CONFIG_NSH_ARCHINIT=y
|
# CONFIG_NSH_ARCHINIT is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Networking Configuration
|
# Networking Configuration
|
||||||
|
|||||||
@@ -0,0 +1,120 @@
|
|||||||
|
############################################################################
|
||||||
|
# configs/samv71-xult/src/Makefile
|
||||||
|
#
|
||||||
|
# Copyright (C) 2015 Gregory Nutt. All rights reserved.
|
||||||
|
# Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
#
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in
|
||||||
|
# the documentation and/or other materials provided with the
|
||||||
|
# distribution.
|
||||||
|
# 3. Neither the name NuttX nor the names of its contributors may be
|
||||||
|
# used to endorse or promote products derived from this software
|
||||||
|
# without specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
#
|
||||||
|
############################################################################
|
||||||
|
|
||||||
|
-include $(TOPDIR)/Make.defs
|
||||||
|
|
||||||
|
CFLAGS += -I$(TOPDIR)/sched
|
||||||
|
|
||||||
|
ASRCS =
|
||||||
|
AOBJS = $(ASRCS:.S=$(OBJEXT))
|
||||||
|
|
||||||
|
CSRCS = sam_boot.c
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_HAVE_CXXINITIALIZE),y)
|
||||||
|
CSRCS += sam_cxxinitialize.c
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_ARCH_LEDS),y)
|
||||||
|
CSRCS += sam_autoleds.c
|
||||||
|
else
|
||||||
|
CSRCS += sam_userleds.c
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_ARCH_BUTTONS),y)
|
||||||
|
CSRCS += sam_buttons.c
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_NSH_ARCHINIT),y)
|
||||||
|
CSRCS += sam_nsh.c
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_SAM34_HSMCI),y)
|
||||||
|
CSRCS += sam_hsmci.c
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_SAM34_EMAC),y)
|
||||||
|
CSRCS += sam_ethernet.c
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_SAM34_SPI0),y)
|
||||||
|
CSRCS += sam_spi.c
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_USBMSC),y)
|
||||||
|
CSRCS += sam_usbmsc.c
|
||||||
|
endif
|
||||||
|
|
||||||
|
COBJS = $(CSRCS:.c=$(OBJEXT))
|
||||||
|
|
||||||
|
SRCS = $(ASRCS) $(CSRCS)
|
||||||
|
OBJS = $(AOBJS) $(COBJS)
|
||||||
|
|
||||||
|
ARCH_SRCDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src
|
||||||
|
ifeq ($(WINTOOL),y)
|
||||||
|
CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/chip}"
|
||||||
|
CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/common}"
|
||||||
|
CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/armv7-m}"
|
||||||
|
else
|
||||||
|
CFLAGS += -I$(ARCH_SRCDIR)/chip
|
||||||
|
CFLAGS += -I$(ARCH_SRCDIR)/common
|
||||||
|
CFLAGS += -I$(ARCH_SRCDIR)/armv7-m
|
||||||
|
endif
|
||||||
|
|
||||||
|
all: libboard$(LIBEXT)
|
||||||
|
|
||||||
|
$(AOBJS): %$(OBJEXT): %.S
|
||||||
|
$(call ASSEMBLE, $<, $@)
|
||||||
|
|
||||||
|
$(COBJS) $(LINKOBJS): %$(OBJEXT): %.c
|
||||||
|
$(call COMPILE, $<, $@)
|
||||||
|
|
||||||
|
libboard$(LIBEXT): $(OBJS)
|
||||||
|
$(call ARCHIVE, $@, $(OBJS))
|
||||||
|
|
||||||
|
.depend: Makefile $(SRCS)
|
||||||
|
$(Q) $(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep
|
||||||
|
$(Q) touch $@
|
||||||
|
|
||||||
|
depend: .depend
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(call DELFILE, libboard$(LIBEXT))
|
||||||
|
$(call CLEAN)
|
||||||
|
|
||||||
|
distclean: clean
|
||||||
|
$(call DELFILE, Make.dep)
|
||||||
|
$(call DELFILE, .depend)
|
||||||
|
|
||||||
|
-include Make.dep
|
||||||
@@ -0,0 +1,129 @@
|
|||||||
|
/************************************************************************************
|
||||||
|
* configs/samv71-xult/src/sam_boot.c
|
||||||
|
*
|
||||||
|
* Copyright (C) 2015 Gregory Nutt. All rights reserved.
|
||||||
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
* 3. Neither the name NuttX nor the names of its contributors may be
|
||||||
|
* used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Included Files
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#include <nuttx/config.h>
|
||||||
|
|
||||||
|
#include <debug.h>
|
||||||
|
|
||||||
|
#include <nuttx/board.h>
|
||||||
|
#include <arch/board/board.h>
|
||||||
|
|
||||||
|
#include "up_arch.h"
|
||||||
|
#include "samv71-xult.h"
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Pre-processor Definitions
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Private Functions
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Public Functions
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Name: sam_boardinitialize
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* All SAM3U architectures must provide the following entry point. This entry point
|
||||||
|
* is called early in the initialization -- after all memory has been configured
|
||||||
|
* and mapped but before any devices have been initialized.
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
void sam_boardinitialize(void)
|
||||||
|
{
|
||||||
|
/* Configure SPI chip selects if 1) SPI is not disabled, and 2) the weak function
|
||||||
|
* sam_spiinitialize() has been brought into the link.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef CONFIG_SAMV7_SPI
|
||||||
|
if (sam_spiinitialize)
|
||||||
|
{
|
||||||
|
sam_spiinitialize();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Configure board resources to support networking if the 1) networking is enabled,
|
||||||
|
* 2) the EMAC module is enabled, and 2) the weak function sam_netinitialize()
|
||||||
|
* has been brought into the build.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_NETWORK
|
||||||
|
if (sam_netinitialize)
|
||||||
|
{
|
||||||
|
sam_netinitialize();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Configure on-board LEDs if LED support has been selected. */
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
|
board_led_initialize();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Name: board_initialize
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* If CONFIG_BOARD_INITIALIZE is selected, then an additional
|
||||||
|
* initialization call will be performed in the boot-up sequence to a
|
||||||
|
* function called board_initialize(). board_initialize() will be
|
||||||
|
* called immediately after up_intiialize() is called and just before the
|
||||||
|
* initial application is started. This additional initialization phase
|
||||||
|
* may be used, for example, to initialize board-specific device drivers.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifdef CONFIG_BOARD_INITIALIZE
|
||||||
|
void board_initialize(void)
|
||||||
|
{
|
||||||
|
/* Perform NSH initialization here instead of from the NSH. This
|
||||||
|
* alternative NSH initialization is necessary when NSH is ran in user-space
|
||||||
|
* but the initialization function must run in kernel space.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(CONFIG_NSH_LIBRARY) && !defined(CONFIG_NSH_ARCHINIT)
|
||||||
|
(void)nsh_archinitialize();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_BOARD_INITIALIZE */
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
/************************************************************************************
|
||||||
|
* configs/samv71-xult/src/sam_userleds.c
|
||||||
|
*
|
||||||
|
* Copyright (C) 2015 Gregory Nutt. All rights reserved.
|
||||||
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
* 3. Neither the name NuttX nor the names of its contributors may be
|
||||||
|
* used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Included Files
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#include <nuttx/config.h>
|
||||||
|
|
||||||
|
#include "samv71-xult.h"
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Pre-processor Definitions
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Private Functions
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Public Functions
|
||||||
|
************************************************************************************/
|
||||||
@@ -0,0 +1,214 @@
|
|||||||
|
/************************************************************************************
|
||||||
|
* configs/samv71-xult/src/samv71-xult.h
|
||||||
|
*
|
||||||
|
* Copyright (C) 2015 Gregory Nutt. All rights reserved.
|
||||||
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
* 3. Neither the name NuttX nor the names of its contributors may be
|
||||||
|
* used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#ifndef __CONFIGS_SAMV71_XULT_SRC_SAMV71_XULT_H
|
||||||
|
#define __CONFIGS_SAMV71_XULT_SRC_SAMV71_XULT_H
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Included Files
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#include <nuttx/config.h>
|
||||||
|
#include <nuttx/compiler.h>
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#include <arch/irq.h>
|
||||||
|
#include <nuttx/irq.h>
|
||||||
|
|
||||||
|
//#include "chip/sam_pinmap.h"
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Pre-processor Definitions
|
||||||
|
************************************************************************************/
|
||||||
|
/* Configuration ********************************************************************/
|
||||||
|
|
||||||
|
#define HAVE_HSMCI 1
|
||||||
|
#define HAVE_USBDEV 1
|
||||||
|
#define HAVE_USBMONITOR 1
|
||||||
|
#define HAVE_NETWORK 1
|
||||||
|
|
||||||
|
/* HSMCI */
|
||||||
|
/* Can't support MMC/SD if the card interface is not enabled */
|
||||||
|
|
||||||
|
#if !defined(CONFIG_SAMV7_HSMCI)
|
||||||
|
# undef HAVE_HSMCI
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Can't support MMC/SD features if mountpoints are disabled */
|
||||||
|
|
||||||
|
#if defined(HAVE_HSMCI) && defined(CONFIG_DISABLE_MOUNTPOINT)
|
||||||
|
# warning Mountpoints disabled. No MMC/SD support
|
||||||
|
# undef HAVE_HSMCI
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* We need PIO interrupts on GPIOA to support card detect interrupts */
|
||||||
|
|
||||||
|
#if defined(HAVE_HSMCI) && !defined(CONFIG_SAMV7_GPIOA_IRQ)
|
||||||
|
# warning PIOA interrupts not enabled. No MMC/SD support.
|
||||||
|
# undef HAVE_HSMCI
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* USB Device */
|
||||||
|
/* CONFIG_SAMV7_UDP and CONFIG_USBDEV must be defined, or there is no USB
|
||||||
|
* device.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined(CONFIG_SAMV7_UDP) || !defined(CONFIG_USBDEV)
|
||||||
|
# undef HAVE_USBDEV
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Check if we should enable the USB monitor before starting NSH */
|
||||||
|
|
||||||
|
#ifndef HAVE_USBDEV
|
||||||
|
# undef CONFIG_USBDEV_TRACE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined(CONFIG_SYSTEM_USBMONITOR) || !defined(CONFIG_USBDEV_TRACE)
|
||||||
|
# undef HAVE_USBMONITOR
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Networking */
|
||||||
|
|
||||||
|
#if !defined(CONFIG_NET) || !defined(CONFIG_SAMV7_EMAC)
|
||||||
|
# undef HAVE_NETWORK
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* SAMV71-XULT GPIO Pin Definitions *************************************************/
|
||||||
|
|
||||||
|
/* LCD:
|
||||||
|
* To be provided
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Ethernet MAC.
|
||||||
|
* to be provided
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* LEDs
|
||||||
|
* To be provided
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Buttons
|
||||||
|
* To be provided
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* HSMCI SD Card Detect
|
||||||
|
* To be provided
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* SPI Chip Selects
|
||||||
|
* to be provided
|
||||||
|
*/
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Public Types
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Public data
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Public Functions
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Name: sam_spiinitialize
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Called to configure SPI chip select GPIO pins for the SAM4E-EK board.
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
void weak_function sam_spiinitialize(void);
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Name: sam_hsmci_initialize
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Initialize HSMCI support
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#ifdef HAVE_HSMCI
|
||||||
|
int sam_hsmci_initialize(int minor);
|
||||||
|
#else
|
||||||
|
# define sam_hsmci_initialize(minor) (-ENOSYS)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Name: sam_netinitialize
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Configure board resources to support networking.
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#ifdef HAVE_NETWORK
|
||||||
|
void weak_function sam_netinitialize(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Name: sam_cardinserted
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Check if a card is inserted into the selected HSMCI slot
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#ifdef HAVE_HSMCI
|
||||||
|
bool sam_cardinserted(int slotno);
|
||||||
|
#else
|
||||||
|
# define sam_cardinserted(slotno) (false)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Name: sam_writeprotected
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Check if the card in the MMCSD slot is write protected
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#ifdef HAVE_HSMCI
|
||||||
|
bool sam_writeprotected(int slotno);
|
||||||
|
#else
|
||||||
|
# define sam_writeprotected(slotno) (false)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* __ASSEMBLY__ */
|
||||||
|
#endif /* __CONFIGS_SAMV71_XULT_SRC_SAMV71_XULT_H */
|
||||||
Reference in New Issue
Block a user