Iru Cai has uploaded this change for review. ( https://review.coreboot.org/21213
Change subject: inteltool: add support for 8 Series/C220 Series Chipset ......................................................................
inteltool: add support for 8 Series/C220 Series Chipset
Change-Id: I2ec155f67c7b6eda47557d00a3d0bcfe4ef98d08 Signed-off-by: Iru Cai mytbk920423@gmail.com --- M util/inteltool/gpio.c M util/inteltool/inteltool.c M util/inteltool/inteltool.h M util/inteltool/powermgt.c M util/inteltool/rootcmplx.c 5 files changed, 125 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/13/21213/1
diff --git a/util/inteltool/gpio.c b/util/inteltool/gpio.c index 5fd160b..6f21068 100644 --- a/util/inteltool/gpio.c +++ b/util/inteltool/gpio.c @@ -416,7 +416,42 @@ { 0x64, 0x00000000 }, { 0x68, 0x00000000 }, }; - +/* Default values for Lynx Point desktop chipsets */ +static const gpio_default_t lp_pch_desktop_defaults[] = { + { 0x00, 0xb96ba1ff }, + { 0x04, 0xeeff6eff }, + { 0x0c, 0x02fe0100 }, + { 0x18, 0x00040000 }, + { 0x28, 0x00000000 }, + { 0x2c, 0x00000000 }, + { 0x30, 0x020300ff }, + { 0x34, 0x1f57fff4 }, + { 0x38, 0xa4aa0007 }, + { 0x40, 0x00000130 }, + { 0x44, 0x00000ff0 }, + { 0x48, 0x000000c0 }, + { 0x60, 0x01000000 }, + { 0x64, 0x00000000 }, + { 0x68, 0x00000000 }, +}; +/* Default values for Lynx Point mobile chipsets */ +static const gpio_default_t lp_pch_mobile_defaults[] = { + { 0x00, 0xb96ba1ff }, + { 0x04, 0xeeff6eff }, + { 0x0c, 0x02fe0100 }, + { 0x18, 0x00040000 }, + { 0x28, 0x00000000 }, + { 0x2c, 0x00000000 }, + { 0x30, 0x020300fe }, + { 0x34, 0x1f57fff4 }, + { 0x38, 0xa4aa0007 }, + { 0x40, 0x00000030 }, + { 0x44, 0x00000ff0 }, + { 0x48, 0x000000c0 }, + { 0x60, 0x01000000 }, + { 0x64, 0x00000000 }, + { 0x68, 0x00000000 }, +}; /* Baytrail */ static const io_register_t baytrail_score_ssus_gpio_registers[] = { { 0x00, 4, "SC_USE_SEL_31_0_" }, @@ -940,6 +975,33 @@ gpio_defaults = pp_pch_mobile_defaults; defaults_size = ARRAY_SIZE(pp_pch_mobile_defaults); break; + case PCI_DEVICE_ID_INTEL_LYNXPOINT_DESKTOP_FULL: + case PCI_DEVICE_ID_INTEL_Z87: + case PCI_DEVICE_ID_INTEL_Z85: + case PCI_DEVICE_ID_INTEL_H87: + case PCI_DEVICE_ID_INTEL_Q85: + case PCI_DEVICE_ID_INTEL_Q87: + case PCI_DEVICE_ID_INTEL_B85: + case PCI_DEVICE_ID_INTEL_C222: + case PCI_DEVICE_ID_INTEL_C224: + case PCI_DEVICE_ID_INTEL_C226: + case PCI_DEVICE_ID_INTEL_H81: + gpiobase = pci_read_word(sb, 0x48) & 0xff80; + gpio_registers = pch_gpio_registers; + size = ARRAY_SIZE(pch_gpio_registers); + gpio_defaults = lp_pch_desktop_defaults; + defaults_size = ARRAY_SIZE(ip_pch_desktop_defaults); + break; + case PCI_DEVICE_ID_INTEL_LYNXPOINT_MOBILE_FULL: + case PCI_DEVICE_ID_INTEL_HM86: + case PCI_DEVICE_ID_INTEL_HM87: + case PCI_DEVICE_ID_INTEL_QM87: + gpiobase = pci_read_word(sb, 0x48) & 0xff80; + gpio_registers = pch_gpio_registers; + size = ARRAY_SIZE(pch_gpio_registers); + gpio_defaults = lp_pch_mobile_defaults; + defaults_size = ARRAY_SIZE(ip_pch_desktop_defaults); + break; case PCI_DEVICE_ID_INTEL_ICH10: case PCI_DEVICE_ID_INTEL_ICH10R: gpiobase = pci_read_word(sb, 0x48) & 0xfffc; diff --git a/util/inteltool/inteltool.c b/util/inteltool/inteltool.c index f873590..6ccd877 100644 --- a/util/inteltool/inteltool.c +++ b/util/inteltool/inteltool.c @@ -182,6 +182,23 @@ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_B75, "B75" }, { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_H77, "H77" }, { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_C216, "C216" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_LYNXPOINT_MOBILE_FULL, + "Lynx Point Mobile Full Featured Engineering Sample" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_LYNXPOINT_DESKTOP_FULL, + "Lynx Point Desktop Full Featured Engineering Sample" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_Z87, "Z87" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_Z85, "Z85" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HM86, "HM86" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_H87, "H87" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HM87, "HM87" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_Q85, "Q85" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_Q87, "Q87" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QM87, "QM87" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_B85, "B85" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_C222, "C222" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_C224, "C224" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_C226, "C226" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_H81, "H81" }, { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QM77, "QM77" }, { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QS77, "QS77" }, { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HM77, "HM77" }, diff --git a/util/inteltool/inteltool.h b/util/inteltool/inteltool.h index d4aa96f..ab7e358 100644 --- a/util/inteltool/inteltool.h +++ b/util/inteltool/inteltool.h @@ -133,6 +133,21 @@ #define PCI_DEVICE_ID_INTEL_HM75 0x1e5d #define PCI_DEVICE_ID_INTEL_HM70 0x1e5e #define PCI_DEVICE_ID_INTEL_NM70 0x1e5f +#define PCI_DEVICE_ID_INTEL_LYNXPOINT_MOBILE_FULL 0x8c41 +#define PCI_DEVICE_ID_INTEL_LYNXPOINT_DESKTOP_FULL 0x8c42 +#define PCI_DEVICE_ID_INTEL_Z87 0x8c44 +#define PCI_DEVICE_ID_INTEL_Z85 0x8c46 +#define PCI_DEVICE_ID_INTEL_HM86 0x8c49 +#define PCI_DEVICE_ID_INTEL_H87 0x8c4a +#define PCI_DEVICE_ID_INTEL_HM87 0x8c4b +#define PCI_DEVICE_ID_INTEL_Q85 0x8c4c +#define PCI_DEVICE_ID_INTEL_Q87 0x8c4e +#define PCI_DEVICE_ID_INTEL_QM87 0x8c4f +#define PCI_DEVICE_ID_INTEL_B85 0x8c50 +#define PCI_DEVICE_ID_INTEL_C222 0x8c52 +#define PCI_DEVICE_ID_INTEL_C224 0x8c54 +#define PCI_DEVICE_ID_INTEL_C226 0x8c56 +#define PCI_DEVICE_ID_INTEL_H81 0x8c5c #define PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_FULL 0x9c41 #define PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_PREM 0x9c43 #define PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_BASE 0x9c45 diff --git a/util/inteltool/powermgt.c b/util/inteltool/powermgt.c index f022904..871f64c 100644 --- a/util/inteltool/powermgt.c +++ b/util/inteltool/powermgt.c @@ -724,6 +724,21 @@ case PCI_DEVICE_ID_INTEL_HM76: case PCI_DEVICE_ID_INTEL_HM75: case PCI_DEVICE_ID_INTEL_HM70: + case PCI_DEVICE_ID_INTEL_LYNXPOINT_MOBILE_FULL: + case PCI_DEVICE_ID_INTEL_LYNXPOINT_DESKTOP_FULL: + case PCI_DEVICE_ID_INTEL_Z87: + case PCI_DEVICE_ID_INTEL_Z85: + case PCI_DEVICE_ID_INTEL_HM86: + case PCI_DEVICE_ID_INTEL_H87: + case PCI_DEVICE_ID_INTEL_HM87: + case PCI_DEVICE_ID_INTEL_Q85: + case PCI_DEVICE_ID_INTEL_Q87: + case PCI_DEVICE_ID_INTEL_QM87: + case PCI_DEVICE_ID_INTEL_B85: + case PCI_DEVICE_ID_INTEL_C222: + case PCI_DEVICE_ID_INTEL_C224: + case PCI_DEVICE_ID_INTEL_C226: + case PCI_DEVICE_ID_INTEL_H81: case PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_FULL: case PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_PREM: case PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_BASE: diff --git a/util/inteltool/rootcmplx.c b/util/inteltool/rootcmplx.c index 2ad3410..7583c21 100644 --- a/util/inteltool/rootcmplx.c +++ b/util/inteltool/rootcmplx.c @@ -92,6 +92,21 @@ case PCI_DEVICE_ID_INTEL_HM75: case PCI_DEVICE_ID_INTEL_HM70: case PCI_DEVICE_ID_INTEL_NM70: + case PCI_DEVICE_ID_INTEL_LYNXPOINT_MOBILE_FULL: + case PCI_DEVICE_ID_INTEL_LYNXPOINT_DESKTOP_FULL: + case PCI_DEVICE_ID_INTEL_Z87: + case PCI_DEVICE_ID_INTEL_Z85: + case PCI_DEVICE_ID_INTEL_HM86: + case PCI_DEVICE_ID_INTEL_H87: + case PCI_DEVICE_ID_INTEL_HM87: + case PCI_DEVICE_ID_INTEL_Q85: + case PCI_DEVICE_ID_INTEL_Q87: + case PCI_DEVICE_ID_INTEL_QM87: + case PCI_DEVICE_ID_INTEL_B85: + case PCI_DEVICE_ID_INTEL_C222: + case PCI_DEVICE_ID_INTEL_C224: + case PCI_DEVICE_ID_INTEL_C226: + case PCI_DEVICE_ID_INTEL_H81: case PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_FULL: case PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_PREM: case PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_BASE: