From 60dead4aee579f9da86549ce33d7de29de4e043b Mon Sep 17 00:00:00 2001 From: Tai-Hong Wu Date: Mon, 5 Jan 2015 23:00:14 +0000 Subject: Fix wrong density encoding on Intel Silvermont Silvermont (Bay Trail, Rangeley, Avoton) seems to still use the old density encoding with 3 bits per chip. Documentation is unavailable (held concealed by Intel) but thanks to the efforts of Tai-Hong (Type) Wu the layout is clear now. This patch is based on his one but solves the issue differently thus reducing the code complexity. Corresponding to flashrom svn r1861. Signed-off-by: Tai-Hong Wu Signed-off-by: Stefan Tauner Acked-by: Stefan Tauner --- ich_descriptors.h | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'ich_descriptors.h') diff --git a/ich_descriptors.h b/ich_descriptors.h index c41f9d9..2c21598 100644 --- a/ich_descriptors.h +++ b/ich_descriptors.h @@ -123,23 +123,19 @@ struct ich_desc_component { freq_fastread :3, freq_write :3, freq_read_id :3, - :2; - } common; + dual_output :1, /* new since Cougar Point/6 */ + :1; + } modes; struct { uint32_t comp1_density :3, comp2_density :3, - :11, - :13, - :2; - } old; + :26; + } dens_old; struct { uint32_t comp1_density :4, /* new since Lynx Point/8 */ comp2_density :4, - :9, - :13, - dual_output :1, /* new since Cougar Point/6 */ - :1; - } new; + :24; + } dens_new; }; union { /* 0x04 */ uint32_t FLILL; /* Flash Invalid Instructions Register */ -- cgit v1.1