Skip to content
Merged
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
12 changes: 12 additions & 0 deletions boards/xtensa/esp32/common/src/esp32_board_spiflash.c
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,18 @@ static int init_storage_partition(void)
return ret;
}

#elif defined(CONFIG_MTD_NVBLK)

ret = nvblk_initialize("/dev/mtdblock0", mtd,
CONFIG_MTD_NVBLK_DEFAULT_LBS,
CONFIG_MTD_NVBLK_DEFAULT_IOBS,
CONFIG_MTD_NVBLK_DEFAULT_SPEB);
if (ret < 0)
{
syslog(LOG_ERR, "ERROR: Failed to setup nvblk\n");
return ret;
}

#else
int minor;
char path[32];
Expand Down
65 changes: 65 additions & 0 deletions boards/xtensa/esp32/esp32-devkitc/configs/nvblk/defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#
# 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_LEDS is not set
# CONFIG_NSH_ARGCAT is not set
# CONFIG_NSH_CMDOPT_HEXDUMP is not set
CONFIG_ARCH="xtensa"
CONFIG_ARCH_BOARD="esp32-devkitc"
CONFIG_ARCH_BOARD_COMMON=y
CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
CONFIG_ARCH_CHIP="esp32"
CONFIG_ARCH_CHIP_ESP32=y
CONFIG_ARCH_CHIP_ESP32WROVER=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARCH_USE_TEXT_HEAP=y
CONFIG_ARCH_XTENSA=y
CONFIG_BOARDCTL_ROMDISK=y
CONFIG_BOARD_LOOPSPERMSEC=16717
CONFIG_BUILTIN=y
CONFIG_DEBUG_FULLOPT=y
CONFIG_DEBUG_SYMBOLS=y
CONFIG_ESP32_IRAM_HEAP=y
CONFIG_ESP32_SPIFLASH=y
CONFIG_ESP32_UART0=y
CONFIG_EXAMPLES_HELLO=y
CONFIG_EXECFUNCS_HAVE_SYMTAB=y
CONFIG_EXECFUNCS_SYSTEM_SYMTAB=y
CONFIG_FS_FAT=y
CONFIG_FS_PROCFS=y
CONFIG_HAVE_CXX=y
CONFIG_HAVE_CXXINITIALIZE=y
CONFIG_IDLETHREAD_STACKSIZE=3072
CONFIG_INIT_ENTRYPOINT="nsh_main"
CONFIG_INIT_STACKSIZE=3072
CONFIG_INTELHEX_BINARY=y
CONFIG_LIBC_EXECFUNCS=y
CONFIG_LIBC_PERROR_STDOUT=y
CONFIG_LIBC_STRERROR=y
CONFIG_LINE_MAX=64
CONFIG_MM_REGIONS=3
CONFIG_MTD_NVBLK=y
CONFIG_NSH_ARCHINIT=y
CONFIG_NSH_BUILTIN_APPS=y
CONFIG_NSH_FILEIOSIZE=512
CONFIG_NSH_READLINE=y
CONFIG_PREALLOC_TIMERS=4
CONFIG_RAM_SIZE=114688
CONFIG_RAM_START=0x20000000
CONFIG_RR_INTERVAL=200
CONFIG_SCHED_HPWORK=y
CONFIG_SCHED_LPWORK=y
CONFIG_SCHED_WAITPID=y
CONFIG_STACK_COLORATION=y
CONFIG_START_DAY=6
CONFIG_START_MONTH=12
CONFIG_START_YEAR=2011
CONFIG_SYMTAB_ORDEREDBYNAME=y
CONFIG_SYSLOG_BUFFER=y
CONFIG_SYSTEM_NSH=y
CONFIG_TLS_NELEM=4
CONFIG_UART0_SERIAL_CONSOLE=y
1 change: 1 addition & 0 deletions drivers/mtd/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
/dhara
/nvblk
19 changes: 19 additions & 0 deletions drivers/mtd/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1459,6 +1459,25 @@ config DHARA_READ_NCACHES
default 4
endif

config MTD_NVBLK
bool "MTD using Non Volatile BLock driver"
default n

if MTD_NVBLK

config MTD_NVBLK_DEFAULT_LBS
int "nvblk (logical) block size"
default 256

config MTD_NVBLK_DEFAULT_IOBS
int "nvblk io block size (block device sector size)"
default 512

config MTD_NVBLK_DEFAULT_SPEB
int "nvblk spare erase blocks"
default 1
endif

config MTD_CFI
bool "CFI(common flash interface) NOR FLASH"
default n
Expand Down
23 changes: 23 additions & 0 deletions drivers/mtd/Make.defs
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,29 @@ CSRCS += mtd/dhara/dhara/journal.c
CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)drivers$(DELIM)mtd$(DELIM)dhara
endif

ifeq ($(CONFIG_MTD_NVBLK),y)

main.zip:
$(call DOWNLOAD,https://github.com/Laczen/nvblk/archive/refs/heads,main.zip,mtd/nvblk-main.zip)

.nvblkunpack: main.zip
$(Q) unzip mtd/nvblk-main.zip
$(call DELFILE, mtd/nvblk-main.zip)
$(Q) mv nvblk-main mtd/nvblk
$(Q) touch mtd/nvblk/.nvblkunpack

ifeq ($(wildcard mtd/nvblk/.gitignore),)
context:: .nvblkunpack
endif

distclean::
$(call DELDIR, mtd/nvblk)

CSRCS += nvblk.c
CSRCS += mtd/nvblk/src/nvblk.c
CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)drivers$(DELIM)mtd$(DELIM)nvblk$(DELIM)include
endif

ifeq ($(CONFIG_MTD_CFI),y)
CSRCS += mtd_cfi.c
CSRCS += cfi.c
Expand Down
Loading
Loading