9
0
Fork 0

Merge commit '45e0cf1f4a7664974933db2a408ccea6acad4eff'

This commit is contained in:
Gregory Nutt 2015-02-24 07:13:48 -06:00
commit 62d3709a59
5 changed files with 32 additions and 156 deletions

4
.gitignore vendored
View File

@ -10,3 +10,7 @@ Make.dep
core
.gdbinit
cscope.out
.cproject
.project
.settings

View File

@ -3521,26 +3521,26 @@ nsh>
<td>
<p>
<a name="titm4c123g"><b>TI Tiva TM4C123G</b>.</a>
This port uses the TI Tiva TM4C123G LaunchPad.
This port uses the Tiva C Series TM4C123G LaunchPad Evaluation Kit <a href="http://www.ti.com/tool/ek-tm4c123gxl">(EK-TM4C123GXL)</a>.
</p>
<ul>
<p>
<b>STATUS:</b>
<ul>
<li>
Initial architectural support for the TI Tiva TM4C123G was implemented and was released in NuttX 7.1.
Basic board support the TM4C123G LaunchPad was also included in that release but was not fully tested.
Initial architectural support for the EK-TM4C123GXL was implemented and was released in NuttX 7.1.
Basic board support the EK-TM4C123GXL was also included in that release but was not fully tested.
This basic board support included a configuration for the NuttShell <a href="http://www.nuttx.org/Documentation/NuttShell.html">NSH</a>).
</li>
<li>
The fully verified port to the TM4C123G LaunchPad is provided in NuttX-7.2.
The fully verified port to the EK-TM4C123GXL was provided in NuttX-7.2.
</li>
<li>
An I2C driver was added in NuttX-7.7.
</li>
</ul>
</p>
Refer to the TM4C123G LaunchPad board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/tm4c123g-launchpad/README.txt">README</a> file for more detailed information about this port.
Refer to the EK-TM4C123GXL board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/tm4c123g-launchpad/README.txt">README</a> file for more detailed information about this port.
</p>
</ul>
</td>
@ -3554,19 +3554,19 @@ nsh>
<td>
<p>
<a name="titm4c1294"><b>TI Tiva TM4C1294</b>.</a>
This port uses the TI Tiva TM4C1294 LaunchPad.
This port uses the TI Tiva C Series TM4C1294 Connected LaunchPad <a href="http://www.ti.com/tool/ek-tm4c1294xl">(EK-TM4C1294XL)</a>.
</p>
<ul>
<p>
<b>STATUS:</b>
<ul>
<li>
Support for the TI Tiva TM4C123G Launchpad was contributed by Frank Sautter and was released in NuttX 7.9.
Support for the EK-TM4C1294XL was contributed by Frank Sautter and was released in NuttX 7.9.
This basic board support included a configuration for the NuttShell <a href="http://www.nuttx.org/Documentation/NuttShell.html">NSH</a>) and a configuration for testing IPv6.
</li>
</ul>
</p>
Refer to the TM4C1294 LaunchPad board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/tm4c1294-launchpad/README.txt">README</a> file for more detailed information about this port.
Refer to the EK-TM4C1294XL board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/tm4c1294-launchpad/README.txt">README</a> file for more detailed information about this port.
</p>
</ul>
</td>
@ -3580,14 +3580,14 @@ nsh>
<td>
<p>
<a name="titm4c129x"><b>TI Tiva TM4C129X</b>.</a>
This port uses the TI Tiva DK-TM4C129X Connected Development Kit.
This port uses the TI Tiva C Series TM4C129x Connected Development Kit <a href="http://www.ti.com/tool/dk-tm4c129x">(DK-TM4C129X)</a>.
</p>
<ul>
<p>
<b>STATUS:</b>
<ul>
<li>
A mature port to the DK-TM4C123G was implemented and was released in NuttX 7.7.
A mature port to the DK-TM4C129X was implemented and was released in NuttX 7.7.
</li>
<li>
At the initial release, verified drivers were available for Ethernet interface, I2C, and timers as well as board LEDs and push buttons.
@ -3600,7 +3600,7 @@ nsh>
</li>
</ul>
</p>
Refer to the TM4C129X LaunchPad board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/dk-tm4c129x/README.txt">README</a> file for more detailed information about this port.
Refer to the DK-TM4C129X board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/dk-tm4c129x/README.txt">README</a> file for more detailed information about this port.
</p>
</ul>
</td>

View File

@ -1310,34 +1310,38 @@
# define GPIO_SSI0_CLK (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTA | GPIO_PIN_2)
# define GPIO_SSI0_FSS (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTA | GPIO_PIN_3)
# define GPIO_SSI0_TX (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTA | GPIO_PIN_4)
# define GPIO_SSI0_XDAT0 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTA | GPIO_PIN_4)
# define GPIO_SSI0_RX (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTA | GPIO_PIN_5)
# define GPIO_SSI0_XDAT1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTA | GPIO_PIN_5)
# define GPIO_SSI0_XDAT2 (GPIO_FUNC_PFIO | GPIO_ALT_12 | GPIO_PORTA | GPIO_PIN_6)
# define GPIO_SSI0_XDAT3 (GPIO_FUNC_PFIO | GPIO_ALT_12 | GPIO_PORTA | GPIO_PIN_7)
# define GPIO_SSI1_CLK (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTB | GPIO_PIN_5)
# define GPIO_SSI1_FSS (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTB | GPIO_PIN_4)
# define GPIO_SSI1_TX (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTE | GPIO_PIN_4)
# define GPIO_SSI1_XDAT0 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTE | GPIO_PIN_4)
# define GPIO_SSI1_RX (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTE | GPIO_PIN_5)
# define GPIO_SSI1_XDAT1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTE | GPIO_PIN_5)
# define GPIO_SSI1_XDAT2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_4)
# define GPIO_SSI1_XDAT3 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_5)
# define GPIO_SSI2_CLK_1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_3)
# define GPIO_SSI2_CLK_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTG | GPIO_PIN_7)
# define GPIO_SSI2_FSS_1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_2)
# define GPIO_SSI2_FSS_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTG | GPIO_PIN_6)
# define GPIO_SSI2_XDAT0_1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_1)
# define GPIO_SSI2_XDAT0_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTG | GPIO_PIN_5)
# define GPIO_SSI2_XDAT1_1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_0)
# define GPIO_SSI2_XDAT1_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTG | GPIO_PIN_4)
# define GPIO_SSI2_XDAT2_1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_7)
# define GPIO_SSI2_XDAT2_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTG | GPIO_PIN_3)
# define GPIO_SSI2_XDAT3_1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_6)
# define GPIO_SSI2_XDAT3_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTG | GPIO_PIN_2)
# define GPIO_SSI2_CLK (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_3)
# define GPIO_SSI2_FSS (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_2)
# define GPIO_SSI2_TX (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_1)
# define GPIO_SSI2_XDAT0 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_1)
# define GPIO_SSI2_RX (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_0)
# define GPIO_SSI2_XDAT1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_0)
# define GPIO_SSI2_XDAT2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_7)
# define GPIO_SSI2_XDAT3 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_6)
# define GPIO_SSI3_CLK_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTF | GPIO_PIN_3)
# define GPIO_SSI3_CLK_2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTQ | GPIO_PIN_0)
# define GPIO_SSI3_FSS_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTF | GPIO_PIN_2)
# define GPIO_SSI3_FSS_2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTQ | GPIO_PIN_1)
# define GPIO_SSI3_TX_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTF | GPIO_PIN_1)
# define GPIO_SSI3_TX_2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTQ | GPIO_PIN_2)
# define GPIO_SSI3_XDAT0_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTF | GPIO_PIN_1)
# define GPIO_SSI3_XDAT0_2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTQ | GPIO_PIN_2)
# define GPIO_SSI3_RX_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTF | GPIO_PIN_0)
# define GPIO_SSI3_RX_2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTQ | GPIO_PIN_3)
# define GPIO_SSI3_XDAT1_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTF | GPIO_PIN_0)
# define GPIO_SSI3_XDAT1_2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTQ | GPIO_PIN_3)
# define GPIO_SSI3_XDAT2_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTF | GPIO_PIN_4)

View File

@ -39,7 +39,7 @@ CFLAGS += -I$(TOPDIR)/sched
ASRCS =
AOBJS = $(ASRCS:.S=$(OBJEXT))
CSRCS = tm4c_boot.c tm4c_bringup.c tm4c_ssi.c
CSRCS = tm4c_boot.c tm4c_bringup.c
ifeq ($(CONFIG_ARCH_LEDS),y)
CSRCS += tm4c_autoleds.c

View File

@ -1,132 +0,0 @@
/************************************************************************************
* configs/tm4c1294-launchpad/src/tm4c_ssi.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 <stdint.h>
#include <stdbool.h>
#include <debug.h>
#include <nuttx/spi/spi.h>
#include <arch/board/board.h>
#include "up_arch.h"
#include "chip.h"
#include "tiva_gpio.h"
#include "tm4c1294-launchpad.h"
/* The TM4C1294-Launchpad microSD CS is on SSI0 */
#if defined(CONFIG_TIVA_SSI0) || defined(CONFIG_TIVA_SSI1)
/************************************************************************************
* Pre-processor Definitions
************************************************************************************/
/* CONFIG_DEBUG_SPI enables debug output from this file (needs CONFIG_DEBUG too) */
#ifdef CONFIG_DEBUG_SPI
# define ssidbg lldbg
#else
# define ssidbg(x...)
#endif
/* Dump GPIO registers */
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_VERBOSE)
# define ssivdbg lldbg
# define ssi_dumpgpio(m) tiva_dumpgpio(SDCCS_GPIO, m)
#else
# define ssivdbg(x...)
# define ssi_dumpgpio(m)
#endif
/************************************************************************************
* Private Functions
************************************************************************************/
/************************************************************************************
* Public Functions
************************************************************************************/
/************************************************************************************
* Name: tm4c_ssiinitialize
*
* Description:
* Called to configure SPI chip select GPIO pins for the DK-TM4C129X.
*
************************************************************************************/
void weak_function tm4c_ssiinitialize(void)
{
}
/****************************************************************************
* The external functions, tiva_spiselect and tiva_spistatus must be provided
* by board-specific logic. The are implementations of the select and status
* methods SPI interface defined by struct spi_ops_s (see include/nuttx/spi/spi.h).
* All other methods (including tiva_spiinitialize()) are provided by common
* logic. To use this common SPI logic on your board:
*
* 1. Provide tiva_spiselect() and tiva_spistatus() functions in your
* board-specific logic. This function will perform chip selection and
* status operations using GPIOs in the way your board is configured.
* 2. Add a call to tiva_spiinitialize() in your low level initialization
* logic
* 3. The handle returned by tiva_spiinitialize() may then be used to bind the
* SPI driver to higher level logic (e.g., calling
* mmcsd_spislotinitialize(), for example, will bind the SPI driver to
* the SPI MMC/SD driver).
*
****************************************************************************/
void tiva_spiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
{
ssidbg("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
ssi_dumpgpio("tiva_spiselect() Entry");
ssi_dumpgpio("tiva_spiselect() Exit");
}
uint8_t tiva_spistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
{
ssidbg("Returning SPI_STATUS_PRESENT\n");
return SPI_STATUS_PRESENT;
}
#endif /* CONFIG_TIVA_SSI0 || CONFIG_TIVA_SSI1 */