summaryrefslogtreecommitdiff
path: root/include/chromeos
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 /include/chromeos
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 'include/chromeos')
-rw-r--r--include/chromeos/fdt_decode.h31
1 files changed, 10 insertions, 21 deletions
diff --git a/include/chromeos/fdt_decode.h b/include/chromeos/fdt_decode.h
index 2073ee6238..e9ce64c67c 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);