reef: fmap: Correct the ifd region marking
[depthcharge.git] / board / reef / fmap.dts
1 /dts-v1/;
2 /*
3  * NOTE: this needs to align with src/mainboard/google/reef/chromeos.fmd
4  * in the coreboot repository. Any changes made there should be reflected
5  * in this file. There are parallel notions of fmap information. However,
6  * both are used in different parts of the system so the right answer now
7  * is to keep them in sync.
8  */
9
10 / {
11         model = "Google Reef";
12         config {
13                 hwid = "REEF TEST 3240";
14         };
15         chromeos-config {
16                 /* Enable factory-friendly features. */
17                 gbb-flag-dev-screen-short-delay;
18                 gbb-flag-force-dev-switch-on;
19                 gbb-flag-force-dev-boot-usb;
20                 gbb-flag-disable-fw-rollback-check;
21         };
22         flash@ff800000 {
23                 #address-cells = <1>;
24                 #size-cells = <1>;
25                 compatible = "chromeos,flashmap";
26                 /* FIXME: the part is really 16MiB */
27                 reg = <0xff800000 0x00800000>;
28
29                 /*
30                 * Firmware Descriptor section of the Intel Firmware Descriptor
31                 * image.
32                 */
33                 si-desc {
34                         label = "si-desc";
35                         reg = <0x00000000 0x00001000>;
36                         type = "ifd";
37                 };
38                 bootblock {
39                         label = "bootblock";
40                         reg = <0x0007c480 0x00008000>;
41                 };
42                 ro-vpd {
43                         label = "ro-vpd";
44                         reg = <0x00200000 0x00004000>;
45                         read-only;
46                 };
47                 ro-fmap {
48                         label = "fmap";
49                         /*
50                         * We encourage to align FMAP partition in as large
51                         * block as possible so that flashrom can find it soon.
52                         * For example, aligning to 512KB is better than to
53                         * 256KB.
54                         */
55
56                         reg = <0x00204000 0x00000800>;
57                         read-only;
58                         type = "fmap";
59                         ver-major = <1>;
60                         ver-minor = <1>;
61                 };
62                 ro-frid {
63                         label = "ro-frid";
64                         reg = <0x00204800 0x00000040>;
65                         read-only;
66                 };
67                 ro-boot {
68                         label = "coreboot";
69                         reg = <0x00205000 0x0017b000>;
70                         read-only;
71                         type = "blob coreboot";
72                         required;
73                 };
74                 ro-gbb {
75                         label = "gbb";
76                         /* GBB offset must be aligned to 4K bytes */
77                         reg = <0x00380000 0x00040000>;
78                         read-only;
79                         type = "blob gbb";
80                 };
81                 ro-sig2 {
82                         label = "sign_cse";
83                         reg = <0x003c0000 0x00010000>;
84                         read-only;
85                         required;
86                 };
87                 /* ---- Section: Rewritable MRC cache 64KB ---- */
88                 rw-mrc-cache {
89                         label = "rw-mrc-cache";
90                         /* Alignment: 4k (for updating) */
91                         reg = <0x00400000 0x00010000>;
92                         type = "wiped";
93                         wipe-value = [ff];
94                 };
95                 /* ---- 16k of event log ---- */
96                 rw-elog {
97                         label = "rw-elog";
98                         /* Alignment: 4k (for updating) */
99                         reg = <0x00410000 0x00004000>;
100                         type = "wiped";
101                         wipe-value = [ff];
102                 };
103                 /* --- Section: Rewritable shared 16 KB --- */
104                 shared-section {
105                         /*
106                          * Alignment: 4k (for updating).
107                          * Anything in this range may be updated in recovery.
108                          */
109                         label = "rw-shared";
110                         reg = <0x00414000 0x00004000>;
111                 };
112                 shared-data {
113                         label = "shared-data";
114                         /*
115                          * Alignment: 4k (for random read/write).
116                          * RW firmware can put calibration data here.
117                          */
118                         reg = <0x00414000 0x00002000>;
119                         type = "wiped";
120                         wipe-value = [00];
121                 };
122                 rw-vblock-dev {
123                         label = "vblock-dev";
124                         /*
125                          * Alignment: 4k (for random read/write).
126                          * Reserve space for an optional user-installed
127                          * vblock to validate dev-mode kernels.
128                          * See crosbug.com/p/11216.
129                          */
130                         reg = <0x00416000 0x00002000>;
131                         type = "wiped";
132                         wipe-value = [ff];
133                 };
134                 /* ---- Section: Rewritable VPD 8 KB ---- */
135                 rw-vpd {
136                         label = "rw-vpd";
137                         /* Alignment: 4k (for updating) */
138                         reg = <0x00418000 0x00002000>;
139                         type = "wiped";
140                         wipe-value = [ff];
141                 };
142                 /* ---- Section: Rewritable slot A ---- */
143                 rw-a {
144                         label = "rw-section-a";
145                         /* Alignment: 4k (for updating) */
146                         reg = <0x0041a000 0x00173000>;
147                 };
148                 rw-a-vblock {
149                         label = "vblock-a";
150                         /*
151                          * Alignment: 4k (for updating) and must be in start of
152                          * each RW_SECTION.
153                          */
154                         reg = <0x0041a000 0x00010000>;
155                         type = "keyblock cbfs/rw/a-boot";
156                         keyblock = "firmware.keyblock";
157                         signprivate = "firmware_data_key.vbprivk";
158                         version = <1>;
159                         kernelkey = "kernel_subkey.vbpubk";
160                         preamble-flags = <0>;
161                 };
162                 rw-a-boot {
163                         /* Alignment: no requirement (yet). */
164                         label = "fw-main-a";
165                         reg = <0x0042a000 0x00162fc0>;
166                         type = "blob cbfs/rw/a-boot";
167                 };
168                 rw-a-firmware-id {
169                         /* Alignment: no requirement. */
170                         label = "rw-fwid-a";
171                         reg = <0x0058cfc0 0x00000040>;
172                         read-only;
173                         type = "blobstring fwid";
174                 };
175
176                 /* ---- Section: Rewritable slot B ---- */
177                 rw-b {
178                         label = "rw-section-b";
179                         /* Alignment: 4k (for updating) */
180                         reg = <0x0058d000 0x00173000>;
181                 };
182                 rw-b-vblock {
183                         label = "vblock-b";
184                         /*
185                          * Alignment: 4k (for updating) and must be in start of
186                          * each RW_SECTION.
187                          */
188                         reg = <0x0058d000 0x00010000>;
189                         type = "keyblock cbfs/rw/b-boot";
190                         keyblock = "firmware.keyblock";
191                         signprivate = "firmware_data_key.vbprivk";
192                         version = <1>;
193                         kernelkey = "kernel_subkey.vbpubk";
194                         preamble-flags = <0>;
195                 };
196                 rw-b-boot {
197                         label = "fw-main-b";
198                         /* Alignment: no requirement (yet). */
199                         reg = <0x0059d000 0x00162fc0>;
200                         type = "blob cbfs/rw/b-boot";
201                 };
202                 rw-b-firmware-id {
203                         label = "rw-fwid-b";
204                         /* Alignment: no requirement. */
205                         reg = <0x006fffc0 0x00000040>;
206                         read-only;
207                         type = "blobstring fwid";
208                 };
209
210                 device-extension {
211                         /* CSE RW data */
212                         label = "device-extension";
213                         reg = <0x0077f000 0x00080000>;
214                         type = "wiped";
215                         wipe-value = [ff];
216                 };
217         };
218 };