xref: /linux/drivers/mtd/parsers/Kconfig (revision 71e2f4dd5a65bd8dbca0b77661e75eea471168f8)
1# SPDX-License-Identifier: GPL-2.0-only
2config MTD_AR7_PARTS
3	tristate "TI AR7 partitioning parser"
4	help
5	  TI AR7 partitioning parser support
6
7config MTD_BCM47XX_PARTS
8	tristate "BCM47XX partitioning parser"
9	depends on BCM47XX || ARCH_BCM_5301X
10	help
11	  This provides partitions parser for devices based on BCM47xx
12	  boards.
13
14config MTD_BCM63XX_PARTS
15	tristate "BCM63XX CFE partitioning parser"
16	depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST
17	select CRC32
18	select MTD_PARSER_IMAGETAG
19	help
20	  This provides partition parsing for BCM63xx devices with CFE
21	  bootloaders.
22
23config MTD_CMDLINE_PARTS
24	tristate "Command line partition table parsing"
25	depends on MTD
26	help
27	  Allow generic configuration of the MTD partition tables via the kernel
28	  command line. Multiple flash resources are supported for hardware where
29	  different kinds of flash memory are available.
30
31	  You will still need the parsing functions to be called by the driver
32	  for your particular device. It won't happen automatically. The
33	  SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for
34	  example.
35
36	  The format for the command line is as follows:
37
38	  mtdparts=<mtddef>[;<mtddef]
39	  <mtddef>  := <mtd-id>:<partdef>[,<partdef>]
40	  <partdef> := <size>[@offset][<name>][ro]
41	  <mtd-id>  := unique id used in mapping driver/device
42	  <size>    := standard linux memsize OR "-" to denote all
43	  remaining space
44	  <name>    := (NAME)
45
46	  Due to the way Linux handles the command line, no spaces are
47	  allowed in the partition definition, including mtd id's and partition
48	  names.
49
50	  Examples:
51
52	  1 flash resource (mtd-id "sa1100"), with 1 single writable partition:
53	  mtdparts=sa1100:-
54
55	  Same flash, but 2 named partitions, the first one being read-only:
56	  mtdparts=sa1100:256k(ARMboot)ro,-(root)
57
58	  If unsure, say 'N'.
59
60config MTD_OF_PARTS
61	tristate "OpenFirmware (device tree) partitioning parser"
62	default y
63	depends on OF
64	help
65	  This provides a open firmware device tree partition parser
66	  which derives the partition map from the children of the
67	  flash memory node, as described in
68	  Documentation/devicetree/bindings/mtd/partition.txt.
69
70config MTD_PARSER_IMAGETAG
71	tristate "Parser for BCM963XX Image Tag format partitions"
72	depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST
73	select CRC32
74	help
75	  Image Tag is the firmware header used by broadcom on their xDSL line
76	  of devices. It is used to describe the offsets and lengths of kernel
77	  and rootfs partitions.
78	  This driver adds support for parsing a partition with an Image Tag
79	  header and creates up to two partitions, kernel and rootfs.
80
81config MTD_AFS_PARTS
82	tristate "ARM Firmware Suite partition parsing"
83	depends on (ARM || ARM64)
84	help
85	  The ARM Firmware Suite allows the user to divide flash devices into
86	  multiple 'images'. Each such image has a header containing its name
87	  and offset/size etc.
88
89	  If you need code which can detect and parse these tables, and
90	  register MTD 'partitions' corresponding to each image detected,
91	  enable this option.
92
93	  You will still need the parsing functions to be called by the driver
94	  for your particular device. It won't happen automatically. The
95	  'physmap' map driver (CONFIG_MTD_PHYSMAP) does this, for example.
96
97config MTD_PARSER_TRX
98	tristate "Parser for TRX format partitions"
99	depends on MTD && (BCM47XX || ARCH_BCM_5301X || COMPILE_TEST)
100	help
101	  TRX is a firmware format used by Broadcom on their devices. It
102	  may contain up to 3/4 partitions (depending on the version).
103	  This driver will parse TRX header and report at least two partitions:
104	  kernel and rootfs.
105
106config MTD_SHARPSL_PARTS
107	tristate "Sharp SL Series NAND flash partition parser"
108	depends on MTD_NAND_SHARPSL || MTD_NAND_TMIO || COMPILE_TEST
109	help
110	  This provides the read-only FTL logic necessary to read the partition
111	  table from the NAND flash of Sharp SL Series (Zaurus) and the MTD
112	  partition parser using this code.
113
114config MTD_REDBOOT_PARTS
115	tristate "RedBoot partition table parsing"
116	help
117	  RedBoot is a ROM monitor and bootloader which deals with multiple
118	  'images' in flash devices by putting a table one of the erase
119	  blocks on the device, similar to a partition table, which gives
120	  the offsets, lengths and names of all the images stored in the
121	  flash.
122
123	  If you need code which can detect and parse this table, and register
124	  MTD 'partitions' corresponding to each image in the table, enable
125	  this option.
126
127	  You will still need the parsing functions to be called by the driver
128	  for your particular device. It won't happen automatically. The
129	  SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for
130	  example.
131
132if MTD_REDBOOT_PARTS
133
134config MTD_REDBOOT_DIRECTORY_BLOCK
135	int "Location of RedBoot partition table"
136	default "-1"
137	help
138	  This option is the Linux counterpart to the
139	  CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK RedBoot compile time
140	  option.
141
142	  The option specifies which Flash sectors holds the RedBoot
143	  partition table.  A zero or positive value gives an absolute
144	  erase block number. A negative value specifies a number of
145	  sectors before the end of the device.
146
147	  For example "2" means block number 2, "-1" means the last
148	  block and "-2" means the penultimate block.
149
150config MTD_REDBOOT_PARTS_UNALLOCATED
151	bool "Include unallocated flash regions"
152	help
153	  If you need to register each unallocated flash region as a MTD
154	  'partition', enable this option.
155
156config MTD_REDBOOT_PARTS_READONLY
157	bool "Force read-only for RedBoot system images"
158	help
159	  If you need to force read-only for 'RedBoot', 'RedBoot Config' and
160	  'FIS directory' images, enable this option.
161
162endif # MTD_REDBOOT_PARTS
163