Merge tag 'selinux-pr-20180629' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / 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 };