diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-06-30 00:53:54 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-06-30 00:53:54 +0000 |
commit | 41bec181a3c306b2006523305bead57dad8a7992 (patch) | |
tree | ec125eb4b4cd519fe4f49a4c90e41082462e010b /nuttx/configs/ekk-lm3s9b96/include/board.h | |
parent | 95a79061c82da0e2e6ff50990129a8b1800d8977 (diff) | |
download | px4-nuttx-41bec181a3c306b2006523305bead57dad8a7992.tar.gz px4-nuttx-41bec181a3c306b2006523305bead57dad8a7992.tar.bz2 px4-nuttx-41bec181a3c306b2006523305bead57dad8a7992.zip |
PM Update; add configs//ekk-lm3s9b96
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4888 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/configs/ekk-lm3s9b96/include/board.h')
-rw-r--r-- | nuttx/configs/ekk-lm3s9b96/include/board.h | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/nuttx/configs/ekk-lm3s9b96/include/board.h b/nuttx/configs/ekk-lm3s9b96/include/board.h new file mode 100644 index 000000000..ef18b074d --- /dev/null +++ b/nuttx/configs/ekk-lm3s9b96/include/board.h @@ -0,0 +1,143 @@ +/************************************************************************************ + * configs/ekk-lm3s9b96/include/board.h + * include/arch/board/board.h + * + * Copyright (C) 2012 Gregory Nutt. All rights reserved. + * Authors: Gregory Nutt <gnutt@nuttx.org> + * Jose Pablo Rojas V. <jrojas@nx-engineering.com> + * + * 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 __ARCH_BOARD_BOARD_H +#define __ARCH_BOARD_BOARD_H + +/************************************************************************************ + * Included Files + ************************************************************************************/ + +/************************************************************************************ + * Definitions + ************************************************************************************/ + +/* Clocking *************************************************************************/ + +/* RCC settings */ + +#define SYSCON_RCC_XTAL SYSCON_RCC_XTAL8000KHZ /* Eagle100 on-board crystall is 8.00 MHz */ +#define XTAL_FREQUENCY 16000000 + +/* Oscillator source is the main oscillator (not internal, internal/4, 30KHz or + * 30KHz from hibernate module) */ + +#define SYSCON_RCC_OSCSRC SYSCON_RCC_OSCSRC_MOSC +#define SYSCON_RCC2_OSCSRC SYSCON_RCC2_OSCSRC2_MOSC +#define OSCSRC_FREQUENCY XTAL_FREQUENCY + +/* Use system divider = 4; this corresponds to a system clock frequency + * of (400 / 2) / 4 = 50MHz + */ + +#define LM3S_SYSDIV 4 +#define SYSCLK_FREQUENCY 80000000 /* 80MHz */ + +/* Other RCC settings: + * + * - Main and internal oscillators enabled. + * - PLL and sys dividers not bypassed + * - PLL not powered down + * - No auto-clock gating reset + */ + +#define LM3S_RCC_VALUE (SYSCON_RCC_OSCSRC | SYSCON_RCC_XTAL | SYSCON_RCC_USESYSDIV | SYSCON_RCC_SYSDIV(LM3S_SYSDIV)) + +/* RCC2 settings -- RCC2 not used. Other RCC2 settings + * + * - PLL and sys dividers not bypassed. + * - PLL not powered down + * - Not using RCC2 + */ + +#define LM3S_RCC2_VALUE (SYSCON_RCC2_OSCSRC | SYSCON_RCC2_SYSDIV(LM3S_SYSDIV)) + +/* LED definitions ******************************************************************/ + +/* The EKK-LMS3oB96 Eval Kit has only one user LED: Port D, Bit 0. Below is the mapping of this + * single LED. From this single LED, we can get the following information: + * + * OFF Steady: The system has failed to boot to the point of enabling interrupts + * ON Steady: The systems has enabled interrupts, but none have been received + * Dull glow: The system is taking interrupts + * Slow blinking: The system has panicked + */ + /* ON OFF */ +#define LED_STARTED 0 /* OFF OFF */ +#define LED_HEAPALLOCATE 1 /* OFF OFF */ +#define LED_IRQSENABLED 2 /* ON ON */ +#define LED_STACKCREATED 3 /* ON ON */ +#define LED_INIRQ 4 /* ON OFF */ +#define LED_SIGNAL 5 /* ON OFF */ +#define LED_ASSERTION 6 /* ON OFF */ +#define LED_PANIC 7 /* ON OFF */ + +/************************************************************************************ + * Public Function Prototypes + ************************************************************************************/ + +#ifndef __ASSEMBLY__ + +/************************************************************************************ + * Name: lm3s_boardinitialize + * + * Description: + * All LM3S architectures must provide the following entry point. This entry point + * is called early in the intitialization -- after all memory has been configured + * and mapped but before any devices have been initialized. + * + ************************************************************************************/ + +extern void lm3s_boardinitialize(void); + +/************************************************************************************ + * Name: lm3s_ethernetmac + * + * Description: + * For the Ethernet Eval Kits, the MAC address will be stored in the non-volatile + * USER0 and USER1 registers. If CONFIG_LM3S_BOARDMAC is defined, this function + * will obtain the MAC address from these registers. + * + ************************************************************************************/ + +#ifdef CONFIG_LM3S_BOARDMAC +struct ether_addr; +extern void lm3s_ethernetmac(struct ether_addr *ethaddr); +#endif + +#endif /* __ASSEMBLY__ */ +#endif /* __ARCH_BOARD_BOARD_H */ |