xref: /src/sys/contrib/device-tree/Bindings/mtd/partitions/brcm,bcm947xx-cfe-partitions.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1c4fc09e2SEmmanuel VadotBroadcom BCM47xx Partitions
2c4fc09e2SEmmanuel Vadot===========================
3c4fc09e2SEmmanuel Vadot
4c4fc09e2SEmmanuel VadotBroadcom is one of hardware manufacturers providing SoCs (BCM47xx) used in
5c4fc09e2SEmmanuel Vadothome routers. Their BCM947xx boards using CFE bootloader have several partitions
6c4fc09e2SEmmanuel Vadotwithout any on-flash partition table. On some devices their sizes and/or
7c4fc09e2SEmmanuel Vadotmeanings can also vary so fixed partitioning can't be used.
8c4fc09e2SEmmanuel Vadot
9c4fc09e2SEmmanuel VadotDiscovering partitions on these devices is possible thanks to having a special
10c4fc09e2SEmmanuel Vadotheader and/or magic signature at the beginning of each of them. They are also
11c4fc09e2SEmmanuel Vadotblock aligned which is important for determinig a size.
12c4fc09e2SEmmanuel Vadot
13c4fc09e2SEmmanuel VadotMost of partitions use ASCII text based magic for determining a type. More
14c4fc09e2SEmmanuel Vadotcomplex partitions (like TRX with its HDR0 magic) may include extra header
15c4fc09e2SEmmanuel Vadotcontaining some details, including a length.
16c4fc09e2SEmmanuel Vadot
17c4fc09e2SEmmanuel VadotA list of supported partitions includes:
18c4fc09e2SEmmanuel Vadot1) Bootloader with Broadcom's CFE (Common Firmware Environment)
19c4fc09e2SEmmanuel Vadot2) NVRAM with configuration/calibration data
20c4fc09e2SEmmanuel Vadot3) Device manufacturer's data with some default values (e.g. SSIDs)
21c4fc09e2SEmmanuel Vadot4) TRX firmware container which can hold up to 4 subpartitions
22c4fc09e2SEmmanuel Vadot5) Backup TRX firmware used after failed upgrade
23c4fc09e2SEmmanuel Vadot
24c4fc09e2SEmmanuel VadotAs mentioned earlier, role of some partitions may depend on extra configuration.
25c4fc09e2SEmmanuel VadotFor example both: main firmware and backup firmware use the same TRX format with
26c4fc09e2SEmmanuel Vadotthe same header. To distinguish currently used firmware a CFE's environment
27c4fc09e2SEmmanuel Vadotvariable "bootpartition" is used.
28c4fc09e2SEmmanuel Vadot
29c4fc09e2SEmmanuel Vadot
30c4fc09e2SEmmanuel VadotDevices using Broadcom partitions described above should should have flash node
31c4fc09e2SEmmanuel Vadotwith a subnode named "partitions" using following properties:
32c4fc09e2SEmmanuel Vadot
33c4fc09e2SEmmanuel VadotRequired properties:
34c4fc09e2SEmmanuel Vadot- compatible : (required) must be "brcm,bcm947xx-cfe-partitions"
35c4fc09e2SEmmanuel Vadot
36c4fc09e2SEmmanuel VadotExample:
37c4fc09e2SEmmanuel Vadot
38c4fc09e2SEmmanuel Vadotflash@0 {
39c4fc09e2SEmmanuel Vadot	partitions {
40c4fc09e2SEmmanuel Vadot		compatible = "brcm,bcm947xx-cfe-partitions";
41c4fc09e2SEmmanuel Vadot	};
42c4fc09e2SEmmanuel Vadot};
43