[coreboot-gerrit] New patch to review for coreboot: sio/acpi: Add more magic bytes to ENTER/EXIT_CONFIG_MODE

Nico Huber (nico.h@gmx.de) gerrit at coreboot.org
Tue Nov 8 12:53:28 CET 2016


Nico Huber (nico.h at gmx.de) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/17286

-gerrit

commit b611b9a11ca2a598f2ddcaf5fad94a3a6fba17cf
Author: Nico Huber <nico.huber at secunet.com>
Date:   Fri Sep 30 11:51:04 2016 +0200

    sio/acpi: Add more magic bytes to ENTER/EXIT_CONFIG_MODE
    
    ITE super-i/o chips need a fourth byte and have a special register
    to exit config mode.
    
    Change-Id: Ic40873649d567b87d3a937f2bf068649e67715de
    Signed-off-by: Nico Huber <nico.huber at secunet.com>
---
 src/ec/kontron/it8516e/acpi/ec.asl             |  3 +++
 src/superio/acpi/pnp_config.asl                | 10 ++++++++++
 src/superio/winbond/w83627dhg/acpi/superio.asl |  3 +++
 3 files changed, 16 insertions(+)

diff --git a/src/ec/kontron/it8516e/acpi/ec.asl b/src/ec/kontron/it8516e/acpi/ec.asl
index 539a5ea..66ae001 100644
--- a/src/ec/kontron/it8516e/acpi/ec.asl
+++ b/src/ec/kontron/it8516e/acpi/ec.asl
@@ -81,7 +81,10 @@ Device(IT8516E_EC_DEV) {
 	#undef PNP_ENTER_MAGIC_1ST
 	#undef PNP_ENTER_MAGIC_2ND
 	#undef PNP_ENTER_MAGIC_3RD
+	#undef PNP_ENTER_MAGIC_4TH
 	#undef PNP_EXIT_MAGIC_1ST
+	#undef PNP_EXIT_SPECIAL_REG
+	#undef PNP_EXIT_SPECIAL_VAL
 	#include <superio/acpi/pnp_config.asl>
 
 	Method (_PSC)
diff --git a/src/superio/acpi/pnp_config.asl b/src/superio/acpi/pnp_config.asl
index a1347cf..a1da4c6 100644
--- a/src/superio/acpi/pnp_config.asl
+++ b/src/superio/acpi/pnp_config.asl
@@ -24,8 +24,12 @@
  *			used to enter config mode.
  * PNP_ENTER_MAGIC_3RD	If defined, specifies the third magic byte
  *			used to enter config mode.
+ * PNP_ENTER_MAGIC_4TH	If defined, specifies the fourth magic byte
+ *			used to enter config mode.
  * PNP_EXIT_MAGIC_1ST	If defined, specifies the first magic byte
  *			used to exit config mode.
+ * PNP_EXIT_SPECIAL_REG	If defined, specifies a special register plus
+ * PNP_EXIT_SPECIAL_VAL	a value to be written there to exit config mode.
  */
 
 
@@ -50,6 +54,9 @@ Method (ENTER_CONFIG_MODE, 1)
 	Store (PNP_ENTER_MAGIC_2ND, PNP_ADDR_REG)
 #ifdef PNP_ENTER_MAGIC_3RD
 	Store (PNP_ENTER_MAGIC_3RD, PNP_ADDR_REG)
+#ifdef PNP_ENTER_MAGIC_4TH
+	Store (PNP_ENTER_MAGIC_4TH, PNP_ADDR_REG)
+#endif
 #endif
 #endif
 #endif
@@ -67,6 +74,9 @@ Method (EXIT_CONFIG_MODE)
 #ifdef PNP_EXIT_MAGIC_1ST
 	Store (PNP_EXIT_MAGIC_1ST, PNP_ADDR_REG)
 #endif
+#if defined(PNP_EXIT_SPECIAL_REG) && defined(PNP_EXIT_SPECIAL_VAL)
+	Store (PNP_EXIT_SPECIAL_VAL, PNP_EXIT_SPECIAL_REG)
+#endif
 	Release (CONFIG_MODE_MUTEX)
 }
 
diff --git a/src/superio/winbond/w83627dhg/acpi/superio.asl b/src/superio/winbond/w83627dhg/acpi/superio.asl
index e4d15dc..301ee94 100644
--- a/src/superio/winbond/w83627dhg/acpi/superio.asl
+++ b/src/superio/winbond/w83627dhg/acpi/superio.asl
@@ -113,7 +113,10 @@ Device(SUPERIO_DEV) {
 	#undef PNP_ENTER_MAGIC_1ST
 	#undef PNP_ENTER_MAGIC_2ND
 	#undef PNP_ENTER_MAGIC_3RD
+	#undef PNP_ENTER_MAGIC_4TH
 	#undef PNP_EXIT_MAGIC_1ST
+	#undef PNP_EXIT_SPECIAL_REG
+	#undef PNP_EXIT_SPECIAL_VAL
 	#define PNP_ENTER_MAGIC_1ST	0x87
 	#define PNP_ENTER_MAGIC_2ND	0x87
 	#define PNP_EXIT_MAGIC_1ST	0xaa



More information about the coreboot-gerrit mailing list