xref: /linux/drivers/mtd/parsers/Kconfig (revision 2365f91c861cbfeef7141c69842848c7b2d3c2db)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
25a4a335aSLinus Walleijconfig MTD_AR7_PARTS
35a4a335aSLinus Walleij	tristate "TI AR7 partitioning parser"
45a4a335aSLinus Walleij	help
55a4a335aSLinus Walleij	  TI AR7 partitioning parser support
65a4a335aSLinus Walleij
711f74023SLinus Walleijconfig MTD_BCM47XX_PARTS
811f74023SLinus Walleij	tristate "BCM47XX partitioning parser"
911f74023SLinus Walleij	depends on BCM47XX || ARCH_BCM_5301X
1011f74023SLinus Walleij	help
1111f74023SLinus Walleij	  This provides partitions parser for devices based on BCM47xx
1211f74023SLinus Walleij	  boards.
1311f74023SLinus Walleij
14ac37d352SLinus Walleijconfig MTD_BCM63XX_PARTS
15b597cc75SFlorian Fainelli	bool "BCM63XX CFE partitioning parser"
16ac37d352SLinus Walleij	depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST
17ac37d352SLinus Walleij	select CRC32
18ac37d352SLinus Walleij	select MTD_PARSER_IMAGETAG
19ac37d352SLinus Walleij	help
20ac37d352SLinus Walleij	  This provides partition parsing for BCM63xx devices with CFE
21ac37d352SLinus Walleij	  bootloaders.
22ac37d352SLinus Walleij
23a3f12a35SLinus Walleijconfig MTD_CMDLINE_PARTS
24a3f12a35SLinus Walleij	tristate "Command line partition table parsing"
25a3f12a35SLinus Walleij	depends on MTD
26a3f12a35SLinus Walleij	help
27a3f12a35SLinus Walleij	  Allow generic configuration of the MTD partition tables via the kernel
28a3f12a35SLinus Walleij	  command line. Multiple flash resources are supported for hardware where
29a3f12a35SLinus Walleij	  different kinds of flash memory are available.
30a3f12a35SLinus Walleij
31a3f12a35SLinus Walleij	  You will still need the parsing functions to be called by the driver
32a3f12a35SLinus Walleij	  for your particular device. It won't happen automatically. The
33a3f12a35SLinus Walleij	  SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for
34a3f12a35SLinus Walleij	  example.
35a3f12a35SLinus Walleij
36a3f12a35SLinus Walleij	  The format for the command line is as follows:
37a3f12a35SLinus Walleij
38a3f12a35SLinus Walleij	  mtdparts=<mtddef>[;<mtddef]
39a3f12a35SLinus Walleij	  <mtddef>  := <mtd-id>:<partdef>[,<partdef>]
40a3f12a35SLinus Walleij	  <partdef> := <size>[@offset][<name>][ro]
41a3f12a35SLinus Walleij	  <mtd-id>  := unique id used in mapping driver/device
42a3f12a35SLinus Walleij	  <size>    := standard linux memsize OR "-" to denote all
43a3f12a35SLinus Walleij	  remaining space
44a3f12a35SLinus Walleij	  <name>    := (NAME)
45a3f12a35SLinus Walleij
46a3f12a35SLinus Walleij	  Due to the way Linux handles the command line, no spaces are
47a3f12a35SLinus Walleij	  allowed in the partition definition, including mtd id's and partition
48a3f12a35SLinus Walleij	  names.
49a3f12a35SLinus Walleij
50a3f12a35SLinus Walleij	  Examples:
51a3f12a35SLinus Walleij
52a3f12a35SLinus Walleij	  1 flash resource (mtd-id "sa1100"), with 1 single writable partition:
53a3f12a35SLinus Walleij	  mtdparts=sa1100:-
54a3f12a35SLinus Walleij
55a3f12a35SLinus Walleij	  Same flash, but 2 named partitions, the first one being read-only:
56a3f12a35SLinus Walleij	  mtdparts=sa1100:256k(ARMboot)ro,-(root)
57a3f12a35SLinus Walleij
58a3f12a35SLinus Walleij	  If unsure, say 'N'.
59a3f12a35SLinus Walleij
60c5da56f7SLinus Walleijconfig MTD_OF_PARTS
61c5da56f7SLinus Walleij	tristate "OpenFirmware (device tree) partitioning parser"
62c5da56f7SLinus Walleij	default y
63c5da56f7SLinus Walleij	depends on OF
64c5da56f7SLinus Walleij	help
65c5da56f7SLinus Walleij	  This provides a open firmware device tree partition parser
66c5da56f7SLinus Walleij	  which derives the partition map from the children of the
67c5da56f7SLinus Walleij	  flash memory node, as described in
68c5da56f7SLinus Walleij	  Documentation/devicetree/bindings/mtd/partition.txt.
69c5da56f7SLinus Walleij
70bb17230cSRafał Miłeckiconfig MTD_OF_PARTS_BCM4908
71bb17230cSRafał Miłecki	bool "BCM4908 partitioning support"
72bb17230cSRafał Miłecki	depends on MTD_OF_PARTS && (ARCH_BCM4908 || COMPILE_TEST)
73bb17230cSRafał Miłecki	default ARCH_BCM4908
74bb17230cSRafał Miłecki	help
75bb17230cSRafał Miłecki	  This provides partitions parser for BCM4908 family devices
76bb17230cSRafał Miłecki	  that can have multiple "firmware" partitions. It takes care of
77bb17230cSRafał Miłecki	  finding currently used one and backup ones.
78bb17230cSRafał Miłecki
797134a2d0SRafał Miłeckiconfig MTD_OF_PARTS_LINKSYS_NS
807134a2d0SRafał Miłecki	bool "Linksys Northstar partitioning support"
817134a2d0SRafał Miłecki	depends on MTD_OF_PARTS && (ARCH_BCM_5301X || ARCH_BCM4908 || COMPILE_TEST)
827134a2d0SRafał Miłecki	default ARCH_BCM_5301X
837134a2d0SRafał Miłecki	help
847134a2d0SRafał Miłecki	  This provides partitions parser for Linksys devices based on Broadcom
857134a2d0SRafał Miłecki	  Northstar architecture. Linksys commonly uses fixed flash layout with
867134a2d0SRafał Miłecki	  two "firmware" partitions. Currently used firmware has to be detected
877134a2d0SRafał Miłecki	  using CFE environment variable.
887134a2d0SRafał Miłecki
89dd84cb02SJonas Gorskiconfig MTD_PARSER_IMAGETAG
90dd84cb02SJonas Gorski	tristate "Parser for BCM963XX Image Tag format partitions"
91dd84cb02SJonas Gorski	depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST
92dd84cb02SJonas Gorski	select CRC32
93dd84cb02SJonas Gorski	help
94dd84cb02SJonas Gorski	  Image Tag is the firmware header used by broadcom on their xDSL line
95dd84cb02SJonas Gorski	  of devices. It is used to describe the offsets and lengths of kernel
96dd84cb02SJonas Gorski	  and rootfs partitions.
97dd84cb02SJonas Gorski	  This driver adds support for parsing a partition with an Image Tag
98dd84cb02SJonas Gorski	  header and creates up to two partitions, kernel and rootfs.
99dd84cb02SJonas Gorski
1002aa3b8e1SLinus Walleijconfig MTD_AFS_PARTS
1012aa3b8e1SLinus Walleij	tristate "ARM Firmware Suite partition parsing"
1022aa3b8e1SLinus Walleij	depends on (ARM || ARM64)
1032aa3b8e1SLinus Walleij	help
1042aa3b8e1SLinus Walleij	  The ARM Firmware Suite allows the user to divide flash devices into
1052aa3b8e1SLinus Walleij	  multiple 'images'. Each such image has a header containing its name
1062aa3b8e1SLinus Walleij	  and offset/size etc.
1072aa3b8e1SLinus Walleij
1082aa3b8e1SLinus Walleij	  If you need code which can detect and parse these tables, and
1092aa3b8e1SLinus Walleij	  register MTD 'partitions' corresponding to each image detected,
1102aa3b8e1SLinus Walleij	  enable this option.
1112aa3b8e1SLinus Walleij
1122aa3b8e1SLinus Walleij	  You will still need the parsing functions to be called by the driver
1132aa3b8e1SLinus Walleij	  for your particular device. It won't happen automatically. The
1142aa3b8e1SLinus Walleij	  'physmap' map driver (CONFIG_MTD_PHYSMAP) does this, for example.
1152aa3b8e1SLinus Walleij
11699352afeSRafał Miłeckiconfig MTD_PARSER_TRX
11799352afeSRafał Miłecki	tristate "Parser for TRX format partitions"
118*2365f91cSINAGAKI Hiroshi	depends on MTD && (BCM47XX || ARCH_BCM_5301X || ARCH_MEDIATEK || RALINK || COMPILE_TEST)
11999352afeSRafał Miłecki	help
12099352afeSRafał Miłecki	  TRX is a firmware format used by Broadcom on their devices. It
12199352afeSRafał Miłecki	  may contain up to 3/4 partitions (depending on the version).
12299352afeSRafał Miłecki	  This driver will parse TRX header and report at least two partitions:
12399352afeSRafał Miłecki	  kernel and rootfs.
1248a4580e4SAndrea Adami
1258a4580e4SAndrea Adamiconfig MTD_SHARPSL_PARTS
1268a4580e4SAndrea Adami	tristate "Sharp SL Series NAND flash partition parser"
1278a4580e4SAndrea Adami	depends on MTD_NAND_SHARPSL || MTD_NAND_TMIO || COMPILE_TEST
1288a4580e4SAndrea Adami	help
1298a4580e4SAndrea Adami	  This provides the read-only FTL logic necessary to read the partition
1308a4580e4SAndrea Adami	  table from the NAND flash of Sharp SL Series (Zaurus) and the MTD
1318a4580e4SAndrea Adami	  partition parser using this code.
13243f1fd01SLinus Walleij
13343f1fd01SLinus Walleijconfig MTD_REDBOOT_PARTS
13443f1fd01SLinus Walleij	tristate "RedBoot partition table parsing"
13543f1fd01SLinus Walleij	help
13643f1fd01SLinus Walleij	  RedBoot is a ROM monitor and bootloader which deals with multiple
13743f1fd01SLinus Walleij	  'images' in flash devices by putting a table one of the erase
13843f1fd01SLinus Walleij	  blocks on the device, similar to a partition table, which gives
13943f1fd01SLinus Walleij	  the offsets, lengths and names of all the images stored in the
14043f1fd01SLinus Walleij	  flash.
14143f1fd01SLinus Walleij
14243f1fd01SLinus Walleij	  If you need code which can detect and parse this table, and register
14343f1fd01SLinus Walleij	  MTD 'partitions' corresponding to each image in the table, enable
14443f1fd01SLinus Walleij	  this option.
14543f1fd01SLinus Walleij
14643f1fd01SLinus Walleij	  You will still need the parsing functions to be called by the driver
14743f1fd01SLinus Walleij	  for your particular device. It won't happen automatically. The
14843f1fd01SLinus Walleij	  SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for
14943f1fd01SLinus Walleij	  example.
15043f1fd01SLinus Walleij
15143f1fd01SLinus Walleijif MTD_REDBOOT_PARTS
15243f1fd01SLinus Walleij
15343f1fd01SLinus Walleijconfig MTD_REDBOOT_DIRECTORY_BLOCK
15443f1fd01SLinus Walleij	int "Location of RedBoot partition table"
15543f1fd01SLinus Walleij	default "-1"
15643f1fd01SLinus Walleij	help
15743f1fd01SLinus Walleij	  This option is the Linux counterpart to the
15843f1fd01SLinus Walleij	  CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK RedBoot compile time
15943f1fd01SLinus Walleij	  option.
16043f1fd01SLinus Walleij
16143f1fd01SLinus Walleij	  The option specifies which Flash sectors holds the RedBoot
16243f1fd01SLinus Walleij	  partition table.  A zero or positive value gives an absolute
16343f1fd01SLinus Walleij	  erase block number. A negative value specifies a number of
16443f1fd01SLinus Walleij	  sectors before the end of the device.
16543f1fd01SLinus Walleij
16643f1fd01SLinus Walleij	  For example "2" means block number 2, "-1" means the last
16743f1fd01SLinus Walleij	  block and "-2" means the penultimate block.
16843f1fd01SLinus Walleij
16943f1fd01SLinus Walleijconfig MTD_REDBOOT_PARTS_UNALLOCATED
17043f1fd01SLinus Walleij	bool "Include unallocated flash regions"
17143f1fd01SLinus Walleij	help
17243f1fd01SLinus Walleij	  If you need to register each unallocated flash region as a MTD
17343f1fd01SLinus Walleij	  'partition', enable this option.
17443f1fd01SLinus Walleij
17543f1fd01SLinus Walleijconfig MTD_REDBOOT_PARTS_READONLY
17643f1fd01SLinus Walleij	bool "Force read-only for RedBoot system images"
17743f1fd01SLinus Walleij	help
17843f1fd01SLinus Walleij	  If you need to force read-only for 'RedBoot', 'RedBoot Config' and
17943f1fd01SLinus Walleij	  'FIS directory' images, enable this option.
18043f1fd01SLinus Walleij
18143f1fd01SLinus Walleijendif # MTD_REDBOOT_PARTS
182803eb124SManivannan Sadhasivam
183803eb124SManivannan Sadhasivamconfig MTD_QCOMSMEM_PARTS
1841ca890d3SBaruch Siach	tristate "Qualcomm SMEM flash partition parser"
185803eb124SManivannan Sadhasivam	depends on QCOM_SMEM
186803eb124SManivannan Sadhasivam	help
187803eb124SManivannan Sadhasivam	  This provides support for parsing partitions from Shared Memory (SMEM)
1881ca890d3SBaruch Siach	  for NAND and SPI flash on Qualcomm platforms.
189