69a3960956c6e4db61d34be8427d9a1fec3c3210
[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 = <0x00076480 0x00008000>;
50                 };
51                 ro-vpid {
52                         label = "ro-vpid";
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 0x00050000>;
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                 /* ---- 8k 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                 /* ---- Section: Rewritable slot A ---- */
132                 rw-a {
133                         label = "rw-section-a";
134                         /* Alignment: 4k (for updating) */
135                         reg = <0x00520000 0x000f0000>;
136                 };
137                 rw-a-vblock {
138                         label = "vblock-a";
139                         /*
140                          * Alignment: 4k (for updating) and must be in start of
141                          * each RW_SECTION.
142                          */
143                         reg = <0x00520000 0x00010000>;
144                         type = "keyblock cbfs/rw/a-boot";
145                         keyblock = "firmware.keyblock";
146                         signprivate = "firmware_data_key.vbprivk";
147                         version = <1>;
148                         kernelkey = "kernel_subkey.vbpubk";
149                         preamble-flags = <0>;
150                 };
151                 rw-a-boot {
152                         /* Alignment: no requirement (yet). */
153                         label = "fw-main-a";
154                         reg = <0x00530000 0x000c0000>;
155                         type = "blob cbfs/rw/a-boot";
156                 };
157                 /* ---- Section: Rewritable slot B ---- */
158                 rw-b {
159                         label = "rw-section-b";
160                         /* Alignment: 4k (for updating) */
161                         reg = <0x00610000 0x000f0000>;
162                 };
163                 rw-b-vblock {
164                         label = "vblock-b";
165                         /*
166                          * Alignment: 4k (for updating) and must be in start of
167                          * each RW_SECTION.
168                          */
169                         reg = <0x00610000 0x00010000>;
170                         type = "keyblock cbfs/rw/b-boot";
171                         keyblock = "firmware.keyblock";
172                         signprivate = "firmware_data_key.vbprivk";
173                         version = <1>;
174                         kernelkey = "kernel_subkey.vbpubk";
175                         preamble-flags = <0>;
176                 };
177                 rw-b-boot {
178                         label = "fw-main-b";
179                         /* Alignment: no requirement (yet). */
180                         reg = <0x00620000 0x000c0000>;
181                         type = "blob cbfs/rw/b-boot";
182                 };
183
184                 device-extension {
185                         /* CSE RW data */
186                         label = "device-extension";
187                         reg = <0x00700000 0x00100000>;
188                         type = "wiped";
189                         wipe-value = [ff];
190                 };
191         };
192 };