Benjamin Valentin
02f37b998a
drivers/at24cxxx: export page-wise write function
...
Export the _write_page() function so it can be used by the MTD subsystem.
2020-08-18 17:25:40 +02:00
Benjamin Valentin
277452807b
cpu/esp_common: flash: implement write_page()
2020-08-18 17:25:40 +02:00
Benjamin Valentin
f3500257b1
pkg/littlefs: use page-addressed MTD operations
2020-08-18 17:25:40 +02:00
Benjamin Valentin
7c8fe862ce
drivers/at25xxx: export page-wise write function
...
Export the _write_page() function so it can be used by the MTD subsystem.
2020-08-18 17:25:40 +02:00
Benjamin Valentin
c2492209d8
pkg/littlefs2: use page-addressed MTD operations
2020-08-18 17:25:40 +02:00
Benjamin Valentin
68a47b63e3
drivers/mtd_spi_nor: implement mtd_spi_nor_write_page()
2020-08-18 17:25:39 +02:00
Benjamin Valentin
c436c39ea8
pkg/fatfs: use page-wise read() and write()
...
The FAT file system operates on sectors (pages), so use the new
mtd_write_page() and mtd_read_page() functions.
This also avoids the wrap-around after reading/writing past 4 GiB.
2020-08-18 17:25:39 +02:00
Benjamin Valentin
7d291b5707
drivers/mtd_sdard: implement page-wise read() and write()
...
SD cards are usually larger than 4 GiB, so using 32 bit addressing will
break once they are filled to a certain extend.
Implement read_page() and write_page() which at a page size of 512
should work for SD cards of up to 2 TiB.
The read() and write() functions will ignore any offset that is not aligned
with the page boundary, so do the same for the new functions, but at least
report an error.
2020-08-18 17:25:39 +02:00
Benjamin Valentin
4034f96169
mtd: add page addressed operations
...
Currently read(), write() and erase() all use 32 bit addressing.
This is a problem when writing to media > 4 GiB, e.g. SD cards.
The current implementation would wrap around after 4 GiB and corrupt data.
To avoid this, add functions to the MTD subsystem that allow for page-wise
addressing. This is how most of the underling storage drivers and the
file-systems above work anyway.
In the future we should then deprecate the 32-bit functions if all drivers
are converted.
2020-08-18 17:25:39 +02:00
2f3f1e0da2
p-l496g-cell02: remove obsolete spi_divtable include
2020-08-18 16:55:12 +02:00
742aa4ecde
nucleo-l496zg: remove obsolete spi_divtable include
2020-08-18 16:55:12 +02:00
f487b14adf
nucleo-l476rg: remove obsolete spi_divtable include
2020-08-18 16:55:11 +02:00
bcfa11e39d
nucleo-l433rc: remove obsolete spi_divtable include
2020-08-18 16:55:11 +02:00
1091850607
nucleo-l432kc: remove obsolete spi_divtable include
2020-08-18 16:55:11 +02:00
8db457867a
nucleo-l412kb: remove obsolete spi_divtable include
2020-08-18 16:55:11 +02:00
2aa7914879
b-l475e-iot01a: remove obsolete spi_divtable include
2020-08-18 16:55:11 +02:00
ef82cebdd0
common/stm32: remove obsolete spi_divtable config
2020-08-18 16:55:11 +02:00
01d7d55a6f
weact-f411ce: remove obsolete spi_divtable
2020-08-18 16:55:10 +02:00
23d5e9202d
ublox-c030-u201: remove obsolete spi_divtable
2020-08-18 16:55:10 +02:00
01737936f1
stm32l0538-disco: remove obsolete spi_divtable
2020-08-18 16:55:10 +02:00
1fe7f3d028
stm32f723e-disco: remove obsolete spi_divtable
2020-08-18 16:55:10 +02:00
dc890c4505
stm32f4discovery: remove obsolete spi_divtable
2020-08-18 16:55:10 +02:00
b478202702
stm32f429i-disc1: remove obsolete spi_divtable include
2020-08-18 16:55:10 +02:00
89f422f370
stm32f3discovery: remove obsolete spi_divtable
2020-08-18 16:55:10 +02:00
f53983e5fa
stm32f0discovery: remove obsolete spi_divtable
2020-08-18 16:55:09 +02:00
ca7f50c169
stm32f030f4-demo: remove obsolete spi_divtable
2020-08-18 16:55:09 +02:00
f2c4a14d64
spark-core: remove obsolete spi_divtable
2020-08-18 16:55:09 +02:00
540501fe12
pyboard: remove obsolete spi_divtable
2020-08-18 16:55:09 +02:00
16271f253b
p-nucleo-wb55: remove obsolete spi_divtable
2020-08-18 16:55:09 +02:00
d02fc52a0e
olimexino-stm32: remove obsolete spi_divtable
2020-08-18 16:55:09 +02:00
f77c4f8068
nz32-sc151: remove obsolete spi_divtable
2020-08-18 16:55:08 +02:00
c04429838c
nucleo-l4r5zi: remove obsolete spi_divtable
2020-08-18 16:55:08 +02:00
b99d486602
nucleo-l452re: remove obsolete spi_divtable
2020-08-18 16:55:08 +02:00
c5f471fe44
nucleo-l152re: remove obsolete spi_divtable
2020-08-18 16:55:08 +02:00
80c4d39f63
nucleo-l073rz: remove obsolete spi_divtable
2020-08-18 16:55:08 +02:00
75fdaba0ad
nucleo-l053r8: remove obsolete spi_divtable
2020-08-18 16:55:08 +02:00
fcc19960b9
nucleo-l031k6: remove obsolete spi_divtable
2020-08-18 16:55:08 +02:00
7f5fdf250e
nucleo-g474re: remove obsolete spi_divtable
2020-08-18 16:55:07 +02:00
92e9a312ee
nucleo-g070rb: remove obsolete spi_divtable
2020-08-18 16:55:07 +02:00
2fad084504
nucleo-f767zi: remove obsolete spi_divtable include
2020-08-18 16:55:07 +02:00
37606a86e9
nucleo-f446ze: remove obsolete spi_divtable include
2020-08-18 16:55:07 +02:00
6dceb16971
nucleo-f446re: remove obsolete spi_divtable include
2020-08-18 16:55:07 +02:00
69892c22b2
nucleo-f429zi: remove obsolete spi_divtable include
2020-08-18 16:55:07 +02:00
d955fd1dd7
nucleo-f413zh: remove obsolete spi_divtable
2020-08-18 16:55:06 +02:00
fde8a79b6b
nucleo-f412zg: remove obsolete spi_divtable
2020-08-18 16:55:06 +02:00
3a8a610145
nucleo-f411re: remove obsolete spi_divtable
2020-08-18 16:55:06 +02:00
157cd03efb
nucleo-f410rb: remove obsolete spi_divtable
2020-08-18 16:55:06 +02:00
f8041e8124
nucleo-f401re: remove obsolete spi_divtable
2020-08-18 16:55:06 +02:00
b820bac363
nucleo-f334r8: remove obsolete spi_divtable
2020-08-18 16:55:06 +02:00
b564b38ba2
nucleo-f303ze: remove obsolete spi_divtable
2020-08-18 16:55:05 +02:00