Some chips do not require enter/exit sequences. This causes them to be
detected and printed multiple times in probe_idregs_* functions where a simple series of enter --> probe/print --> exit calls are made. This patch adds a simple check after each set of those calls to make the functions quit after a chip is found. Signed-off-by: David Hendricks <dhendrix@google.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5689 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
9bf7810dac
commit
2ad6d55e38
|
@ -755,30 +755,37 @@ void probe_idregs_ite(uint16_t port)
|
||||||
enter_conf_mode_ite_legacy(port, initkey_it8661f);
|
enter_conf_mode_ite_legacy(port, initkey_it8661f);
|
||||||
probe_idregs_ite_helper("(init=legacy/it8661f) ", port);
|
probe_idregs_ite_helper("(init=legacy/it8661f) ", port);
|
||||||
exit_conf_mode_ite(port);
|
exit_conf_mode_ite(port);
|
||||||
|
if (chip_found) return;
|
||||||
|
|
||||||
enter_conf_mode_ite_legacy(port, initkey_it8671f);
|
enter_conf_mode_ite_legacy(port, initkey_it8671f);
|
||||||
probe_idregs_ite_helper("(init=legacy/it8671f) ", port);
|
probe_idregs_ite_helper("(init=legacy/it8671f) ", port);
|
||||||
exit_conf_mode_ite(port);
|
exit_conf_mode_ite(port);
|
||||||
|
if (chip_found) return;
|
||||||
} else {
|
} else {
|
||||||
enter_conf_mode_ite(port);
|
enter_conf_mode_ite(port);
|
||||||
probe_idregs_ite_helper("(init=standard) ", port);
|
probe_idregs_ite_helper("(init=standard) ", port);
|
||||||
exit_conf_mode_ite(port);
|
exit_conf_mode_ite(port);
|
||||||
|
if (chip_found) return;
|
||||||
|
|
||||||
enter_conf_mode_ite_it8502e(port);
|
enter_conf_mode_ite_it8502e(port);
|
||||||
probe_idregs_ite_helper("(init=it8502e) ", port);
|
probe_idregs_ite_helper("(init=it8502e) ", port);
|
||||||
exit_conf_mode_ite(port);
|
exit_conf_mode_ite(port);
|
||||||
|
if (chip_found) return;
|
||||||
|
|
||||||
enter_conf_mode_ite_it8761e(port);
|
enter_conf_mode_ite_it8761e(port);
|
||||||
probe_idregs_ite_helper("(init=it8761e) ", port);
|
probe_idregs_ite_helper("(init=it8761e) ", port);
|
||||||
exit_conf_mode_ite(port);
|
exit_conf_mode_ite(port);
|
||||||
|
if (chip_found) return;
|
||||||
|
|
||||||
enter_conf_mode_ite_it8228e(port);
|
enter_conf_mode_ite_it8228e(port);
|
||||||
probe_idregs_ite_helper("(init=it8228e) ", port);
|
probe_idregs_ite_helper("(init=it8228e) ", port);
|
||||||
exit_conf_mode_ite(port);
|
exit_conf_mode_ite(port);
|
||||||
|
if (chip_found) return;
|
||||||
|
|
||||||
enter_conf_mode_winbond_fintek_ite_8787(port);
|
enter_conf_mode_winbond_fintek_ite_8787(port);
|
||||||
probe_idregs_ite_helper("(init=0x87,0x87) ", port);
|
probe_idregs_ite_helper("(init=0x87,0x87) ", port);
|
||||||
exit_conf_mode_winbond_fintek_ite_8787(port);
|
exit_conf_mode_winbond_fintek_ite_8787(port);
|
||||||
|
if (chip_found) return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -614,18 +614,22 @@ void probe_idregs_winbond(uint16_t port)
|
||||||
enter_conf_mode_winbond_88(port);
|
enter_conf_mode_winbond_88(port);
|
||||||
probe_idregs_winbond_helper("(init=0x88) ", port);
|
probe_idregs_winbond_helper("(init=0x88) ", port);
|
||||||
exit_conf_mode_winbond_fintek_ite_8787(port);
|
exit_conf_mode_winbond_fintek_ite_8787(port);
|
||||||
|
if (chip_found) return;
|
||||||
|
|
||||||
enter_conf_mode_winbond_89(port);
|
enter_conf_mode_winbond_89(port);
|
||||||
probe_idregs_winbond_helper("(init=0x89) ", port);
|
probe_idregs_winbond_helper("(init=0x89) ", port);
|
||||||
exit_conf_mode_winbond_fintek_ite_8787(port);
|
exit_conf_mode_winbond_fintek_ite_8787(port);
|
||||||
|
if (chip_found) return;
|
||||||
|
|
||||||
enter_conf_mode_winbond_86(port);
|
enter_conf_mode_winbond_86(port);
|
||||||
probe_idregs_winbond_helper("(init=0x86,0x86) ", port);
|
probe_idregs_winbond_helper("(init=0x86,0x86) ", port);
|
||||||
exit_conf_mode_winbond_fintek_ite_8787(port);
|
exit_conf_mode_winbond_fintek_ite_8787(port);
|
||||||
|
if (chip_found) return;
|
||||||
|
|
||||||
enter_conf_mode_winbond_fintek_ite_8787(port);
|
enter_conf_mode_winbond_fintek_ite_8787(port);
|
||||||
probe_idregs_winbond_helper("(init=0x87,0x87) ", port);
|
probe_idregs_winbond_helper("(init=0x87,0x87) ", port);
|
||||||
exit_conf_mode_winbond_fintek_ite_8787(port);
|
exit_conf_mode_winbond_fintek_ite_8787(port);
|
||||||
|
if (chip_found) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void print_winbond_chips(void)
|
void print_winbond_chips(void)
|
||||||
|
|
Loading…
Reference in New Issue