Add support for the ITE IT8708F.

Here's a dump from my test system which has an IT8708F:

No SuperI/O chip found at 0x002e
probing 0x002e, failed (0x87), data returns 0x87
SuperI/O found at 0x2e: id=0x8708, chipver=0x0
ITE IT8708
idx 07 20 21 22 23 24 25 26 27 28 29 2a 2e 2f 
val 02 87 08 00 00 00 00 00 03 01 01 00 00 00 
def NA 87 08 00 00 NA 3f 00 ff ff ff ff 00 00 
switching to LDN 0x0
idx 30 60 61 70 74 f0 f1 
val 01 03 f0 06 02 00 80 
def 00 03 f0 06 02 00 00 
switching to LDN 0x1
idx 30 60 61 70 f0 
val 01 03 f8 04 00 
def 00 03 f8 04 00 
switching to LDN 0x2
idx 30 60 61 70 f0 f1 f2 f3 
val 01 02 f8 03 00 50 01 7f 
def 00 02 f8 03 00 50 00 7f 
switching to LDN 0x3
idx 30 60 61 62 63 64 65 70 74 f0 
val 01 03 78 07 78 00 80 07 03 0b 
def 00 03 78 07 78 00 80 07 03 03 
switching to LDN 0x4
idx e0 e1 e2 e3 e4 e5 e6 e7 f0 f1 f2 f3 f4 f5 f6 
val 80 61 00 00 00 00 00 00 80 00 30 00 80 00 de 
def NA NA 00 00 00 00 00 00 00 00 00 00 00 NA NA 
switching to LDN 0x5
idx 30 60 61 62 63 70 71 f0 
val 01 00 60 00 64 01 02 0c 
def 01 00 60 00 64 01 02 00 
switching to LDN 0x6
idx 30 70 71 f0 
val 01 0c 02 00 
def 00 0c 02 00 
switching to LDN 0x7
idx 70 b0 b1 b2 b3 b4 b5 b8 b9 ba bb bc bd c0 c1 c2 c3 c4 c5 c8 c9 ca cb cc cd d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc 
val 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 01 01 00 00 00 03 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 7f 20 51 00 0e 00 00 00 00 00 00 00 
def 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 NA NA NA NA NA NA 00 00 00 00 00 00 00 00 00 00 00 NA 00 
switching to LDN 0x8
idx 30 60 61 
val 00 02 01 
def 00 02 01 
switching to LDN 0x9
idx 30 60 61 70 f0 
val 00 03 10 0b 06 
def 00 03 10 0b 00 
switching to LDN 0xa
idx 30 60 61 70 f0 
val 00 03 00 0a 40 
def 00 03 00 0a 00 
No SuperI/O chip found at 0x004e
No SuperIO chip found at 0x004e
No SuperIO chip found at 0x004e

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@2757 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Uwe Hermann 2007-09-01 19:42:42 +00:00
parent 8a5a264748
commit bd26392f42
1 changed files with 59 additions and 0 deletions

View File

@ -4,6 +4,7 @@
* Copyright (C) 2006 Ronald Minnich <rminnich@gmail.com> * Copyright (C) 2006 Ronald Minnich <rminnich@gmail.com>
* Copyright (C) 2006 coresystems GmbH <info@coresystems.de> * Copyright (C) 2006 coresystems GmbH <info@coresystems.de>
* Copyright (C) 2007 Carl-Daniel Hailfinger * Copyright (C) 2007 Carl-Daniel Hailfinger
* Copyright (C) 2007 Uwe Hermann <uwe@hermann-uwe.de>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -159,6 +160,60 @@ const static struct ite_registers {
{EOT}}}, {EOT}}},
{0x8705, "IT8705 or IT8700", { {0x8705, "IT8705 or IT8700", {
{EOT}}}, {EOT}}},
{0x8708, "IT8708", {
{NOLDN,
{0x07,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,
0x29,0x2a,0x2e,0x2f,EOT},
{NANA,0x87,0x08,0x00,0x00,NANA,0x3f,0x00,0xff,0xff,
0xff,0xff,0x00,0x00,EOT}},
{0x0,
{0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,EOT},
{0x00,0x03,0xf0,0x06,0x02,0x00,0x00,EOT}},
{0x1,
{0x30,0x60,0x61,0x70,0xf0,EOT},
{0x00,0x03,0xf8,0x04,0x00,EOT}},
{0x2,
{0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,0xf3,EOT},
{0x00,0x02,0xf8,0x03,0x00,0x50,0x00,0x7f,EOT}},
{0x3,
{0x30,0x60,0x61,0x62,0x63,0x64,0x65,0x70,0x74,
0xf0,EOT},
{0x00,0x03,0x78,0x07,0x78,0x00,0x80,0x07,0x03,
0x03,EOT}},
{0x4,
{0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,EOT},
{NANA,NANA,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,NANA,NANA,EOT}},
{0x5, /* Note: 0x30 can actually be 0x00 _or_ 0x01. */
{0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
{0x01,0x00,0x60,0x00,0x64,0x01,0x02,0x00,EOT}},
{0x6,
{0x30,0x70,0x71,0xf0,EOT},
{0x00,0x0c,0x02,0x00,EOT}},
{0x7,
{0x70,0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb8,0xb9,0xba,
0xbb,0xbc,0xbd,0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc8,
0xc9,0xca,0xcb,0xcc,0xcd,0xd0,0xd1,0xd2,0xd3,0xd4,
0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xdb,0xdc,0xf0,0xf1,
0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,
0xfc,EOT},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,NANA,NANA,NANA,NANA,NANA,NANA,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,NANA,
0x00,EOT}},
{0x8,
{0x30,0x60,0x61,EOT},
{0x00,0x02,0x01,EOT}},
{0x9,
{0x30,0x60,0x61,0x70,0xf0,EOT},
{0x00,0x03,0x10,0x0b,0x00,EOT}},
{0xa,
{0x30,0x60,0x61,0x70,0xf0,EOT},
{0x00,0x03,0x00,0x0a,0x00,EOT}},
{EOT}}},
{0x8710, "IT8710", { {0x8710, "IT8710", {
{EOT}}}, {EOT}}},
{0x8712, "IT8712", { {0x8712, "IT8712", {
@ -241,6 +296,7 @@ dump_ite(unsigned short port, unsigned short id)
switch(id) { switch(id) {
case 0x8702: case 0x8702:
case 0x8705: case 0x8705:
case 0x8708:
case 0x8710: case 0x8710:
case 0x8712: case 0x8712:
case 0x8716: case 0x8716:
@ -393,6 +449,7 @@ probe_idregs_ite(unsigned short port){
/* Enable configuration sequence (ITE uses this for newer IT87[012]x) /* Enable configuration sequence (ITE uses this for newer IT87[012]x)
IT871[01] uses 0x87, 0x87 -> fintek detection should handle it IT871[01] uses 0x87, 0x87 -> fintek detection should handle it
IT8708 uses 0x87, 0x87 -> fintek detection should handle it
IT8761 uses 0x87, 0x61, 0x55, 0x55/0xaa IT8761 uses 0x87, 0x61, 0x55, 0x55/0xaa
IT86xx series uses different ports IT86xx series uses different ports
IT8661 uses 0x86, 0x61, 0x55/0xaa, 0x55/0xaa and 32 more writes IT8661 uses 0x86, 0x61, 0x55/0xaa, 0x55/0xaa and 32 more writes
@ -429,6 +486,7 @@ probe_idregs_ite(unsigned short port){
unknown -> IT8722 (no datasheet) unknown -> IT8722 (no datasheet)
0x8702 -> IT8702 0x8702 -> IT8702
0x8705 -> IT8700 or IT8705 0x8705 -> IT8700 or IT8705
0x8708 -> IT8708
0x8710 -> IT8710 0x8710 -> IT8710
0x8712 -> IT8712 0x8712 -> IT8712
0x8716 -> IT8716 0x8716 -> IT8716
@ -441,6 +499,7 @@ probe_idregs_ite(unsigned short port){
switch(id) { switch(id) {
case 0x8702: case 0x8702:
case 0x8705: case 0x8705:
case 0x8708:
case 0x8712: case 0x8712:
case 0x8716: case 0x8716:
case 0x8718: case 0x8718: