mirror of
https://github.com/apache/nuttx.git
synced 2026-05-31 14:10:13 +08:00
lm3s6965-ek: make board_app_initialize/board_late_initialize same
This commit is contained in:
committed by
patacongo
parent
e9fe1f84af
commit
d43ccb0a01
@@ -39,56 +39,7 @@
|
|||||||
|
|
||||||
#include <nuttx/config.h>
|
#include <nuttx/config.h>
|
||||||
|
|
||||||
#include <debug.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <syslog.h>
|
|
||||||
#include <errno.h>
|
|
||||||
|
|
||||||
#include <nuttx/board.h>
|
|
||||||
#include <nuttx/spi/spi.h>
|
|
||||||
#include <nuttx/mmcsd.h>
|
|
||||||
|
|
||||||
#include "lm3s6965-ek.h"
|
#include "lm3s6965-ek.h"
|
||||||
#include "tiva_ssi.h"
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/* Configuration ************************************************************/
|
|
||||||
|
|
||||||
#define NSH_HAVEMMCSD 1
|
|
||||||
|
|
||||||
/* Can't support MMC/SD features if mountpoints or MMC/SPI are disabled */
|
|
||||||
|
|
||||||
#if defined(CONFIG_DISABLE_MOUNTPOINT) || !defined(CONFIG_MMCSD_SPI)
|
|
||||||
# undef NSH_HAVEMMCSD
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* PORT and SLOT number depend on the board configuration */
|
|
||||||
|
|
||||||
#ifdef CONFIG_NSH_ARCHINIT
|
|
||||||
# if !defined(CONFIG_NSH_MMCSDSPIPORTNO) || CONFIG_NSH_MMCSDSPIPORTNO != 0
|
|
||||||
# error "The LM3S6965 Eval Kit MMC/SD is on SSI0"
|
|
||||||
# undef CONFIG_NSH_MMCSDSPIPORTNO
|
|
||||||
# define CONFIG_NSH_MMCSDSPIPORTNO 0
|
|
||||||
# endif
|
|
||||||
# if !defined(CONFIG_NSH_MMCSDSLOTNO) || CONFIG_NSH_MMCSDSLOTNO != 0
|
|
||||||
# error "The LM3S6965 Eval Kit MMC/SD is on SSI0 slot 0"
|
|
||||||
# undef CONFIG_NSH_MMCSDSLOTNO
|
|
||||||
# define CONFIG_NSH_MMCSDSLOTNO 0
|
|
||||||
# endif
|
|
||||||
# ifndef CONFIG_NSH_MMCSDMINOR
|
|
||||||
# define CONFIG_NSH_MMCSDMINOR 0
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# undef CONFIG_NSH_MMCSDSPIPORTNO
|
|
||||||
# define CONFIG_NSH_MMCSDSPIPORTNO 0
|
|
||||||
# undef CONFIG_NSH_MMCSDSLOTNO
|
|
||||||
# define CONFIG_NSH_MMCSDSLOTNO 0
|
|
||||||
# undef CONFIG_NSH_MMCSDMINOR
|
|
||||||
# define CONFIG_NSH_MMCSDMINOR 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
@@ -119,43 +70,9 @@
|
|||||||
|
|
||||||
int board_app_initialize(uintptr_t arg)
|
int board_app_initialize(uintptr_t arg)
|
||||||
{
|
{
|
||||||
#ifdef NSH_HAVEMMCSD
|
|
||||||
FAR struct spi_dev_s *spi;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
/* Get the SPI port */
|
|
||||||
|
|
||||||
mcinfo("Initializing SPI port %d\n", CONFIG_NSH_MMCSDSPIPORTNO);
|
|
||||||
|
|
||||||
spi = tiva_ssibus_initialize(CONFIG_NSH_MMCSDSPIPORTNO);
|
|
||||||
if (!spi)
|
|
||||||
{
|
|
||||||
mcerr("ERROR: Failed to initialize SPI port %d\n",
|
|
||||||
CONFIG_NSH_MMCSDSPIPORTNO);
|
|
||||||
return -ENODEV;
|
|
||||||
}
|
|
||||||
|
|
||||||
mcinfo("Successfully initialized SPI port %d\n", CONFIG_NSH_MMCSDSPIPORTNO);
|
|
||||||
|
|
||||||
/* Bind the SPI port to the slot */
|
|
||||||
|
|
||||||
mcinfo("Binding SPI port %d to MMC/SD slot %d\n",
|
|
||||||
CONFIG_NSH_MMCSDSPIPORTNO, CONFIG_NSH_MMCSDSLOTNO);
|
|
||||||
|
|
||||||
ret = mmcsd_spislotinitialize(CONFIG_NSH_MMCSDMINOR,
|
|
||||||
CONFIG_NSH_MMCSDSLOTNO, spi);
|
|
||||||
if (ret < 0)
|
|
||||||
{
|
|
||||||
mcerr("ERROR: Failed to bind SPI port %d to MMC/SD slot %d: %d\n",
|
|
||||||
CONFIG_NSH_MMCSDSPIPORTNO, CONFIG_NSH_MMCSDSLOTNO, ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
mcinfo("Successfully bound SPI port %d to MMC/SD slot %d\n",
|
|
||||||
CONFIG_NSH_MMCSDSPIPORTNO, CONFIG_NSH_MMCSDSLOTNO);
|
|
||||||
#endif
|
|
||||||
#ifndef CONFIG_BOARD_LATE_INITIALIZE
|
#ifndef CONFIG_BOARD_LATE_INITIALIZE
|
||||||
lm_bringup();
|
return lm_bringup();
|
||||||
#endif
|
#else
|
||||||
return OK;
|
return OK;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,10 +24,57 @@
|
|||||||
|
|
||||||
#include <nuttx/config.h>
|
#include <nuttx/config.h>
|
||||||
|
|
||||||
|
#include <nuttx/board.h>
|
||||||
|
#include <nuttx/spi/spi.h>
|
||||||
|
#include <nuttx/mmcsd.h>
|
||||||
|
|
||||||
#include <sys/mount.h>
|
#include <sys/mount.h>
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <syslog.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
#include "lm3s6965-ek.h"
|
#include "lm3s6965-ek.h"
|
||||||
|
#include "tiva_ssi.h"
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Pre-processor Definitions
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/* Configuration ************************************************************/
|
||||||
|
|
||||||
|
#define NSH_HAVEMMCSD 1
|
||||||
|
|
||||||
|
/* Can't support MMC/SD features if mountpoints or MMC/SPI are disabled */
|
||||||
|
|
||||||
|
#if defined(CONFIG_DISABLE_MOUNTPOINT) || !defined(CONFIG_MMCSD_SPI)
|
||||||
|
# undef NSH_HAVEMMCSD
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* PORT and SLOT number depend on the board configuration */
|
||||||
|
|
||||||
|
#ifdef CONFIG_NSH_ARCHINIT
|
||||||
|
# if !defined(CONFIG_NSH_MMCSDSPIPORTNO) || CONFIG_NSH_MMCSDSPIPORTNO != 0
|
||||||
|
# error "The LM3S6965 Eval Kit MMC/SD is on SSI0"
|
||||||
|
# undef CONFIG_NSH_MMCSDSPIPORTNO
|
||||||
|
# define CONFIG_NSH_MMCSDSPIPORTNO 0
|
||||||
|
# endif
|
||||||
|
# if !defined(CONFIG_NSH_MMCSDSLOTNO) || CONFIG_NSH_MMCSDSLOTNO != 0
|
||||||
|
# error "The LM3S6965 Eval Kit MMC/SD is on SSI0 slot 0"
|
||||||
|
# undef CONFIG_NSH_MMCSDSLOTNO
|
||||||
|
# define CONFIG_NSH_MMCSDSLOTNO 0
|
||||||
|
# endif
|
||||||
|
# ifndef CONFIG_NSH_MMCSDMINOR
|
||||||
|
# define CONFIG_NSH_MMCSDMINOR 0
|
||||||
|
# endif
|
||||||
|
#else
|
||||||
|
# undef CONFIG_NSH_MMCSDSPIPORTNO
|
||||||
|
# define CONFIG_NSH_MMCSDSPIPORTNO 0
|
||||||
|
# undef CONFIG_NSH_MMCSDSLOTNO
|
||||||
|
# define CONFIG_NSH_MMCSDSLOTNO 0
|
||||||
|
# undef CONFIG_NSH_MMCSDMINOR
|
||||||
|
# define CONFIG_NSH_MMCSDMINOR 0
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
@@ -45,6 +92,41 @@ int lm_bringup(void)
|
|||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
|
#ifdef NSH_HAVEMMCSD
|
||||||
|
FAR struct spi_dev_s *spi;
|
||||||
|
|
||||||
|
/* Get the SPI port */
|
||||||
|
|
||||||
|
mcinfo("Initializing SPI port %d\n", CONFIG_NSH_MMCSDSPIPORTNO);
|
||||||
|
|
||||||
|
spi = tiva_ssibus_initialize(CONFIG_NSH_MMCSDSPIPORTNO);
|
||||||
|
if (!spi)
|
||||||
|
{
|
||||||
|
mcerr("ERROR: Failed to initialize SPI port %d\n",
|
||||||
|
CONFIG_NSH_MMCSDSPIPORTNO);
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
|
mcinfo("Successfully initialized SPI port %d\n", CONFIG_NSH_MMCSDSPIPORTNO);
|
||||||
|
|
||||||
|
/* Bind the SPI port to the slot */
|
||||||
|
|
||||||
|
mcinfo("Binding SPI port %d to MMC/SD slot %d\n",
|
||||||
|
CONFIG_NSH_MMCSDSPIPORTNO, CONFIG_NSH_MMCSDSLOTNO);
|
||||||
|
|
||||||
|
ret = mmcsd_spislotinitialize(CONFIG_NSH_MMCSDMINOR,
|
||||||
|
CONFIG_NSH_MMCSDSLOTNO, spi);
|
||||||
|
if (ret < 0)
|
||||||
|
{
|
||||||
|
mcerr("ERROR: Failed to bind SPI port %d to MMC/SD slot %d: %d\n",
|
||||||
|
CONFIG_NSH_MMCSDSPIPORTNO, CONFIG_NSH_MMCSDSLOTNO, ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
mcinfo("Successfully bound SPI port %d to MMC/SD slot %d\n",
|
||||||
|
CONFIG_NSH_MMCSDSPIPORTNO, CONFIG_NSH_MMCSDSLOTNO);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_FS_BINFS
|
#ifdef CONFIG_FS_BINFS
|
||||||
/* Mount the binfs file system */
|
/* Mount the binfs file system */
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user