/* * 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. */ / { /* * Names will be capitalized and hyphen converted to underscore by * cros_bundle_firmware. */ flash@ff800000 { #address-cells = <1>; #size-cells = <1>; compatible = "chromeos,flashmap"; reg = <0xff800000 0x00800000>; /* * Non-BIOS section of the Intel Firmware Descriptor image. * This section covers the all the parts that are not shown * to the CPU right below 4G. */ si-all@0 { label = "si-all"; reg = <0x00000000 0x00180000>; }; /* * Firmware Descriptor section of the Intel Firmware Descriptor * image. */ si-desc@0 { label = "si-desc"; reg = <0x00000000 0x00001000>; type = "wiped"; wipe-value = [ff]; }; /* * Intel Management Engine section of the Intel Firmware * Descriptor image. */ si-me@0 { label = "si-me"; reg = <0x00001000 0x0017f000>; type = "wiped"; wipe-value = [ff]; }; /* * "BIOS" section of the Intel Firmware Descriptor image. * This section covers the complete image as shown to the * CPU right below 4G. */ si-bios@0 { label ="si-bios"; reg = <0x00180000 0x00680000>; }; /* ---- Section: Rewritable VPD 4 KB ---- */ rw-vpd@0 { label = "rw-vpd"; /* Alignment: 4k (for updating) */ reg = <0x00180000 0x00001000>; type = "wiped"; wipe-value = [ff]; }; /* * This space is currently unused and reserved for future * extensions. cros_bundle_firmware dislikes holes in the * FMAP, so we cover all empty space here. */ rw-unused@0 { label = "rw-unused"; reg = <0x00181000 0x00067000>; type = "wiped"; wipe-value = [ff]; }; /* ---- Section: Rewritable shared 80 KB---- */ shared-section@0 { /* Alignment: 4k (for updating). * Anything in this range may be updated in recovery. */ label = "rw-shared"; reg = <0x001e8000 0x00018000>; }; /* ---- Section: Rewritable u-boot environment 16 KB---- */ rw-environment@0 { label = "rw-environment"; /* Alignment 4k: (for updating) */ reg = <0x001e8000 0x00004000>; /* * We could put the dev environment here, but U-Boot has * a default built in. Devs can 'saveenv' to set this * up. */ type = "wiped"; wipe-value = [00]; }; /* ---- Section: Rewritable MRC cache 64 KB ---- */ rw-mrc-cache@0 { label = "rw-mrc-cache"; /* Alignment: 4k (for updating) */ reg = <0x001ec000 0x00010000>; type = "wiped"; wipe-value = [ff]; }; /* ---- Section: Rewritable private 16 KB---- */ dev-cfg@0 { label = "dev-cfg"; /* Alignment: 4k (for updating) */ reg = <0x001fc000 0x00004000>; type = "wiped"; wipe-value = [00]; }; /* ---- Section: Rewritable slot A ---- */ rw-a@0 { label = "rw-section-a"; /* Alignment: 4k (for updating) */ reg = <0x00200000 0x00100000>; }; rw-a-vblock@0 { label = "vblock-a"; /* * Alignment: 4k (for updating) and must be in start of * each RW_SECTION. */ reg = <0x00200000 0x00010000>; type = "keyblock boot"; keyblock = "firmware.keyblock"; signprivate = "firmware_data_key.vbprivk"; version = <1>; kernelkey = "kernel_subkey.vbpubk"; preamble-flags = <1>; }; rw-a-boot@0 { /* Alignment: no requirement (yet). */ label = "fw-main-a"; reg = <0x00210000 0x0007ffc0>; type = "blob boot"; }; rw-a-firmware-id@0 { /* Alignment: no requirement. */ label = "rw-fwid-a"; reg = <0x0028ffc0 0x00000040>; read-only; type = "blobstring fwid"; }; rw-a-unused@0 { label = "rw-unused-a"; reg = <0x00290000 0x00070000>; type = "wiped"; wipe-value = [ff]; }; /* ---- Section: Rewritable slot B ---- */ rw-b@0 { label = "rw-section-b"; /* Alignment: 4k (for updating) */ reg = <0x00300000 0x00100000>; }; rw-b-vblock@0 { label = "vblock-b"; /* * Alignment: 4k (for updating) and must be in start of * each RW_SECTION. */ reg = <0x00300000 0x00010000>; type = "keyblock boot"; keyblock = "firmware.keyblock"; signprivate = "firmware_data_key.vbprivk"; version = <1>; kernelkey = "kernel_subkey.vbpubk"; preamble-flags = <1>; }; rw-b-boot@0 { label = "fw-main-b"; /* Alignment: no requirement (yet). */ reg = <0x00310000 0x0007ffc0>; type = "blob boot"; }; rw-b-firmware-id@0 { label = "rw-fwid-b"; /* Alignment: no requirement. */ reg = <0x0038ffc0 0x00000040>; read-only; type = "blobstring fwid"; }; rw-b-unused@0 { label = "rw-unused-b"; reg = <0x00390000 0x00070000>; type = "wiped"; wipe-value = [ff]; }; /* * This space is currently unused and reserved for future * extensions. cros_bundle_firmware dislikes holes in the * FMAP, so we cover all empty space here. */ ro-unused-1@0 { label = "ro-unused-1"; reg = <0x00400000 0x00170000>; type = "wiped"; wipe-value = [ff]; }; /* ---- Section: Vital-product data (VPD) ---- */ ro-vpd@0 { label = "ro-vpd"; /* VPD offset must be aligned to 4K bytes */ reg = <0x00570000 0x00020000>; /* 128 KB */ read-only; type = "wiped"; wipe-value = [ff]; }; /* * This space is currently unused and reserved for future * extensions. cros_bundle_firmware dislikes holes in the * FMAP, so we cover all empty space here. */ ro-unused-2@0 { label = "ro-unused-2"; reg = <0x00590000 0x000e0000>; type = "wiped"; wipe-value = [ff]; }; /* ---- Section: Read-only ---- */ ro-section@0 { label = "ro-section"; reg = <0x00670000 0x00190000>; read-only; }; ro-fmap@0 { 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 = <0x00670000 0x00000800>; read-only; type = "fmap"; ver-major = <1>; ver-minor = <0>; }; ro-firmware-id@0 { label = "ro-frid"; reg = <0x00670800 0x00000040>; read-only; type = "blobstring fwid"; }; ro-padding@0 { label = "ro-padding"; reg = <0x00670840 0x0000f7c0>; read-only; type = "wiped"; wipe-value = [ff]; }; ro-gbb@0 { label = "gbb"; /* GBB offset must be aligned to 4K bytes */ reg = <0x00680000 0x00080000>; /* 512 KB */ read-only; type = "blob gbb"; }; ro-boot@0 { label = "boot-stub"; reg = <0x00700000 0x00100000>; /* 1024 KB */ read-only; type = "blob signed"; }; }; };