# SPDX-License-Identifier: GPL-2.0-only config MTD_AR7_PARTS tristate "TI AR7 partitioning parser" help TI AR7 partitioning parser support config MTD_BCM47XX_PARTS tristate "BCM47XX partitioning parser" depends on BCM47XX || ARCH_BCM_5301X help This provides partitions parser for devices based on BCM47xx boards. config MTD_BCM63XX_PARTS bool "BCM63XX CFE partitioning parser" depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST select CRC32 select MTD_PARSER_IMAGETAG help This provides partition parsing for BCM63xx devices with CFE bootloaders. config MTD_CMDLINE_PARTS tristate "Command line partition table parsing" depends on MTD help Allow generic configuration of the MTD partition tables via the kernel command line. Multiple flash resources are supported for hardware where different kinds of flash memory are available. You will still need the parsing functions to be called by the driver for your particular device. It won't happen automatically. The SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for example. The format for the command line is as follows: mtdparts=[; := :[,] := [@offset][][ro] := unique id used in mapping driver/device := standard linux memsize OR "-" to denote all remaining space := (NAME) Due to the way Linux handles the command line, no spaces are allowed in the partition definition, including mtd id's and partition names. Examples: 1 flash resource (mtd-id "sa1100"), with 1 single writable partition: mtdparts=sa1100:- Same flash, but 2 named partitions, the first one being read-only: mtdparts=sa1100:256k(ARMboot)ro,-(root) If unsure, say 'N'. config MTD_MYLOADER_PARTS tristate "MyLoader partition parsing" depends on ADM5120 || ATH25 || ATH79 help MyLoader is a bootloader which allows the user to define partitions in flash devices, by putting a table in the second erase block on the device, similar to a partition table. This table gives the offsets and lengths of the user defined partitions. If you need code which can detect and parse these tables, and register MTD 'partitions' corresponding to each image detected, enable this option. You will still need the parsing functions to be called by the driver for your particular device. It won't happen automatically. config MTD_OF_PARTS tristate "OpenFirmware (device tree) partitioning parser" default y depends on OF help This provides a open firmware device tree partition parser which derives the partition map from the children of the flash memory node, as described in Documentation/devicetree/bindings/mtd/partition.txt. config MTD_OF_PARTS_BCM4908 bool "BCM4908 partitioning support" depends on MTD_OF_PARTS && (ARCH_BCM4908 || COMPILE_TEST) default ARCH_BCM4908 help This provides partitions parser for BCM4908 family devices that can have multiple "firmware" partitions. It takes care of finding currently used one and backup ones. config MTD_OF_PARTS_LINKSYS_NS bool "Linksys Northstar partitioning support" depends on MTD_OF_PARTS && (ARCH_BCM_5301X || ARCH_BCM4908 || COMPILE_TEST) default ARCH_BCM_5301X help This provides partitions parser for Linksys devices based on Broadcom Northstar architecture. Linksys commonly uses fixed flash layout with two "firmware" partitions. Currently used firmware has to be detected using CFE environment variable. config MTD_PARSER_IMAGETAG tristate "Parser for BCM963XX Image Tag format partitions" depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST select CRC32 help Image Tag is the firmware header used by broadcom on their xDSL line of devices. It is used to describe the offsets and lengths of kernel and rootfs partitions. This driver adds support for parsing a partition with an Image Tag header and creates up to two partitions, kernel and rootfs. config MTD_AFS_PARTS tristate "ARM Firmware Suite partition parsing" depends on (ARM || ARM64) help The ARM Firmware Suite allows the user to divide flash devices into multiple 'images'. Each such image has a header containing its name and offset/size etc. If you need code which can detect and parse these tables, and register MTD 'partitions' corresponding to each image detected, enable this option. You will still need the parsing functions to be called by the driver for your particular device. It won't happen automatically. The 'physmap' map driver (CONFIG_MTD_PHYSMAP) does this, for example. config MTD_PARSER_TPLINK_SAFELOADER tristate "TP-Link Safeloader partitions parser" depends on MTD && (ARCH_BCM_5301X || ATH79 || SOC_MT7620 || SOC_MT7621 || COMPILE_TEST) help TP-Link home routers use flash partitions to store various data. Info about flash space layout is stored in a partitions table using a custom ASCII-based format. That format was first found in devices with SafeLoader bootloader and was named after it. Later it was adapted to CFE and U-Boot bootloaders. This driver reads partitions table, parses it and creates MTD partitions. config MTD_PARSER_TRX tristate "Parser for TRX format partitions" depends on MTD && (BCM47XX || ARCH_BCM_5301X || ARCH_MEDIATEK || RALINK || COMPILE_TEST) help TRX is a firmware format used by Broadcom on their devices. It may contain up to 3/4 partitions (depending on the version). This driver will parse TRX header and report at least two partitions: kernel and rootfs. config MTD_SHARPSL_PARTS tristate "Sharp SL Series NAND flash partition parser" depends on MTD_NAND_SHARPSL || MTD_NAND_TMIO || COMPILE_TEST help This provides the read-only FTL logic necessary to read the partition table from the NAND flash of Sharp SL Series (Zaurus) and the MTD partition parser using this code. config MTD_REDBOOT_PARTS tristate "RedBoot partition table parsing" help RedBoot is a ROM monitor and bootloader which deals with multiple 'images' in flash devices by putting a table one of the erase blocks on the device, similar to a partition table, which gives the offsets, lengths and names of all the images stored in the flash. If you need code which can detect and parse this table, and register MTD 'partitions' corresponding to each image in the table, enable this option. You will still need the parsing functions to be called by the driver for your particular device. It won't happen automatically. The SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for example. if MTD_REDBOOT_PARTS config MTD_REDBOOT_DIRECTORY_BLOCK int "Location of RedBoot partition table" default "-1" help This option is the Linux counterpart to the CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK RedBoot compile time option. The option specifies which Flash sectors holds the RedBoot partition table. A zero or positive value gives an absolute erase block number. A negative value specifies a number of sectors before the end of the device. For example "2" means block number 2, "-1" means the last block and "-2" means the penultimate block. config MTD_REDBOOT_PARTS_UNALLOCATED bool "Include unallocated flash regions" help If you need to register each unallocated flash region as a MTD 'partition', enable this option. config MTD_REDBOOT_PARTS_READONLY bool "Force read-only for RedBoot system images" help If you need to force read-only for 'RedBoot', 'RedBoot Config' and 'FIS directory' images, enable this option. endif # MTD_REDBOOT_PARTS config MTD_QCOMSMEM_PARTS tristate "Qualcomm SMEM flash partition parser" depends on QCOM_SMEM help This provides support for parsing partitions from Shared Memory (SMEM) for NAND and SPI flash on Qualcomm platforms. config MTD_SERCOMM_PARTS tristate "Sercomm partition table parser" depends on MTD && RALINK help This provides partitions table parser for devices with Sercomm partition map. This partition table contains real partition offsets, which may differ from device to device depending on the number and location of bad blocks on NAND. config MTD_ROUTERBOOT_PARTS tristate "RouterBoot flash partition parser" depends on MTD && OF help MikroTik RouterBoot is implemented as a multi segment system on the flash, some of which are fixed and some of which are located at variable offsets. This parser handles both cases via properly formatted DTS.