linux/drivers/mtd
Miquel Raynal d7a773e881 mtd: rawnand: Access SDR and NV-DDR timings through a common macro
Most timings related to the bus timings are different between SDR and
NV-DDR. However, we identified 9 individual timings which are more
related to the NAND chip internals. These are common between the two
interface types. Fortunately, only these common timings are being shared
through the NAND core and its ->exec_op() interface, which allows the
writing of a simple macro checking the interface type and depending on
it, returning either the relevant SDR timing or the NV-DDR timing. This
is the purpose of the NAND_COMMON_TIMING_PS() macro.

As all this is evaluated at build time, one will immediately be notified
in case a non common timing is being accessed through this macro.

Two handy macros are also inserted at the same time, which use
PSEC_TO_NSEC or PSEC_TO_MSEC so that it is very easy to return timings
in milli-, nano- or pico-seconds, as usually requested by the internal
API.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20210505213750.257417-14-miquel.raynal@bootlin.com
2021-05-26 10:43:54 +02:00
..
chips mtd: core: Constify buf in mtd_write_user_prot_reg() 2021-04-16 20:30:54 +02:00
devices mtd: core: Constify buf in mtd_write_user_prot_reg() 2021-04-16 20:30:54 +02:00
hyperbus mtd: hyperbus: Fix build failure when only RPCIF_HYPERBUS is enabled 2020-10-12 21:12:08 +02:00
lpddr mtd: lpddr: fix excessive stack usage with clang 2020-08-27 14:36:07 +02:00
maps MTD core: 2021-04-26 16:16:09 -07:00
nand mtd: rawnand: Access SDR and NV-DDR timings through a common macro 2021-05-26 10:43:54 +02:00
parsers mtd: parsers: ofpart: support Linksys Northstar partitions 2021-03-28 19:27:02 +02:00
spi-nor mtd: core: Constify buf in mtd_write_user_prot_reg() 2021-04-16 20:30:54 +02:00
tests mtd: nand: ecc-hamming: Rename the exported functions 2020-12-10 22:37:29 +01:00
ubi ubi: Remove unnecessary struct declaration 2021-04-15 22:01:25 +02:00
ftl.c mtd: ftl: Use module_mtd_blktrans to register driver 2021-03-11 09:37:48 +01:00
inftlcore.c mtd: inftlcore: Use module_mtd_blktrans to register driver 2021-03-11 09:37:48 +01:00
inftlmount.c mtd: fix spelling mistake "BlockMultiplerBits" -> "BlockMultiplierBits" 2020-03-11 14:49:30 +01:00
Kconfig mtd: nand: ecc-hamming: Move Hamming code to the generic NAND layer 2020-12-10 22:37:29 +01:00
Makefile mtd: Support kmsg dumper based on pstore/blk 2020-05-31 19:49:01 -07:00
mtd_blkdevs.c mtd_blkdevs: don't override BLKFLSBUF 2020-11-16 08:14:29 -07:00
mtdblock_ro.c mtd: mtdblock_ro: Use module_mtd_blktrans to register driver 2021-03-11 09:37:48 +01:00
mtdblock.c mtd: mtdblock: Use module_mtd_blktrans to register driver 2021-03-11 09:37:48 +01:00
mtdchar.c mtd: add OTP (one-time-programmable) erase ioctl 2021-03-28 19:24:54 +02:00
mtdconcat.c mtd: mtdconcat: map: remove redundant assignment to variable 'size' 2020-09-11 18:49:34 +02:00
mtdcore.c mtd: core: Constify buf in mtd_write_user_prot_reg() 2021-04-16 20:30:54 +02:00
mtdcore.h mtd: Provide fs_context-aware mount_mtd() replacement 2019-09-05 14:34:23 -04:00
mtdoops.c printk: introduce a kmsg_dump iterator 2021-03-08 11:43:27 +01:00
mtdpart.c mtd: don't lock when recursively deleting partitions 2021-03-11 09:37:49 +01:00
mtdpstore.c iov_iter: Move unnecessary inclusion of crypto/hash.h 2020-06-30 09:34:23 -04:00
mtdsuper.c block: remove i_bdev 2020-12-01 14:53:39 -07:00
mtdswap.c mtd: mtdswap: Use module_mtd_blktrans to register driver 2021-03-11 09:37:48 +01:00
nftlcore.c mtd: nftlcore: Use module_mtd_blktrans to register driver 2021-03-11 09:37:48 +01:00
nftlmount.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
rfd_ftl.c mtd: rfd_ftl: Use module_mtd_blktrans to register driver 2021-03-11 09:37:49 +01:00
sm_ftl.c mtd: nand: ecc-hamming: Rename the exported functions 2020-12-10 22:37:29 +01:00
sm_ftl.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ssfdc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00