James has uploaded this change for review.

View Change

sb/intel/{bd82x6x,ibexpeak}: hide MEI if ME inoperable

If the Management Engine is in an inoperable mode, e.g. if me_cleaner is
used, hide the Management Engine Interface device so the OS doesn't try
to access it.

Enable the MEI in device trees of Ibex Peak, Cougar Point and Panther
Point boards where they have been disabled.

Change-Id: Ie4a35bf5fc196e0a02b7591cdb8633d38f0c7f3e
Signed-off-by: James Ye <jye836@gmail.com>
---
M src/mainboard/lenovo/s230u/devicetree.cb
M src/mainboard/lenovo/t410/devicetree.cb
M src/mainboard/lenovo/t420/devicetree.cb
M src/mainboard/lenovo/t420s/devicetree.cb
M src/mainboard/lenovo/t430s/devicetree.cb
M src/mainboard/lenovo/x131e/devicetree.cb
M src/mainboard/lenovo/x220/devicetree.cb
M src/mainboard/packardbell/ms2290/devicetree.cb
M src/southbridge/intel/bd82x6x/me.c
M src/southbridge/intel/bd82x6x/me_8.x.c
M src/southbridge/intel/ibexpeak/me.c
11 files changed, 18 insertions(+), 14 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/74/39074/1
diff --git a/src/mainboard/lenovo/s230u/devicetree.cb b/src/mainboard/lenovo/s230u/devicetree.cb
index b03e2f9..3c0d278 100644
--- a/src/mainboard/lenovo/s230u/devicetree.cb
+++ b/src/mainboard/lenovo/s230u/devicetree.cb
@@ -54,7 +54,7 @@
register "spi_lvscc" = "0x2005"

device pci 14.0 on end # USB 3.0 Controller
- device pci 16.0 off end # Management Engine Interface 1
+ device pci 16.0 on end # Management Engine Interface 1
device pci 16.1 off end # Management Engine Interface 2
device pci 16.2 off end # Management Engine IDE-R
device pci 16.3 off end # Management Engine KT
diff --git a/src/mainboard/lenovo/t410/devicetree.cb b/src/mainboard/lenovo/t410/devicetree.cb
index 808e057..fb2876f 100644
--- a/src/mainboard/lenovo/t410/devicetree.cb
+++ b/src/mainboard/lenovo/t410/devicetree.cb
@@ -74,7 +74,9 @@

register "pcie_hotplug_map" = "{ 0, 0, 0, 1, 0, 0, 0, 0 }"

- device pci 16.0 off end # MEI
+ device pci 16.0 on # MEI
+ subsystemid 0x17aa 0x215f
+ end
device pci 16.2 on # IDE/SATA
subsystemid 0x17aa 0x2161
end
diff --git a/src/mainboard/lenovo/t420/devicetree.cb b/src/mainboard/lenovo/t420/devicetree.cb
index 53bd16f..222825b 100644
--- a/src/mainboard/lenovo/t420/devicetree.cb
+++ b/src/mainboard/lenovo/t420/devicetree.cb
@@ -72,7 +72,7 @@
register "spi_uvscc" = "0x2005"
register "spi_lvscc" = "0x2005"

- device pci 16.0 off end # Management Engine Interface 1
+ device pci 16.0 on end # Management Engine Interface 1
device pci 16.1 off end # Management Engine Interface 2
device pci 16.2 off end # Management Engine IDE-R
device pci 16.3 off end # Management Engine KT
diff --git a/src/mainboard/lenovo/t420s/devicetree.cb b/src/mainboard/lenovo/t420s/devicetree.cb
index c91b04e..314ca43 100644
--- a/src/mainboard/lenovo/t420s/devicetree.cb
+++ b/src/mainboard/lenovo/t420s/devicetree.cb
@@ -72,7 +72,7 @@
register "spi_uvscc" = "0x2005"
register "spi_lvscc" = "0x2005"

- device pci 16.0 off end # Management Engine Interface 1
+ device pci 16.0 on end # Management Engine Interface 1
device pci 16.1 off end # Management Engine Interface 2
device pci 16.2 off end # Management Engine IDE-R
device pci 16.3 off end # Management Engine KT
diff --git a/src/mainboard/lenovo/t430s/devicetree.cb b/src/mainboard/lenovo/t430s/devicetree.cb
index ee612cd..7483c46 100644
--- a/src/mainboard/lenovo/t430s/devicetree.cb
+++ b/src/mainboard/lenovo/t430s/devicetree.cb
@@ -75,7 +75,7 @@
register "spi_lvscc" = "0x2005"

device pci 14.0 on end # USB 3.0 Controller
- device pci 16.0 off end # Management Engine Interface 1
+ device pci 16.0 on end # Management Engine Interface 1
device pci 16.1 off end # Management Engine Interface 2
device pci 16.2 off end # Management Engine IDE-R
device pci 16.3 off end # Management Engine KT
diff --git a/src/mainboard/lenovo/x131e/devicetree.cb b/src/mainboard/lenovo/x131e/devicetree.cb
index 2d15d87..510fa9e 100644
--- a/src/mainboard/lenovo/x131e/devicetree.cb
+++ b/src/mainboard/lenovo/x131e/devicetree.cb
@@ -71,7 +71,7 @@
register "spi_lvscc" = "0x2005"

device pci 14.0 on end # USB 3.0 Controller
- device pci 16.0 off end # Management Engine Interface 1
+ device pci 16.0 on end # Management Engine Interface 1
device pci 16.1 off end # Management Engine Interface 2
device pci 16.2 off end # Management Engine IDE-R
device pci 16.3 off end # Management Engine KT
diff --git a/src/mainboard/lenovo/x220/devicetree.cb b/src/mainboard/lenovo/x220/devicetree.cb
index 5ae1427..7e9d9bb 100644
--- a/src/mainboard/lenovo/x220/devicetree.cb
+++ b/src/mainboard/lenovo/x220/devicetree.cb
@@ -71,7 +71,7 @@
register "spi_uvscc" = "0x2005"
register "spi_lvscc" = "0x2005"

- device pci 16.0 off end # Management Engine Interface 1
+ device pci 16.0 on end # Management Engine Interface 1
device pci 16.1 off end # Management Engine Interface 2
device pci 16.2 off end # Management Engine IDE-R
device pci 16.3 off end # Management Engine KT
diff --git a/src/mainboard/packardbell/ms2290/devicetree.cb b/src/mainboard/packardbell/ms2290/devicetree.cb
index bf1c171..97674d8 100644
--- a/src/mainboard/packardbell/ms2290/devicetree.cb
+++ b/src/mainboard/packardbell/ms2290/devicetree.cb
@@ -66,7 +66,9 @@
register "alt_gp_smi_en" = "0x0000"
register "gen1_dec" = "0x040069"

- device pci 16.0 off end # Management Engine Interface 1
+ device pci 16.0 on # Management Engine Interface 1
+ subsystemid 0x1025 0x0379
+ end
device pci 16.1 off end # Management Engine Interface 2
device pci 16.2 off end # Management Engine IDE-R, only management boot
device pci 16.3 off end # Management Engine KT
diff --git a/src/southbridge/intel/bd82x6x/me.c b/src/southbridge/intel/bd82x6x/me.c
index 15f99cd..280dcb0 100644
--- a/src/southbridge/intel/bd82x6x/me.c
+++ b/src/southbridge/intel/bd82x6x/me.c
@@ -692,6 +692,8 @@

switch (path) {
case ME_S3WAKE_BIOS_PATH:
+ case ME_ERROR_BIOS_PATH:
+ case ME_DISABLE_BIOS_PATH:
intel_me_hide(dev);
break;

@@ -717,9 +719,7 @@
*/
break;

- case ME_ERROR_BIOS_PATH:
case ME_RECOVERY_BIOS_PATH:
- case ME_DISABLE_BIOS_PATH:
case ME_FIRMWARE_UPDATE_BIOS_PATH:
break;
}
diff --git a/src/southbridge/intel/bd82x6x/me_8.x.c b/src/southbridge/intel/bd82x6x/me_8.x.c
index f13ced9..88558e3 100644
--- a/src/southbridge/intel/bd82x6x/me_8.x.c
+++ b/src/southbridge/intel/bd82x6x/me_8.x.c
@@ -681,6 +681,8 @@

switch (path) {
case ME_S3WAKE_BIOS_PATH:
+ case ME_ERROR_BIOS_PATH:
+ case ME_DISABLE_BIOS_PATH:
intel_me_hide(dev);
break;

@@ -721,9 +723,7 @@
*/
break;

- case ME_ERROR_BIOS_PATH:
case ME_RECOVERY_BIOS_PATH:
- case ME_DISABLE_BIOS_PATH:
case ME_FIRMWARE_UPDATE_BIOS_PATH:
break;
}
diff --git a/src/southbridge/intel/ibexpeak/me.c b/src/southbridge/intel/ibexpeak/me.c
index 63dff6a..aa1c002 100644
--- a/src/southbridge/intel/ibexpeak/me.c
+++ b/src/southbridge/intel/ibexpeak/me.c
@@ -577,6 +577,8 @@

switch (path) {
case ME_S3WAKE_BIOS_PATH:
+ case ME_ERROR_BIOS_PATH:
+ case ME_DISABLE_BIOS_PATH:
intel_me_hide(dev);
break;

@@ -595,9 +597,7 @@
*/
break;

- case ME_ERROR_BIOS_PATH:
case ME_RECOVERY_BIOS_PATH:
- case ME_DISABLE_BIOS_PATH:
case ME_FIRMWARE_UPDATE_BIOS_PATH:
break;
}

To view, visit change 39074. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ie4a35bf5fc196e0a02b7591cdb8633d38f0c7f3e
Gerrit-Change-Number: 39074
Gerrit-PatchSet: 1
Gerrit-Owner: James <jye836@gmail.com>
Gerrit-MessageType: newchange