reef: Sync fmap.dts with chromeos.fmd and fix offsets
[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                  * This encompasses both the descriptor proper and IFWI
31                  * information found in the first part of the BIOS section.
32                  */
33                 si-all {
34                         label = "si-all";
35                         reg = <0x00000000 0x00200000>;
36                         type = "ifd";
37                 };
38
39                 /*
40                 * Firmware Descriptor section of the Intel Firmware Descriptor
41                 * image.
42                 */
43                 si-desc {
44                         label = "si-desc";
45                         reg = <0x00000000 0x00001000>;
46                 };
47                 bootblock {
48                         label = "bootblock";
49                         reg = <0x0007c480 0x00008000>;
50                 };
51                 ro-vpd {
52                         label = "ro-vpd";
53                         reg = <0x00200000 0x00004000>;
54                         read-only;
55                 };
56                 ro-fmap {
57                         label = "fmap";
58                         /*
59                         * We encourage to align FMAP partition in as large
60                         * block as possible so that flashrom can find it soon.
61                         * For example, aligning to 512KB is better than to
62                         * 256KB.
63                         */
64
65                         reg = <0x00204000 0x00000800>;
66                         read-only;
67                         type = "fmap";
68                         ver-major = <1>;
69                         ver-minor = <1>;
70                 };
71                 ro-frid {
72                         label = "ro-frid";
73                         reg = <0x00204800 0x00000040>;
74                         read-only;
75                 };
76                 ro-boot {
77                         label = "coreboot";
78                         reg = <0x00205000 0x0017b000>;
79                         read-only;
80                         type = "blob coreboot";
81                         required;
82                 };
83                 ro-sig2 {
84                         label = "sign_cse";
85                         reg = <0x00380000 0x00010000>;
86                         read-only;
87                         required;
88                 };
89                 ro-gbb {
90                         label = "gbb";
91                         /* GBB offset must be aligned to 4K bytes */
92                         reg = <0x00390000 0x00070000>;
93                         read-only;
94                         type = "blob gbb";
95                 };
96                 /* ---- Section: Rewritable MRC cache 64KB ---- */
97                 rw-mrc-cache {
98                         label = "rw-mrc-cache";
99                         /* Alignment: 4k (for updating) */
100                         reg = <0x00400000 0x00010000>;
101                         type = "wiped";
102                         wipe-value = [ff];
103                 };
104                 /* ---- 16k of event log ---- */
105                 rw-elog {
106                         label = "rw-elog";
107                         /* Alignment: 4k (for updating) */
108                         reg = <0x00410000 0x00004000>;
109                         type = "wiped";
110                         wipe-value = [ff];
111                 };
112                 /* --- Section: Rewritable shared 16 KB --- */
113                 shared-section {
114                         /*
115                          * Alignment: 4k (for updating).
116                          * Anything in this range may be updated in recovery.
117                          */
118                         label = "rw-shared";
119                         reg = <0x00414000 0x00004000>;
120                 };
121                 shared-data {
122                         label = "shared-data";
123                         /*
124                          * Alignment: 4k (for random read/write).
125                          * RW firmware can put calibration data here.
126                          */
127                         reg = <0x00414000 0x00002000>;
128                         type = "wiped";
129                         wipe-value = [00];
130                 };
131                 rw-vblock-dev {
132                         label = "vblock-dev";
133                         /*
134                          * Alignment: 4k (for random read/write).
135                          * Reserve space for an optional user-installed
136                          * vblock to validate dev-mode kernels.
137                          * See crosbug.com/p/11216.
138                          */
139                         reg = <0x00416000 0x00002000>;
140                         type = "wiped";
141                         wipe-value = [ff];
142                 };
143                 /* ---- Section: Rewritable VPD 8 KB ---- */
144                 rw-vpd {
145                         label = "rw-vpd";
146                         /* Alignment: 4k (for updating) */
147                         reg = <0x00418000 0x00002000>;
148                         type = "wiped";
149                         wipe-value = [ff];
150                 };
151                 /* ---- Section: Rewritable slot A ---- */
152                 rw-a {
153                         label = "rw-section-a";
154                         /* Alignment: 4k (for updating) */
155                         reg = <0x0041a000 0x00173000>;
156                 };
157                 rw-a-vblock {
158                         label = "vblock-a";
159                         /*
160                          * Alignment: 4k (for updating) and must be in start of
161                          * each RW_SECTION.
162                          */
163                         reg = <0x0041a000 0x00010000>;
164                         type = "keyblock cbfs/rw/a-boot";
165                         keyblock = "firmware.keyblock";
166                         signprivate = "firmware_data_key.vbprivk";
167                         version = <1>;
168                         kernelkey = "kernel_subkey.vbpubk";
169                         preamble-flags = <0>;
170                 };
171                 rw-a-boot {
172                         /* Alignment: no requirement (yet). */
173                         label = "fw-main-a";
174                         reg = <0x0042a000 0x00162fc0>;
175                         type = "blob cbfs/rw/a-boot";
176                 };
177                 rw-a-firmware-id {
178                         /* Alignment: no requirement. */
179                         label = "rw-fwid-a";
180                         reg = <0x0058cfc0 0x00000040>;
181                         read-only;
182                         type = "blobstring fwid";
183                 };
184
185                 /* ---- Section: Rewritable slot B ---- */
186                 rw-b {
187                         label = "rw-section-b";
188                         /* Alignment: 4k (for updating) */
189                         reg = <0x0058d000 0x00173000>;
190                 };
191                 rw-b-vblock {
192                         label = "vblock-b";
193                         /*
194                          * Alignment: 4k (for updating) and must be in start of
195                          * each RW_SECTION.
196                          */
197                         reg = <0x0058d000 0x00010000>;
198                         type = "keyblock cbfs/rw/b-boot";
199                         keyblock = "firmware.keyblock";
200                         signprivate = "firmware_data_key.vbprivk";
201                         version = <1>;
202                         kernelkey = "kernel_subkey.vbpubk";
203                         preamble-flags = <0>;
204                 };
205                 rw-b-boot {
206                         label = "fw-main-b";
207                         /* Alignment: no requirement (yet). */
208                         reg = <0x0059d000 0x00162fc0>;
209                         type = "blob cbfs/rw/b-boot";
210                 };
211                 rw-b-firmware-id {
212                         label = "rw-fwid-b";
213                         /* Alignment: no requirement. */
214                         reg = <0x006fffc0 0x00000040>;
215                         read-only;
216                         type = "blobstring fwid";
217                 };
218
219                 device-extension {
220                         /* CSE RW data */
221                         label = "device-extension";
222                         reg = <0x00700000 0x00100000>;
223                         type = "wiped";
224                         wipe-value = [ff];
225                 };
226         };
227 };