|  | # SPDX-License-Identifier: GPL-2.0-only | 
|  | 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_BRCM_U_BOOT | 
|  | tristate "Broadcom's U-Boot partition parser" | 
|  | depends on ARCH_BCMBCA || COMPILE_TEST | 
|  | help | 
|  | Broadcom uses a custom way of storing U-Boot environment variables. | 
|  | They are placed inside U-Boot partition itself at unspecified offset. | 
|  | It's possible to locate them by looking for a custom header with a | 
|  | magic value. This driver does that and creates subpartitions for | 
|  | each found environment variables block. | 
|  |  | 
|  | 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=<mtddef>[;<mtddef] | 
|  | <mtddef>  := <mtd-id>:<partdef>[,<partdef>] | 
|  | <partdef> := <size>[@offset][<name>][ro] | 
|  | <mtd-id>  := unique id used in mapping driver/device | 
|  | <size>    := standard linux memsize OR "-" to denote all | 
|  | remaining space | 
|  | <name>    := (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_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/mtd.yaml. | 
|  |  | 
|  | config MTD_OF_PARTS_BCM4908 | 
|  | bool "BCM4908 partitioning support" | 
|  | depends on MTD_OF_PARTS && (ARCH_BCMBCA || COMPILE_TEST) | 
|  | default ARCH_BCMBCA | 
|  | 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_BCMBCA || 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 || 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. |