summaryrefslogtreecommitdiff
path: root/board/nvidia/seaboard/flashmap-twostop-2mb.dtsi
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2011-07-06 20:08:36 -0700
committerSimon Glass <sjg@chromium.org>2011-08-29 10:58:57 -0700
commit28b1652c96e58ebf4f4605a20ec74a6274ab75dc (patch)
tree369136746af421d265c121fe9b76430078c05e0a /board/nvidia/seaboard/flashmap-twostop-2mb.dtsi
parent1ad8c8f7c35c0c98a9e0984eb8cbbc51455d8a77 (diff)
fdt: Adjust flashmap to better align with correct bindings
The existing flashmap is not compatible with the way that Linux does flash maps. This changes it to fit better. It also works correctly with the new cros_bundle_firmware tool. We have two alternative maps for 2MB and 4MB images. BUG=chromium-os:17065 TEST=build and boot U-Boot on Seaboard Change-Id: I9fded46d15582e17122a3d40c4b71b7b6cc77174 Reviewed-on: http://gerrit.chromium.org/gerrit/3906 Tested-by: Simon Glass <sjg@chromium.org> Reviewed-by: Hung-Te Lin <hungte@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
Diffstat (limited to 'board/nvidia/seaboard/flashmap-twostop-2mb.dtsi')
-rw-r--r--board/nvidia/seaboard/flashmap-twostop-2mb.dtsi124
1 files changed, 124 insertions, 0 deletions
diff --git a/board/nvidia/seaboard/flashmap-twostop-2mb.dtsi b/board/nvidia/seaboard/flashmap-twostop-2mb.dtsi
new file mode 100644
index 0000000000..2aa1045569
--- /dev/null
+++ b/board/nvidia/seaboard/flashmap-twostop-2mb.dtsi
@@ -0,0 +1,124 @@
+/*
+* 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 the flash map (fmap) for a twostop firmware. It defines all the areas
+* that Chrome OS expects to find in its firmware device. The device is split
+* into a number of top-level sections, and within each are several areas.
+*
+* Available flags for each entry are: read-only, compresed.
+* All sections will be marked static in the fmap.
+*/
+
+/include/ "flashmap-ro.dtsi"
+
+/ {
+ flash@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "winbond,W25Q16BVSSIG", "cfi-flash",
+ "chromeos,flashmap";
+ reg = <0x00000000 0x00200000>;
+
+ /* ---- Section: Rewritable slot A ---- */
+ rw-a@100000 {
+ label = "rw-section-a";
+ reg = <0x00100000 0x00078000>;
+ block-lba = <0x00000022>;
+ };
+ rw-a-boot@100000 {
+ label = "fw-main-a";
+ reg = <0x00100000 0x00076000>;
+ type = "blob boot";
+ };
+ rw-a-vblock@176000 {
+ label = "vblock-a";
+ reg = <0x00176000 0x00001f00>;
+ type = "keyblock boot";
+ keyblock = "dev_firmware.keyblock";
+ signprivate = "dev_firmware_data_key.vbprivk";
+ version = <1>;
+ kernelkey = "kernel_subkey.vbpubk";
+ preamble-flags = <1>;
+ };
+ rw-a-firmware-id@177f00 {
+ label = "rw-fwid-a";
+ reg = <0x00177f00 0x00000100>;
+ read-only;
+ type = "blobstring fwid";
+ };
+
+ /* ---- Section: Rewritable slot B ---- */
+ rw-b@178000 {
+ label = "rw-section-b";
+ reg = <0x00178000 0x00078000>;
+ block-lba = <0x00000422>;
+ };
+ rw-b-boot@178000 {
+ label = "fw-main-b";
+ reg = <0x00178000 0x00076000>;
+ type = "blob boot";
+ };
+ rw-b-vblock@1ee000 {
+ label = "vblock-b";
+ reg = <0x001ee000 0x00001f00>;
+ type = "keyblock boot";
+ keyblock = "firmware.keyblock";
+ signprivate = "firmware_data_key.vbprivk";
+ version = <1>;
+ kernelkey = "kernel_subkey.vbpubk";
+ preamble-flags = <1>;
+ };
+ rw-b-firmware-id@1eff00 {
+ label = "rw-fwid-a";
+ reg = <0x001eff00 0x00000100>;
+ read-only;
+ type = "blobstring fwid";
+ };
+
+ /* ---- Section: Rewritable VPD 32 KB ---- */
+ rw-vpd-section@1f0000 {
+ label = "rw-vpd-section";
+ reg = <0x001f0000 0x00008000>;
+ };
+ rw-vpd@1f0000 {
+ label = "rw-vpd";
+ reg = <0x001f0000 0x00008000>;
+ type = "wiped";
+ wipe-value = [ff];
+ };
+
+ /* ---- Section: Rewritable shared 32 KB---- */
+ shared-section@1f8000 {
+ label = "rw-shared";
+ reg = <0x001f8000 0x00006000>;
+ };
+ shared-dev-cfg@1f8000 {
+ label = "dev-cfg";
+ reg = <0x001f8000 0x00000000>;
+ type = "wiped";
+ wipe-value = [00];
+ };
+ shared-data@1f8000 {
+ label = "shared-data";
+ reg = <0x001f8000 0x00006000>;
+ type = "wiped";
+ wipe-value = [00];
+ };
+ shared-env@1fe000 {
+ label = "shared-env";
+ reg = <0x001fe000 0x00002000>;
+
+ /*
+ * 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];
+ };
+ };
+};