Hi Tim,
On Tue, Nov 8, 2016 at 1:02 PM, Tim Lewis tim.lewis@insyde.com wrote:
On the most recent version of the Chromium flashrom effort, there was a patch for Apollo Lake. I have applied it to the latest, fixed up one issue in the get_target_bus_from_chipset() to return the right BBS strapping.
Do you mean that you applied it to the latest upstream flashrom version?
I'm afraid upstream and chromium.org's flashrom branches have diverged quite significantly, so there are likely other patches needed to get Apollo Lake support fully functioning. Ramya Vijaykumar at Intel submitted a few patches to update hardware sequencing logic (for Skylake support).
Here are a few gleaned from the commit log: https://chromium-review.googlesource.com/#/c/265818/ https://chromium-review.googlesource.com/#/c/322078/ https://chromium-review.googlesource.com/#/c/360192/ https://chromium-review.googlesource.com/#/c/359981/ https://chromium-review.googlesource.com/#/c/385186/
Have you tried using chromium.org's flashrom? It might be a better starting point for the platform you're working on.
Transaction error between offset 0x00000000 and 0x0000003f (= 0x00000000 + 63)
This is pretty interesting since your flash descriptor permissions are set to read-write. Hmmm...
Further, upstream flashrom will fail once it encounters a region that is fully locked by the ME, whereas chromium.org's flashrom will ignore such errors. So you'll need to be careful not to try accessing locked regions.