1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-27 23:22:37 +02:00

edi: Add dummy read to ensure proper detection of ENE chips

ENE chips enable EDI by detecting a clock frequency between 1 MHz and 8 MHz.
In many cases, the chip won't be able to both detect the clock signal and
serve the associated request at the same time.

Thus, a dummy read has to be added to ensure that EDI is enabled and
operational starting from the next request.

Change-Id: I69ee71674649cd8ba4fc635f889cb39a1cd204b9
Signed-off-by: Mike Banon <mikebdp2@gmail.com>
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Reviewed-on: https://review.coreboot.org/23260
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Paul Kocialkowski 2018-01-15 01:08:39 +03:00 committed by Nico Huber
parent 80ae14e510
commit a590f4840b

12
edi.c
View File

@ -480,6 +480,18 @@ int edi_probe_kb9012(struct flashctx *flash)
{ {
int probe; int probe;
int rc; int rc;
unsigned char hwversion;
/*
* ENE chips enable EDI by detecting a clock frequency between 1 MHz and
* 8 MHz. In many cases, the chip won't be able to both detect the clock
* signal and serve the associated request at the same time.
*
* Thus, a dummy read has to be added to ensure that EDI is enabled and
* operational starting from the next request. This dummy read below
* draws the chip's attention and as result the chip enables its EDI.
*/
edi_read(flash, ENE_EC_HWVERSION, &hwversion);
probe = edi_chip_probe(flash, &ene_kb9012); probe = edi_chip_probe(flash, &ene_kb9012);
if (!probe) if (!probe)