0001 # SPDX-License-Identifier: GPL-2.0-only
0002 config MTD_AR7_PARTS
0003 tristate "TI AR7 partitioning parser"
0004 help
0005 TI AR7 partitioning parser support
0006
0007 config MTD_BCM47XX_PARTS
0008 tristate "BCM47XX partitioning parser"
0009 depends on BCM47XX || ARCH_BCM_5301X
0010 help
0011 This provides partitions parser for devices based on BCM47xx
0012 boards.
0013
0014 config MTD_BCM63XX_PARTS
0015 bool "BCM63XX CFE partitioning parser"
0016 depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST
0017 select CRC32
0018 select MTD_PARSER_IMAGETAG
0019 help
0020 This provides partition parsing for BCM63xx devices with CFE
0021 bootloaders.
0022
0023 config MTD_CMDLINE_PARTS
0024 tristate "Command line partition table parsing"
0025 depends on MTD
0026 help
0027 Allow generic configuration of the MTD partition tables via the kernel
0028 command line. Multiple flash resources are supported for hardware where
0029 different kinds of flash memory are available.
0030
0031 You will still need the parsing functions to be called by the driver
0032 for your particular device. It won't happen automatically. The
0033 SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for
0034 example.
0035
0036 The format for the command line is as follows:
0037
0038 mtdparts=<mtddef>[;<mtddef]
0039 <mtddef> := <mtd-id>:<partdef>[,<partdef>]
0040 <partdef> := <size>[@offset][<name>][ro]
0041 <mtd-id> := unique id used in mapping driver/device
0042 <size> := standard linux memsize OR "-" to denote all
0043 remaining space
0044 <name> := (NAME)
0045
0046 Due to the way Linux handles the command line, no spaces are
0047 allowed in the partition definition, including mtd id's and partition
0048 names.
0049
0050 Examples:
0051
0052 1 flash resource (mtd-id "sa1100"), with 1 single writable partition:
0053 mtdparts=sa1100:-
0054
0055 Same flash, but 2 named partitions, the first one being read-only:
0056 mtdparts=sa1100:256k(ARMboot)ro,-(root)
0057
0058 If unsure, say 'N'.
0059
0060 config MTD_OF_PARTS
0061 tristate "OpenFirmware (device tree) partitioning parser"
0062 default y
0063 depends on OF
0064 help
0065 This provides a open firmware device tree partition parser
0066 which derives the partition map from the children of the
0067 flash memory node, as described in
0068 Documentation/devicetree/bindings/mtd/partition.txt.
0069
0070 config MTD_OF_PARTS_BCM4908
0071 bool "BCM4908 partitioning support"
0072 depends on MTD_OF_PARTS && (ARCH_BCM4908 || COMPILE_TEST)
0073 default ARCH_BCM4908
0074 help
0075 This provides partitions parser for BCM4908 family devices
0076 that can have multiple "firmware" partitions. It takes care of
0077 finding currently used one and backup ones.
0078
0079 config MTD_OF_PARTS_LINKSYS_NS
0080 bool "Linksys Northstar partitioning support"
0081 depends on MTD_OF_PARTS && (ARCH_BCM_5301X || ARCH_BCM4908 || COMPILE_TEST)
0082 default ARCH_BCM_5301X
0083 help
0084 This provides partitions parser for Linksys devices based on Broadcom
0085 Northstar architecture. Linksys commonly uses fixed flash layout with
0086 two "firmware" partitions. Currently used firmware has to be detected
0087 using CFE environment variable.
0088
0089 config MTD_PARSER_IMAGETAG
0090 tristate "Parser for BCM963XX Image Tag format partitions"
0091 depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST
0092 select CRC32
0093 help
0094 Image Tag is the firmware header used by broadcom on their xDSL line
0095 of devices. It is used to describe the offsets and lengths of kernel
0096 and rootfs partitions.
0097 This driver adds support for parsing a partition with an Image Tag
0098 header and creates up to two partitions, kernel and rootfs.
0099
0100 config MTD_AFS_PARTS
0101 tristate "ARM Firmware Suite partition parsing"
0102 depends on (ARM || ARM64)
0103 help
0104 The ARM Firmware Suite allows the user to divide flash devices into
0105 multiple 'images'. Each such image has a header containing its name
0106 and offset/size etc.
0107
0108 If you need code which can detect and parse these tables, and
0109 register MTD 'partitions' corresponding to each image detected,
0110 enable this option.
0111
0112 You will still need the parsing functions to be called by the driver
0113 for your particular device. It won't happen automatically. The
0114 'physmap' map driver (CONFIG_MTD_PHYSMAP) does this, for example.
0115
0116 config MTD_PARSER_TRX
0117 tristate "Parser for TRX format partitions"
0118 depends on MTD && (BCM47XX || ARCH_BCM_5301X || ARCH_MEDIATEK || RALINK || COMPILE_TEST)
0119 help
0120 TRX is a firmware format used by Broadcom on their devices. It
0121 may contain up to 3/4 partitions (depending on the version).
0122 This driver will parse TRX header and report at least two partitions:
0123 kernel and rootfs.
0124
0125 config MTD_SHARPSL_PARTS
0126 tristate "Sharp SL Series NAND flash partition parser"
0127 depends on MTD_NAND_SHARPSL || MTD_NAND_TMIO || COMPILE_TEST
0128 help
0129 This provides the read-only FTL logic necessary to read the partition
0130 table from the NAND flash of Sharp SL Series (Zaurus) and the MTD
0131 partition parser using this code.
0132
0133 config MTD_REDBOOT_PARTS
0134 tristate "RedBoot partition table parsing"
0135 help
0136 RedBoot is a ROM monitor and bootloader which deals with multiple
0137 'images' in flash devices by putting a table one of the erase
0138 blocks on the device, similar to a partition table, which gives
0139 the offsets, lengths and names of all the images stored in the
0140 flash.
0141
0142 If you need code which can detect and parse this table, and register
0143 MTD 'partitions' corresponding to each image in the table, enable
0144 this option.
0145
0146 You will still need the parsing functions to be called by the driver
0147 for your particular device. It won't happen automatically. The
0148 SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for
0149 example.
0150
0151 if MTD_REDBOOT_PARTS
0152
0153 config MTD_REDBOOT_DIRECTORY_BLOCK
0154 int "Location of RedBoot partition table"
0155 default "-1"
0156 help
0157 This option is the Linux counterpart to the
0158 CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK RedBoot compile time
0159 option.
0160
0161 The option specifies which Flash sectors holds the RedBoot
0162 partition table. A zero or positive value gives an absolute
0163 erase block number. A negative value specifies a number of
0164 sectors before the end of the device.
0165
0166 For example "2" means block number 2, "-1" means the last
0167 block and "-2" means the penultimate block.
0168
0169 config MTD_REDBOOT_PARTS_UNALLOCATED
0170 bool "Include unallocated flash regions"
0171 help
0172 If you need to register each unallocated flash region as a MTD
0173 'partition', enable this option.
0174
0175 config MTD_REDBOOT_PARTS_READONLY
0176 bool "Force read-only for RedBoot system images"
0177 help
0178 If you need to force read-only for 'RedBoot', 'RedBoot Config' and
0179 'FIS directory' images, enable this option.
0180
0181 endif # MTD_REDBOOT_PARTS
0182
0183 config MTD_QCOMSMEM_PARTS
0184 tristate "Qualcomm SMEM flash partition parser"
0185 depends on QCOM_SMEM
0186 help
0187 This provides support for parsing partitions from Shared Memory (SMEM)
0188 for NAND and SPI flash on Qualcomm platforms.
0189
0190 config MTD_SERCOMM_PARTS
0191 tristate "Sercomm partition table parser"
0192 depends on MTD && RALINK
0193 help
0194 This provides partitions table parser for devices with Sercomm
0195 partition map. This partition table contains real partition
0196 offsets, which may differ from device to device depending on the
0197 number and location of bad blocks on NAND.