summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/southbridge/amd/sb700/early_setup.c9
-rw-r--r--src/southbridge/amd/sb700/smbus.h1
2 files changed, 9 insertions, 1 deletions
diff --git a/src/southbridge/amd/sb700/early_setup.c b/src/southbridge/amd/sb700/early_setup.c
index ffdd34b017..26ee8366ce 100644
--- a/src/southbridge/amd/sb700/early_setup.c
+++ b/src/southbridge/amd/sb700/early_setup.c
@@ -399,8 +399,15 @@ static void sb700_devices_por_init(void)
if (inb(SMBUS_IO_BASE) == 0xff)
printk(BIOS_INFO, "%s: Primary SMBUS controller I/O not found\n", __func__);
- if (inb(SMBUS_AUX_IO_BASE) == 0xff)
+ if (inb(SMBUS_AUX_IO_BASE) == 0xff) {
printk(BIOS_INFO, "%s: Secondary SMBUS controller I/O not found\n", __func__);
+ }
+ else {
+ if (IS_ENABLED(CONFIG_SOUTHBRIDGE_AMD_SUBTYPE_SP5100)) {
+ /* Disable legacy sensor support / reset ASF Slave state machine per RPR 2.27 step 3 */
+ outb(0x40, SMBUS_AUX_IO_BASE + SMBSLVMISC);
+ }
+ }
/* KB2RstEnable */
pci_write_config8(dev, 0x40, 0x44);
diff --git a/src/southbridge/amd/sb700/smbus.h b/src/southbridge/amd/sb700/smbus.h
index 0e6b7b80d1..1b90091beb 100644
--- a/src/southbridge/amd/sb700/smbus.h
+++ b/src/southbridge/amd/sb700/smbus.h
@@ -37,6 +37,7 @@
#define SMBSLVCMD_SHADOW 0x9
#define SMBSLVEVT 0xa
#define SMBSLVDAT 0xc
+#define SMBSLVMISC 0xd
#define AX_INDXC 0
#define AX_INDXP 1