nuttx/drivers/mtd
jsanchez-2g 8e6b925200 mtd/ramtron: Add optional byte-write support.
Implement the MTD write callback when CONFIG_MTD_BYTE_WRITE is enabled,
allowing unaligned byte writes without changing existing block operations.
Reject ranges outside the physical device and return zero for valid empty
writes without SPI traffic.

Use the initialized SPI device ID, hold the bus lock across the request,
and issue write-enable for each transfer. With CONFIG_RAMTRON_CHUNKING,
split writes at the write-buffer boundaries of chunk-limited parts.
Document the optional callback and its bounds and chunk behavior.

Verified with mocked-SPI host tests, driver compilation with byte writes
and chunking enabled/disabled, and a Conductor STM32H743BI hardware test
covering single-byte and unaligned writes, surrounding-byte preservation,
invalid ranges, and restoration of the original FRAM contents. Hardware
coverage is limited to the installed 32 KiB part.

Assisted-by: Codex:GPT-6
Signed-off-by: jsanchez-2g <jsanchez@2g-eng.com>
2026-10-09 12:13:18 +08:00
..
.gitignore drivers/mtd: introduce nvblk 2025-08-06 01:53:56 +08:00
at24xx.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
at25.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
at25ee.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
at45db.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
cfi.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
cfi.h drivers/mtd: cfi-flash driver 2025-02-11 17:23:44 +08:00
CMakeLists.txt drivers/mtd: add MX25UW25645G support 2026-08-19 19:16:00 +02:00
dhara.c drivers/: Multiple Drivers Are Registered With World Writable Part 3 2026-07-16 09:49:07 -03:00
filemtd.c drivers/mtd/filemtd: fix nxstyle errors in filemtd.c 2026-09-04 08:51:20 +08:00
ftl.c libs/libc: Fix divide-by-zero in stat() with large filesystem block sizes 2026-07-16 23:37:22 +08:00
gd5f.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
gd25.c drivers/mtd/gd25.c: ensure the device is not in power down mode 2026-09-08 08:59:33 +08:00
gd55.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
hamming.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
is25xp.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
Kconfig drivers/mtd: add MX25UW25645G support 2026-08-19 19:16:00 +02:00
m25px.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
Make.defs drivers/mtd: add MX25UW25645G support 2026-08-19 19:16:00 +02:00
mtd_cfi.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
mtd_config.c drivers/mtd/mtd_config: fix UAF in mtdconfig_unregister_by_path 2026-09-17 11:30:34 -03:00
mtd_config_nvs.c sched/semaphore: Fix pre-existing nxstyle issues in the touched files 2026-09-25 10:37:43 +02:00
mtd_modeltab.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
mtd_nand.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
mtd_nandecc.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
mtd_nandmodel.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
mtd_nandram.c fs/mnemofs: Add mnemofs version 1 support. 2026-05-19 10:29:11 +08:00
mtd_nandscheme.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
mtd_nandwrapper.c fs/mnemofs: Add mnemofs version 1 support. 2026-05-19 10:29:11 +08:00
mtd_onfi.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
mtd_partition.c !include/fcntl.h: align open flags with Linux values 2026-06-30 13:43:44 +08:00
mtd_progmem.c drivers/mtd: Make compile time check for sane mtd isbad/markbad configuration 2026-06-16 14:12:44 +08:00
mtd_rwbuffer.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
mx25lx.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
mx25rxx.c drivers/mtd/mx25rxx.c: add support for MX25L12873G 2026-05-20 14:50:18 -03:00
mx25uw25645g.c drivers/mtd: add MX25UW25645G support 2026-08-19 19:16:00 +02:00
mx35.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
n25qxxx.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
nullmtd.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
nvblk.c drivers/: Multiple Drivers Are Registered With World Writable Part 3 2026-07-16 09:49:07 -03:00
rammtd.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
ramtron.c mtd/ramtron: Add optional byte-write support. 2026-10-09 12:13:18 +08:00
rpmsgmtd.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
rpmsgmtd.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
rpmsgmtd_server.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
s25fl1.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
sector512.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
skeleton.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
smart.c libs/libc: Fix divide-by-zero in stat() with large filesystem block sizes 2026-07-16 23:37:22 +08:00
sst25.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
sst25xx.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
sst26.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
sst39vf.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
w25.c drivers/mtd: Add 4-byte addressing support for W25Q256 and W25Q512. 2026-10-08 16:17:04 -03:00
w25n.c drivers/mtd/w25n: address review comments 2026-04-23 16:26:44 +02:00
w25qxxxjv.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00