diff options
author | Simon Glass <sjg@chromium.org> | 2011-07-06 20:08:36 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2011-08-29 10:58:57 -0700 |
commit | 28b1652c96e58ebf4f4605a20ec74a6274ab75dc (patch) | |
tree | 369136746af421d265c121fe9b76430078c05e0a /include/chromeos | |
parent | 1ad8c8f7c35c0c98a9e0984eb8cbbc51455d8a77 (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 'include/chromeos')
-rw-r--r-- | include/chromeos/fdt_decode.h | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/include/chromeos/fdt_decode.h b/include/chromeos/fdt_decode.h index 2073ee6238e..e9ce64c67c0 100644 --- a/include/chromeos/fdt_decode.h +++ b/include/chromeos/fdt_decode.h @@ -18,37 +18,26 @@ struct fdt_fmap_entry { uint32_t length; }; +struct fdt_firmware_entry { + struct fdt_fmap_entry boot; /* U-Boot */ + struct fdt_fmap_entry vblock; + struct fdt_fmap_entry firmware_id; + uint64_t block_lba; +}; + /* * Only sections that are used during booting are put here. More sections will * be added if required. */ struct fdt_twostop_fmap { struct { - struct fdt_fmap_entry onestop_layout; - struct fdt_fmap_entry fwbody; - struct fdt_fmap_entry vblock; - struct fdt_fmap_entry fwid; - } onestop_layout; - - struct { - struct fdt_fmap_entry readonly; - struct fdt_fmap_entry ro_firmware_image; - struct fdt_fmap_entry ro_firmware_id; struct fdt_fmap_entry fmap; struct fdt_fmap_entry gbb; + struct fdt_fmap_entry firmware_id; } readonly; - struct { - struct fdt_fmap_entry readwrite_a; - struct fdt_fmap_entry rw_a_onestop; - uint64_t block_lba; - } readwrite_a; - - struct { - struct fdt_fmap_entry readwrite_b; - struct fdt_fmap_entry rw_b_onestop; - uint64_t block_lba; - } readwrite_b; + struct fdt_firmware_entry readwrite_a; + struct fdt_firmware_entry readwrite_b; }; int fdt_decode_twostop_fmap(const void *fdt, struct fdt_twostop_fmap *config); |