2019-05-19 20:07:45 +08:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2019-08-13 15:25:27 +08:00
|
|
|
config MTD_AR7_PARTS
|
|
|
|
tristate "TI AR7 partitioning parser"
|
|
|
|
help
|
|
|
|
TI AR7 partitioning parser support
|
|
|
|
|
2019-08-13 15:25:28 +08:00
|
|
|
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.
|
|
|
|
|
2019-08-13 15:25:29 +08:00
|
|
|
config MTD_BCM63XX_PARTS
|
|
|
|
tristate "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.
|
|
|
|
|
2019-08-13 15:25:31 +08:00
|
|
|
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'.
|
|
|
|
|
2019-08-13 15:25:30 +08:00
|
|
|
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/partition.txt.
|
|
|
|
|
2019-03-28 22:19:08 +08:00
|
|
|
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.
|
|
|
|
|
2019-05-02 22:30:26 +08:00
|
|
|
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.
|
|
|
|
|
2017-06-21 14:26:47 +08:00
|
|
|
config MTD_PARSER_TRX
|
|
|
|
tristate "Parser for TRX format partitions"
|
|
|
|
depends on MTD && (BCM47XX || ARCH_BCM_5301X || 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.
|
mtd: sharpslpart: Add sharpslpart partition parser
The Sharp SL Series (Zaurus) PXA handhelds have 16/64/128M of NAND flash
and share the same layout of the first 7M partition, managed by Sharp FTL.
GPL 2.4 sources: http://support.ezaurus.com/developer/source/source_dl.asp
The purpose of this self-contained patch is to add a common parser and
remove the hardcoded sizes in the board files (these devices are not yet
converted to devicetree).
Users will have benefits because the mtdparts= tag will not be necessary
anymore and they will be free to repartition the little sized flash.
The obsolete bootloader can not pass the partitioning info to modern
kernels anymore so it has to be read from flash at known logical addresses.
(see http://www.h5.dion.ne.jp/~rimemoon/zaurus/memo_006.htm )
In kernel, under arch/arm/mach-pxa we have already 8 machines:
MACH_POODLE, MACH_CORGI, MACH_SHEPERD, MACH_HUSKY, MACH_AKITA, MACH_SPITZ,
MACH_BORZOI, MACH_TOSA.
Lost after the 2.4 vendor kernel are MACH_BOXER and MACH_TERRIER.
Almost every model has different factory partitioning: add to this the
units can be repartitioned by users with userspace tools (nandlogical)
and installers for popular (back then) linux distributions.
The Parameter Area in the first (boot) partition extends from 0x00040000 to
0x0007bfff (176k) and contains two copies of the partition table:
...
0x00060000: Partition Info1 16k
0x00064000: Partition Info2 16k
0x00668000: Model 16k
...
The first 7M partition is managed by the Sharp FTL reserving 5% + 1 blocks
for wear-leveling: some blocks are remapped and one layer of translation
(logical to physical) is necessary.
There isn't much documentation about this FTL in the 2.4 sources, just the
MTD methods for reading and writing using logical addresses and the block
management (wear-leveling, use counter).
It seems this FTL was tailored with 16KiB eraesize in mind so to fit one
param block exactly, to have two copies of the partition table on two
blocks.
Later pxa27x devices have same size but 128KiB erasesize and less blocks
(56 vs. 448) but the same schema was adopted, even if the two tables are
now in the same eraseblock.
For the purpose of the MTD parser only the read part of the code was taken.
The NAND drivers that can use this parser are sharpsl.c and tmio_nand.c.
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
2017-09-01 05:05:07 +08:00
|
|
|
|
|
|
|
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.
|
2018-11-11 04:01:25 +08:00
|
|
|
|
|
|
|
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
|