/usr/src/linux-headers-5.15.0-190/include/linux/mtd
NameSizeModeActions
bbm.h48250644editdlrm
blktrans.h26820644editdlrm
cfi.h101440644editdlrm
cfi_endian.h15140644editdlrm
concat.h4930644editdlrm
doc2000.h55050644editdlrm
flashchip.h24780644editdlrm
ftl.h25510644editdlrm
gen_probe.h6150644editdlrm
hyperbus.h28930644editdlrm
inftl.h15990644editdlrm
jedec.h19050644editdlrm
latch-addr-flash.h7160644editdlrm
lpc32xx_mlc.h3850644editdlrm
lpc32xx_slc.h3850644editdlrm
map.h130160644editdlrm
mtd.h225690644editdlrm
mtdram.h2570644editdlrm
nand-ecc-sw-bch.h21170644editdlrm
nand-ecc-sw-hamming.h27170644editdlrm
nand-gpio.h3300644editdlrm
nand.h302840644editdlrm
ndfc.h20700644editdlrm
nftl.h17340644editdlrm
onenand.h79740644editdlrm
onenand_regs.h72170644editdlrm
onfi.h49620644editdlrm
partitions.h39460644editdlrm
pfow.h44890644editdlrm
physmap.h8080644editdlrm
pismo.h2710644editdlrm
plat-ram.h6680644editdlrm
platnand.h25450644editdlrm
qinfo.h25300644editdlrm
rawnand.h524000644editdlrm
sharpsl.h4850644editdlrm
sh_flctl.h59270644editdlrm
spear_smi.h17140644editdlrm
spi-nor.h172470644editdlrm
spinand.h162200644editdlrm
super.h5780644editdlrm
ubi.h99140644editdlrm
xip.h25560644editdlrm
Edit: /usr/src/linux-headers-5.15.0-190/include/linux/mtd/qinfo.h (2530B)
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __LINUX_MTD_QINFO_H #define __LINUX_MTD_QINFO_H #include #include #include #include #include #include #include /* lpddr_private describes lpddr flash chip in memory map * @ManufactId - Chip Manufacture ID * @DevId - Chip Device ID * @qinfo - pointer to qinfo records describing the chip * @numchips - number of chips including virual RWW partitions * @chipshift - Chip/partition size 2^chipshift * @chips - per-chip data structure */ struct lpddr_private { uint16_t ManufactId; uint16_t DevId; struct qinfo_chip *qinfo; int numchips; unsigned long chipshift; struct flchip chips[]; }; /* qinfo_query_info structure contains request information for * each qinfo record * @major - major number of qinfo record * @major - minor number of qinfo record * @id_str - descriptive string to access the record * @desc - detailed description for the qinfo record */ struct qinfo_query_info { uint8_t major; uint8_t minor; char *id_str; char *desc; }; /* * qinfo_chip structure contains necessary qinfo records data * @DevSizeShift - Device size 2^n bytes * @BufSizeShift - Program buffer size 2^n bytes * @TotalBlocksNum - Total number of blocks * @UniformBlockSizeShift - Uniform block size 2^UniformBlockSizeShift bytes * @HWPartsNum - Number of hardware partitions * @SuspEraseSupp - Suspend erase supported * @SingleWordProgTime - Single word program 2^SingleWordProgTime u-sec * @ProgBufferTime - Program buffer write 2^ProgBufferTime u-sec * @BlockEraseTime - Block erase 2^BlockEraseTime m-sec */ struct qinfo_chip { /* General device info */ uint16_t DevSizeShift; uint16_t BufSizeShift; /* Erase block information */ uint16_t TotalBlocksNum; uint16_t UniformBlockSizeShift; /* Partition information */ uint16_t HWPartsNum; /* Optional features */ uint16_t SuspEraseSupp; /* Operation typical time */ uint16_t SingleWordProgTime; uint16_t ProgBufferTime; uint16_t BlockEraseTime; }; /* defines for fixup usage */ #define LPDDR_MFR_ANY 0xffff #define LPDDR_ID_ANY 0xffff #define NUMONYX_MFGR_ID 0x0089 #define R18_DEVICE_ID_1G 0x893c static inline map_word lpddr_build_cmd(u_long cmd, struct map_info *map) { map_word val = { {0} }; val.x[0] = cmd; return val; } #define CMD(x) lpddr_build_cmd(x, map) #define CMDVAL(cmd) cmd.x[0] struct mtd_info *lpddr_cmdset(struct map_info *); #endif