hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/drivers/mtd/parsers/Kconfig
....@@ -1,3 +1,99 @@
1
+# SPDX-License-Identifier: GPL-2.0-only
2
+config MTD_AR7_PARTS
3
+ tristate "TI AR7 partitioning parser"
4
+ help
5
+ TI AR7 partitioning parser support
6
+
7
+config 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
+
14
+config MTD_BCM63XX_PARTS
15
+ bool "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
+
23
+config 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
+
60
+config 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
+
70
+config 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
+
81
+config 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
+
197 config MTD_PARSER_TRX
298 tristate "Parser for TRX format partitions"
399 depends on MTD && (BCM47XX || ARCH_BCM_5301X || COMPILE_TEST)
....@@ -14,3 +110,53 @@
14110 This provides the read-only FTL logic necessary to read the partition
15111 table from the NAND flash of Sharp SL Series (Zaurus) and the MTD
16112 partition parser using this code.
113
+
114
+config 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
+
132
+if MTD_REDBOOT_PARTS
133
+
134
+config 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
+
150
+config 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
+
156
+config 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
+
162
+endif # MTD_REDBOOT_PARTS