# 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_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 || 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.
