summaryrefslogtreecommitdiff
path: root/board/nvidia/seaboard/flashmap-ro-1mb.dtsi
blob: 1fc68127864ea7360312381b785f0ad828781ff0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/*
 * Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

/*
 * This is a sub-fmap embedded into twostop fmap. This sub-fmap defines
 * the layout of the R/O portion.
 *
 * The R/O blobs only consumes 1 MB space so that it could be possible to
 * squeeze the final image (R/O + R/W) into 2 MB space. As a result, even if
 * the target machine has a 4 MB flash chip and enables write-protect for the
 * first 2 MB space, only the first 1 MB will contain R/O blobs and the rest
 * 1 MB will be empty.
 */

/ {
	/*
	 * Labels have been selected to be to compatible with existing tools,
	 * even thought the terminology may be a little different on ARM.
	 * Names will be capitalized and hyphen converted to underscore by
	 * cros_bundle_firmware.
	 */
	flash@0 {
                /* ---- Section: Read-only ---- */
		ro-section@0 {
                        label = "ro-section";
			reg = <0x00000000 0x000f0000>;
			read-only;
		};

		ro-boot@0 {
			label = "boot-stub";
			reg = <0x00000000 0x000aff00>; /* 703 KB */
			read-only;
			type = "blob signed";
		};
		ro-recovery@aff00 {
			/* Deprecated section */
			label = "recovery";
			reg = <0x000aff00 0x00000000>;
			read-only;
		};
		ro-firmware-id@aff00 {
			label = "ro-frid";
			reg = <0x000aff00 0x00000100>;
			read-only;
			type = "blobstring fwid";
		};
		ro-fmap@b0000 {
			label = "fmap";

			/* We encourage to align FMAP partition in as large
			 * block as possible so that flashrom can find it soon.
			 * For example, aligning to 512KB is better than to
			 * 256KB. */

			reg = <0x000b0000 0x00001000>;
			read-only;
			type = "fmap";
			ver-major = <1>;
			ver-minor = <0>;
		};
		ro-gbb@b1000 {
			label = "gbb";

			/* GBB offset must be aligned to 4K bytes */
			reg = <0x000b1000 0x0003f000>;
			read-only;
			type = "blob gbb";
		};
		ro-data@f0000 {
		        /* Currently unused, simply for padding */
			label = "ro-data";
			reg = <0x000f0000 0x00000000>;
			read-only;
		};

                /* ---- Section: Vital-product data (VPD) ---- */
		ro-vpd@f0000 {
			label = "ro-vpd";

			/* VPD offset must be aligned to 4K bytes */
			reg = <0x000f0000 0x00010000>;
			read-only;
			type = "wiped";
			wipe-value = [ff];
		};
	};
};