Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: mtd: document Broadcom's BCM47xx partitions

Broadcom based home router devices use partitions which have to be
discovered in a specific way. They are not fixed and there is not any
standard partition table. This commit adds and describes a new custom
binding for such devices.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>

authored by

Rafał Miłecki and committed by
Boris Brezillon
5178b99c ea092fb3

+43 -1
+1 -1
Documentation/devicetree/bindings/mtd/partition.txt
··· 14 14 a subnode of the flash device that is named 'partitions'. It must have a 15 15 'compatible' property, which is used to identify the method to use. 16 16 17 - We currently only document a binding for fixed layouts. 17 + Available bindings are listed in the "partitions" subdirectory. 18 18 19 19 20 20 Fixed Partitions
+42
Documentation/devicetree/bindings/mtd/partitions/brcm,bcm947xx-cfe-partitions.txt
··· 1 + Broadcom BCM47xx Partitions 2 + =========================== 3 + 4 + Broadcom is one of hardware manufacturers providing SoCs (BCM47xx) used in 5 + home routers. Their BCM947xx boards using CFE bootloader have several partitions 6 + without any on-flash partition table. On some devices their sizes and/or 7 + meanings can also vary so fixed partitioning can't be used. 8 + 9 + Discovering partitions on these devices is possible thanks to having a special 10 + header and/or magic signature at the beginning of each of them. They are also 11 + block aligned which is important for determinig a size. 12 + 13 + Most of partitions use ASCII text based magic for determining a type. More 14 + complex partitions (like TRX with its HDR0 magic) may include extra header 15 + containing some details, including a length. 16 + 17 + A list of supported partitions includes: 18 + 1) Bootloader with Broadcom's CFE (Common Firmware Environment) 19 + 2) NVRAM with configuration/calibration data 20 + 3) Device manufacturer's data with some default values (e.g. SSIDs) 21 + 4) TRX firmware container which can hold up to 4 subpartitions 22 + 5) Backup TRX firmware used after failed upgrade 23 + 24 + As mentioned earlier, role of some partitions may depend on extra configuration. 25 + For example both: main firmware and backup firmware use the same TRX format with 26 + the same header. To distinguish currently used firmware a CFE's environment 27 + variable "bootpartition" is used. 28 + 29 + 30 + Devices using Broadcom partitions described above should should have flash node 31 + with a subnode named "partitions" using following properties: 32 + 33 + Required properties: 34 + - compatible : (required) must be "brcm,bcm947xx-cfe-partitions" 35 + 36 + Example: 37 + 38 + flash@0 { 39 + partitions { 40 + compatible = "brcm,bcm947xx-cfe-partitions"; 41 + }; 42 + };