lm3s6965-ek: make board_app_initialize/board_late_initialize same

This commit is contained in:
YAMAMOTO Takashi 2020-02-21 17:12:48 +09:00 committed by patacongo
parent e9fe1f84af
commit d43ccb0a01
2 changed files with 85 additions and 86 deletions

View file

@ -39,56 +39,7 @@
#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 "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
@ -119,43 +70,9 @@
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
lm_bringup();
#endif
return lm_bringup();
#else
return OK;
#endif
}

View file

@ -24,10 +24,57 @@
#include <nuttx/config.h>
#include <nuttx/board.h>
#include <nuttx/spi/spi.h>
#include <nuttx/mmcsd.h>
#include <sys/mount.h>
#include <debug.h>
#include <stdio.h>
#include <syslog.h>
#include <errno.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
@ -45,6 +92,41 @@ int lm_bringup(void)
{
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
/* Mount the binfs file system */