diff options
author | Nico Huber <nico.huber@secunet.com> | 2016-09-30 11:51:04 +0200 |
---|---|---|
committer | Nico Huber <nico.h@gmx.de> | 2016-12-07 20:01:50 +0100 |
commit | 21707cc29d58237b9311c9e00d176867e0a16fd0 (patch) | |
tree | 3d419ca10e476cb9d258ea3d2e0648f91fb9d479 | |
parent | 6167365530e0b8b2369077cf599a66b64bb07871 (diff) |
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@secunet.com>
Reviewed-on: https://review.coreboot.org/17286
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
-rw-r--r-- | src/ec/kontron/it8516e/acpi/ec.asl | 3 | ||||
-rw-r--r-- | src/superio/acpi/pnp_config.asl | 10 | ||||
-rw-r--r-- | src/superio/winbond/w83627dhg/acpi/superio.asl | 3 |
3 files changed, 16 insertions, 0 deletions
diff --git a/src/ec/kontron/it8516e/acpi/ec.asl b/src/ec/kontron/it8516e/acpi/ec.asl index 539a5ea0a8..66ae001f0f 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 a1347cf85b..a1da4c69f0 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 e4d15dcc25..301ee94230 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 |