summaryrefslogtreecommitdiff
path: root/common/firmware_image.S
Commit message (Collapse)AuthorAgeFilesLines
* ryu_sh_loader: Add board directory for load imageGwendal Grignou2014-12-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | Ryu sensor hub has asymectric RO/RW images. The first one is very limited (not i2c master, no sensor drivers, gesture recognition). Image size is alter to offer more space for the RW firmware image, compiled with ryu_sh board. To write RO image and basic RW image: flashrom -V -p ec:type=sh,block=0x800 --fast-verify -w /tmp/ryu_sh_loader/ec.bin To write the expected RW image: flashrom -V -p ec:type=sh,block=0x800 --fast-verify -w -i EC_RW:/tmp/ryu_sh/ec.bin BRANCH=ToT BUG=chrome-os-partner:33908 CQ-DEPEND=CL:231970,CL:233233 TEST=load on Ryu, confirmed limited operation. Change-Id: Ib976e2b048935adfb9b2b072c071db5be2bc1c09 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/231984 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Remove extra EAh at end of RW image.Gwendal Grignou2014-12-051-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EAh is used at the end marker for calculating hash in EC. The extra EAh make hash calculated by EC different from calculated in host by sha256sum for the RW image. The RO image is fine. Fix a comment, no A,B images anymore. BUG=chromium:438326 TEST=Check sha256sum is similar for Ryu EC image. On EC console > hash rw [28.740271 hash start 0x00010000 0x0000ea24] > [28.938875 hash done e2c40d0168ce4b20e8320438c7fc719d2188d7f88d9cb7ca694527b3f507e534] sha256sum of built image: sha256sum build/ryu_p1/ec.RW.flat e2c40d0168ce4b20e8320438c7fc719d2188d7f88d9cb7ca694527b3f507e534 build/ryu_p1/ec.RW.flat TEST=Check firmware upgrade still works: Using a modify version of coreboot with - ryu_p1 as main ec firmware - code to reenable SW sync: CL:233222 Ryu with an older image: cros_ec_init: CrosEC protocol v3 supported (128, 128) Google ChromeOS EC driver ready, id 'ryu_p1_v1.1.2570-942248a' Clearing the recovery request. VbEcSoftwareSync(devidx=0) EC hash:e2c40d0168ce4b20e8320438c7fc719d2188d7f88d9cb7ca694527b3f507e534 EC-RW hash address, size are 0x835b4ff8, 32. Hash = b183cd58d668d3d42a7cec95f2dcbb8ddee33f6a42d873f4b78106f85d341b46 Expected hash:b183cd58d668d3d42a7cec95f2dcbb8ddee33f6a42d873f4b78106f85d341b46 EC-RW firmware address, size are 0x837f9374, 59924. VbEcSoftwareSync() - expected len = 59924 Computed hash of expected image:b183cd58d668d3d42a7cec95f2dcbb8ddee33f6a42d873f4b78106f85d341b46 VbEcSoftwareSync() updating EC-RW... VbEcSoftwareSync() jumping to EC-RW VbEcSoftwareSync() jumped to EC-RW VbEcSoftwareSync() in RW; done Check that at next reboot the firmware is not upgraded: cros_ec_init: CrosEC protocol v3 supported (128, 128) Google ChromeOS EC driver ready, id 'ryu_p1_no_version' Clearing the recovery request. VbEcSoftwareSync(devidx=0) EC hash:b183cd58d668d3d42a7cec95f2dcbb8ddee33f6a42d873f4b78106f85d341b46 EC-RW hash address, size are 0x835b4ff8, 32. Hash = b183cd58d668d3d42a7cec95f2dcbb8ddee33f6a42d873f4b78106f85d341b46 Expected hash:b183cd58d668d3d42a7cec95f2dcbb8ddee33f6a42d873f4b78106f85d341b46 VbEcSoftwareSync() in EC-RW and it matches BRANCH=ToT Change-Id: I2db275a16b16fbcea95f53287e95104ba921593e Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/232952 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
* Make a top-level config.h file to include sub-configsRandall Spangler2013-07-161-1/+0
| | | | | | | | | | | | | | | | | This file will soon contain the exhaustive list of all CONFIG defines and their descriptions. Chip-level configs are renamed to config_chip.h to avoid naming conflicts. BUG=chrome-os-partner:18343 BRANCH=none TEST=build all platforms Change-Id: I9e94146f5b4c016894bd3ae3d371c4b9f3f69afe Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/62122 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Remove firmware BRandall Spangler2012-07-171-7/+1
| | | | | | | | | | BUG=chrome-os-partner:11449 TEST=build link, snow, bds; ectool reboot_ec cold to make sure enums line up Change-Id: Ie09db2080a00f1a7e2c05579b9b41ea5137c1af0 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/27658 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
* Rename A and B images to RW and RW_B, part 1Randall Spangler2012-07-171-4/+4
| | | | | | | | | | | | | | | | | | | All of our current EC configs have RO and a single RW image. Calling that image 'A' is confusing, particularly when combined with EC software sync (where the RW image is updated from either the A or B AP RW firmware). So, rename it. This changes all the build artifacts and constants. Internal EC commands and host commands still refer to A/B; that will be fixed in part 2. BUG=none TEST=build link, snow, bds Change-Id: Icfed4914745f0799bb71befb6a6563cfd8bc90ab Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/27649 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Only one RW image is now the defaultRandall Spangler2012-06-261-3/+4
| | | | | | | | | | | | And if RW B isn't enabled, it's not even linked. BUG=chrome-os-partner:10881 TEST=on link, should be no B image, and 'sysjump B' should fail On BDS, still should be A and B images Signed-off-by: Randall Spangler <rspangler@chromium.org> Change-Id: Icb2af07881cc7e28b9b877f45824486a22fde8d7 Reviewed-on: https://gerrit.chromium.org/gerrit/26116
* Temporarily remove image RW.B due to code size.Vic Yang2012-02-161-0/+2
| | | | | | | | | | | | | | | To accomodate our growing code, image RW.B is removed so that RO and RW.A can both have 60K space. This is just a temporary solution. Add RW.B back when we have enough space for all three images. Also add license header to firmware_image.lds.S so that repo does not complain about it. BUG=chrome-os-partner:8079 TEST=build image and run on proto-0. Change-Id: I85b723f3e645c12fd89b189263ca44d58c4621eb Signed-off-by: Vic Yang <victoryang@chromium.org>
* Initial sources import 3/3Vincent Palatin2011-12-071-0/+25
source files mainly done by Vincent. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> Change-Id: Ic2d1becd400c9b4b4a14d4a243af1bdf77d9c1e2