The descriptor format has changed with Skylake and some fields have moved or been expanded.
This includes new SPI frequencies and chip densities, though unfortunately 30MHz in the new format conflicts with 50MHz in the old format...
There are also new regions with a few reserved regions inserted before a new embedded controller region.
Unfortunately there does not seem to be a documented version field so there does not seem to be an official way to determine if a specific descriptor is new or old. To work around this ifdtool checks the hardcoded "SPI Read Frequency" to see if it set for 20MHz (old descriptor) or 17MHz (new descriptor).
BUG=chrome-os-partner:40635 BUG=chrome-os-partner:43461 BRANCH=none TEST=run ifdtool on skylake and broadwell images
1f7fd72 ifdtool: Update to support Skylake+ descriptor format
util/ifdtool/ifdtool.c | 223 +++++++++++++++++++++++++++++++++++++++---------
util/ifdtool/ifdtool.h | 22 ++++-
2 files changed, 201 insertions(+), 44 deletions(-)