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