Split out enter_conf_mode_*()/exit_conf_mode_() functions, we'll soon need

them. Reduce code duplication a bit by improved 'no dump available' handling.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>



git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2785 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Uwe Hermann
2007-09-19 00:48:42 +00:00
parent c73ea4d4fc
commit 25a6c0f18c
5 changed files with 60 additions and 39 deletions

View File

@@ -89,15 +89,26 @@ void dump_fintek(uint16_t port, uint16_t did)
regval(port, 0xf6), regval(port, 0xf7), regval(port, 0xf8));
}
void probe_idregs_fintek(uint16_t port)
void enter_conf_mode_fintek(uint16_t port)
{
uint16_t vid, did, success = 0;
/* Enable configuration sequence (Fintek uses this for example)
* Older ITE chips have the same enable sequence.
*/
outb(0x87, port);
outb(0x87, port);
}
void exit_conf_mode_fintek(uint16_t port)
{
/* Exit MB PnP mode (for Fintek, doesn't hurt ITE). */
outb(0xaa, port);
}
void probe_idregs_fintek(uint16_t port)
{
uint16_t vid, did, success = 0;
enter_conf_mode_fintek(port);
outb(0x20, port);
if (inb(port) != 0x20) {
@@ -143,7 +154,6 @@ void probe_idregs_fintek(uint16_t port)
if (!success)
printf("No dump for vid 0x%04x, did 0x%04x\n", vid, did);
/* Exit MB PnP mode (for Fintek, doesn't hurt ITE). */
outb(0xaa, port);
exit_conf_mode_fintek(port);
}