Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 93 additions & 0 deletions boards/arm/samv7/samv71-xult/configs/mtd/defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
#
# This file is autogenerated: PLEASE DO NOT EDIT IT.
#
# You can use "make menuconfig" to make any modifications to the installed .config file.
# You can then do "make savedefconfig" to generate a new defconfig file that includes your
# modifications.
#
# CONFIG_ARCH_RAMFUNCS is not set
# CONFIG_MMCSD_MMCSUPPORT is not set
# CONFIG_MMCSD_SPI is not set
# CONFIG_SAMV7_SDRAMHEAP is not set
# CONFIG_SAMV7_UART0 is not set
# CONFIG_SAMV7_UART2 is not set
# CONFIG_SAMV7_UART4 is not set
CONFIG_ARCH="arm"
CONFIG_ARCH_BOARD="samv71-xult"
CONFIG_ARCH_BOARD_COMMON=y
CONFIG_ARCH_BOARD_SAMV71_XULT=y
CONFIG_ARCH_BUTTONS=y
CONFIG_ARCH_CHIP="samv7"
CONFIG_ARCH_CHIP_SAMV71=y
CONFIG_ARCH_CHIP_SAMV71Q21=y
CONFIG_ARCH_CHIP_SAMV71Q=y
CONFIG_ARCH_CHIP_SAMV7=y
CONFIG_ARCH_CHIP_SAMV7_MEM_FLASH=0x200000
CONFIG_ARCH_CHIP_SAMV7_MEM_RAM=0x60000
CONFIG_ARCH_INTERRUPTSTACK=2048
CONFIG_ARCH_IRQBUTTONS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_DCACHE=y
CONFIG_ARMV7M_ICACHE=y
CONFIG_AT24XX_ADDR=0x57
CONFIG_AT24XX_EXTENDED=y
CONFIG_AT24XX_EXTSIZE=160
CONFIG_AT24XX_SIZE=2
CONFIG_BOARD_LOOPSPERMSEC=51262
CONFIG_BUILTIN=y
CONFIG_FAT_LCNAMES=y
CONFIG_FAT_LFN=y
CONFIG_FS_FAT=y
CONFIG_FS_NXFFS=y
CONFIG_FS_PROCFS=y
CONFIG_FS_SMARTFS=y
CONFIG_I2CTOOL_MAXBUS=0
CONFIG_I2C_RESET=y
CONFIG_INIT_ENTRYPOINT="nsh_main"
CONFIG_LINE_MAX=64
CONFIG_MMCSD_MULTIBLOCK_LIMIT=1
CONFIG_MMCSD_SDIO=y
CONFIG_MTD=y
CONFIG_MTD_AT24XX=y
CONFIG_MTD_AT25=y
CONFIG_MTD_BYTE_WRITE=y
CONFIG_MTD_CONFIG=y
CONFIG_MTD_PARTITION=y
CONFIG_MTD_PARTITION_REGISTER=y
CONFIG_MTD_PROGMEM=y
CONFIG_MTD_S25FL1=y
CONFIG_MTD_SMART=y
CONFIG_NSH_ARCHINIT=y
CONFIG_NSH_BUILTIN_APPS=y
CONFIG_NSH_DISABLE_LOSMART=y
CONFIG_NSH_FILEIOSIZE=512
CONFIG_NSH_READLINE=y
CONFIG_PREALLOC_TIMERS=4
CONFIG_RAM_SIZE=393216
CONFIG_RAM_START=0x20400000
CONFIG_RAW_BINARY=y
CONFIG_RR_INTERVAL=200
CONFIG_SAMV7_GPIOA_IRQ=y
CONFIG_SAMV7_GPIOB_IRQ=y
CONFIG_SAMV7_GPIOD_IRQ=y
CONFIG_SAMV7_GPIO_IRQ=y
CONFIG_SAMV7_HSMCI0=y
CONFIG_SAMV7_JTAG_FULL_SW_ENABLE=y
CONFIG_SAMV7_QSPI=y
CONFIG_SAMV7_QSPI_DMA=y
CONFIG_SAMV7_SDRAMC=y
CONFIG_SAMV7_SDRAMSIZE=2097152
CONFIG_SAMV7_TWIHS0=y
CONFIG_SAMV7_TWIHS0_GLITCH_FILTER=0
CONFIG_SAMV7_USART1=y
CONFIG_SAMV7_XDMAC=y
CONFIG_SCHED_HPWORK=y
CONFIG_SCHED_WAITPID=y
CONFIG_SDIO_BLOCKSETUP=y
CONFIG_START_DAY=10
CONFIG_START_MONTH=3
CONFIG_START_YEAR=2014
CONFIG_SYSTEM_I2CTOOL=y
CONFIG_SYSTEM_NSH=y
CONFIG_TESTING_RAMTEST=y
CONFIG_USART1_SERIAL_CONSOLE=y
4 changes: 4 additions & 0 deletions boards/arm/samv7/samv71-xult/src/Make.defs
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,10 @@ ifeq ($(CONFIG_LCD_ST7789),y)
CSRCS += sam_st7789.c
endif

ifeq ($(CONFIG_MTD_S25FL1),y)
CSRCS += sam_s25fl1.c
endif

.PHONY = context distclean

$(SCRIPTOUT): $(LDSCRIPT_TEMPLATE) $(CONFIGFILE)
Expand Down
100 changes: 4 additions & 96 deletions boards/arm/samv7/samv71-xult/src/sam_bringup.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,6 @@
#include "sam_twihs.h"
#include "samv71-xult.h"

#if defined(HAVE_S25FL1) || defined(HAVE_PROGMEM_CHARDEV)
# include <nuttx/mtd/mtd.h>
#endif

#ifdef HAVE_S25FL1
# include <nuttx/spi/qspi.h>
# include "sam_qspi.h"
#endif

#ifdef HAVE_LED_DRIVER
# include <nuttx/leds/userled.h>
#endif
Expand Down Expand Up @@ -208,20 +199,8 @@ static void sam_i2ctool(void)

int sam_bringup(void)
{
#ifdef HAVE_S25FL1
struct qspi_dev_s *qspi;
#endif
#if defined(HAVE_S25FL1)
struct mtd_dev_s *mtd;
#endif
#if defined(HAVE_RTC_DSXXXX) || defined(HAVE_RTC_PCF85263)
struct i2c_master_s *i2c;
#endif
#if defined(HAVE_S25FL1_CHARDEV)
#if defined(CONFIG_BCH)
char blockdev[18];
char chardev[12];
#endif /* defined(CONFIG_BCH) */
#endif
int ret;

Expand Down Expand Up @@ -409,82 +388,11 @@ int sam_bringup(void)
#endif

#ifdef HAVE_S25FL1
/* Create an instance of the SAMV71 QSPI device driver */

qspi = sam_qspi_initialize(0);
if (!qspi)
{
syslog(LOG_ERR, "ERROR: sam_qspi_initialize failed\n");
}
else
ret = sam_s25fl1_init();
if (ret < 0)
{
/* Use the QSPI device instance to initialize the
* S25FL1 device.
*/

mtd = s25fl1_initialize(qspi, true);
if (!mtd)
{
syslog(LOG_ERR, "ERROR: s25fl1_initialize failed\n");
}

#ifdef HAVE_S25FL1_SMARTFS
/* Configure the device with no partition support */

ret = smart_initialize(S25FL1_SMART_MINOR, mtd, NULL);
if (ret != OK)
{
syslog(LOG_ERR, "ERROR: Failed to initialize SmartFS: %d\n", ret);
}

#elif defined(HAVE_S25FL1_NXFFS)
/* Initialize to provide NXFFS on the S25FL1 MTD interface */

ret = nxffs_initialize(mtd);
if (ret < 0)
{
syslog(LOG_ERR, "ERROR: NXFFS initialization failed: %d\n", ret);
}

/* Mount the file system at /mnt/s25fl1 */

ret = nx_mount(NULL, "/mnt/s25fl1", "nxffs", 0, NULL);
if (ret < 0)
{
syslog(LOG_ERR, "ERROR: Failed to mount the NXFFS volume: %d\n",
ret);
return ret;
}

#else /* if defined(HAVE_S25FL1_CHARDEV) */
/* Use the FTL layer to wrap the MTD driver as a block driver */

ret = ftl_initialize(S25FL1_MTD_MINOR, mtd);
if (ret < 0)
{
syslog(LOG_ERR, "ERROR: Failed to initialize the FTL layer: %d\n",
ret);
return ret;
}

#if defined(CONFIG_BCH)
/* Use the minor number to create device paths */

snprintf(blockdev, sizeof(blockdev), "/dev/mtdblock%d",
S25FL1_MTD_MINOR);
snprintf(chardev, sizeof(chardev), "/dev/mtd%d", S25FL1_MTD_MINOR);

/* Now create a character device on the block device */

ret = bchdev_register(blockdev, chardev, false);
if (ret < 0)
{
syslog(LOG_ERR, "ERROR: bchdev_register %s failed: %d\n",
chardev, ret);
return ret;
}
#endif /* defined(CONFIG_BCH) */
#endif
syslog(LOG_ERR, "ERROR: Failed to initialize s25fl flash: %d\n",
ret);
}
#endif

Expand Down
Loading
Loading