diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2019-05-23 16:03:38 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-05-23 16:03:38 +0200 |
commit | a562d21aabc3766ec0bee4200c3651671bc3dc0d (patch) | |
tree | b4900b8bd71e3d07bade44ccc08a6fe439ed2503 /common | |
parent | 300ad58d334d1aaa27c9cf02f0d7792a14dc1828 (diff) | |
download | barebox-a562d21aabc3766ec0bee4200c3651671bc3dc0d.tar.gz barebox-a562d21aabc3766ec0bee4200c3651671bc3dc0d.tar.xz |
imx-bbu-nand-fcb: exchange firmware slots when used firmware is refreshed
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'common')
-rw-r--r-- | common/imx-bbu-nand-fcb.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/common/imx-bbu-nand-fcb.c b/common/imx-bbu-nand-fcb.c index dd76b8bf90..6d773b59df 100644 --- a/common/imx-bbu-nand-fcb.c +++ b/common/imx-bbu-nand-fcb.c @@ -1341,6 +1341,12 @@ static int imx_bbu_nand_update(struct bbu_handler *handler, struct bbu_data *dat fw = fw_orig; fw_size = fw_orig_len; pr_info("Refreshing existing firmware\n"); + + if (used_refresh) { + fcb->Firmware1_startingPage = imx_bbu_firmware_fcb_start_page(mtd, !used); + fcb->Firmware2_startingPage = imx_bbu_firmware_fcb_start_page(mtd, used); + fcb_create(imx_handler, fcb, mtd); + } } if (num_blocks_fw * mtd->erasesize < fw_size) { |