GNU Linux-libre 6.8.7-gnu
[releases.git] / drivers / mtd / parsers / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 config MTD_BCM47XX_PARTS
3         tristate "BCM47XX partitioning parser"
4         depends on BCM47XX || ARCH_BCM_5301X
5         help
6           This provides partitions parser for devices based on BCM47xx
7           boards.
8
9 config MTD_BCM63XX_PARTS
10         bool "BCM63XX CFE partitioning parser"
11         depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST
12         select CRC32
13         select MTD_PARSER_IMAGETAG
14         help
15           This provides partition parsing for BCM63xx devices with CFE
16           bootloaders.
17
18 config MTD_BRCM_U_BOOT
19         tristate "Broadcom's U-Boot partition parser"
20         depends on ARCH_BCMBCA || COMPILE_TEST
21         help
22           Broadcom uses a custom way of storing U-Boot environment variables.
23           They are placed inside U-Boot partition itself at unspecified offset.
24           It's possible to locate them by looking for a custom header with a
25           magic value. This driver does that and creates subpartitions for
26           each found environment variables block.
27
28 config MTD_CMDLINE_PARTS
29         tristate "Command line partition table parsing"
30         depends on MTD
31         help
32           Allow generic configuration of the MTD partition tables via the kernel
33           command line. Multiple flash resources are supported for hardware where
34           different kinds of flash memory are available.
35
36           You will still need the parsing functions to be called by the driver
37           for your particular device. It won't happen automatically. The
38           SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for
39           example.
40
41           The format for the command line is as follows:
42
43           mtdparts=<mtddef>[;<mtddef]
44           <mtddef>  := <mtd-id>:<partdef>[,<partdef>]
45           <partdef> := <size>[@offset][<name>][ro]
46           <mtd-id>  := unique id used in mapping driver/device
47           <size>    := standard linux memsize OR "-" to denote all
48           remaining space
49           <name>    := (NAME)
50
51           Due to the way Linux handles the command line, no spaces are
52           allowed in the partition definition, including mtd id's and partition
53           names.
54
55           Examples:
56
57           1 flash resource (mtd-id "sa1100"), with 1 single writable partition:
58           mtdparts=sa1100:-
59
60           Same flash, but 2 named partitions, the first one being read-only:
61           mtdparts=sa1100:256k(ARMboot)ro,-(root)
62
63           If unsure, say 'N'.
64
65 config MTD_OF_PARTS
66         tristate "OpenFirmware (device tree) partitioning parser"
67         default y
68         depends on OF
69         help
70           This provides a open firmware device tree partition parser
71           which derives the partition map from the children of the
72           flash memory node, as described in
73           Documentation/devicetree/bindings/mtd/mtd.yaml.
74
75 config MTD_OF_PARTS_BCM4908
76         bool "BCM4908 partitioning support"
77         depends on MTD_OF_PARTS && (ARCH_BCMBCA || COMPILE_TEST)
78         default ARCH_BCMBCA
79         help
80           This provides partitions parser for BCM4908 family devices
81           that can have multiple "firmware" partitions. It takes care of
82           finding currently used one and backup ones.
83
84 config MTD_OF_PARTS_LINKSYS_NS
85         bool "Linksys Northstar partitioning support"
86         depends on MTD_OF_PARTS && (ARCH_BCM_5301X || ARCH_BCMBCA || COMPILE_TEST)
87         default ARCH_BCM_5301X
88         help
89           This provides partitions parser for Linksys devices based on Broadcom
90           Northstar architecture. Linksys commonly uses fixed flash layout with
91           two "firmware" partitions. Currently used firmware has to be detected
92           using CFE environment variable.
93
94 config MTD_PARSER_IMAGETAG
95         tristate "Parser for BCM963XX Image Tag format partitions"
96         depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST
97         select CRC32
98         help
99           Image Tag is the firmware header used by broadcom on their xDSL line
100           of devices. It is used to describe the offsets and lengths of kernel
101           and rootfs partitions.
102           This driver adds support for parsing a partition with an Image Tag
103           header and creates up to two partitions, kernel and rootfs.
104
105 config MTD_AFS_PARTS
106         tristate "ARM Firmware Suite partition parsing"
107         depends on (ARM || ARM64)
108         help
109           The ARM Firmware Suite allows the user to divide flash devices into
110           multiple 'images'. Each such image has a header containing its name
111           and offset/size etc.
112
113           If you need code which can detect and parse these tables, and
114           register MTD 'partitions' corresponding to each image detected,
115           enable this option.
116
117           You will still need the parsing functions to be called by the driver
118           for your particular device. It won't happen automatically. The
119           'physmap' map driver (CONFIG_MTD_PHYSMAP) does this, for example.
120
121 config MTD_PARSER_TPLINK_SAFELOADER
122         tristate "TP-Link Safeloader partitions parser"
123         depends on MTD && (ARCH_BCM_5301X || ATH79 || SOC_MT7620 || SOC_MT7621 || COMPILE_TEST)
124         help
125           TP-Link home routers use flash partitions to store various data. Info
126           about flash space layout is stored in a partitions table using a
127           custom ASCII-based format.
128
129           That format was first found in devices with SafeLoader bootloader and
130           was named after it. Later it was adapted to CFE and U-Boot
131           bootloaders.
132
133           This driver reads partitions table, parses it and creates MTD
134           partitions.
135
136 config MTD_PARSER_TRX
137         tristate "Parser for TRX format partitions"
138         depends on MTD && (BCM47XX || ARCH_BCM_5301X || ARCH_MEDIATEK || RALINK || COMPILE_TEST)
139         help
140           TRX is a firmware format used by Broadcom on their devices. It
141           may contain up to 3/4 partitions (depending on the version).
142           This driver will parse TRX header and report at least two partitions:
143           kernel and rootfs.
144
145 config MTD_SHARPSL_PARTS
146         tristate "Sharp SL Series NAND flash partition parser"
147         depends on MTD_NAND_SHARPSL || COMPILE_TEST
148         help
149           This provides the read-only FTL logic necessary to read the partition
150           table from the NAND flash of Sharp SL Series (Zaurus) and the MTD
151           partition parser using this code.
152
153 config MTD_REDBOOT_PARTS
154         tristate "RedBoot partition table parsing"
155         help
156           RedBoot is a ROM monitor and bootloader which deals with multiple
157           'images' in flash devices by putting a table one of the erase
158           blocks on the device, similar to a partition table, which gives
159           the offsets, lengths and names of all the images stored in the
160           flash.
161
162           If you need code which can detect and parse this table, and register
163           MTD 'partitions' corresponding to each image in the table, enable
164           this option.
165
166           You will still need the parsing functions to be called by the driver
167           for your particular device. It won't happen automatically. The
168           SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for
169           example.
170
171 if MTD_REDBOOT_PARTS
172
173 config MTD_REDBOOT_DIRECTORY_BLOCK
174         int "Location of RedBoot partition table"
175         default "-1"
176         help
177           This option is the Linux counterpart to the
178           CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK RedBoot compile time
179           option.
180
181           The option specifies which Flash sectors holds the RedBoot
182           partition table.  A zero or positive value gives an absolute
183           erase block number. A negative value specifies a number of
184           sectors before the end of the device.
185
186           For example "2" means block number 2, "-1" means the last
187           block and "-2" means the penultimate block.
188
189 config MTD_REDBOOT_PARTS_UNALLOCATED
190         bool "Include unallocated flash regions"
191         help
192           If you need to register each unallocated flash region as a MTD
193           'partition', enable this option.
194
195 config MTD_REDBOOT_PARTS_READONLY
196         bool "Force read-only for RedBoot system images"
197         help
198           If you need to force read-only for 'RedBoot', 'RedBoot Config' and
199           'FIS directory' images, enable this option.
200
201 endif # MTD_REDBOOT_PARTS
202
203 config MTD_QCOMSMEM_PARTS
204         tristate "Qualcomm SMEM flash partition parser"
205         depends on QCOM_SMEM
206         help
207           This provides support for parsing partitions from Shared Memory (SMEM)
208           for NAND and SPI flash on Qualcomm platforms.
209
210 config MTD_SERCOMM_PARTS
211         tristate "Sercomm partition table parser"
212         depends on MTD && RALINK
213         help
214           This provides partitions table parser for devices with Sercomm
215           partition map. This partition table contains real partition
216           offsets, which may differ from device to device depending on the
217           number and location of bad blocks on NAND.