Add AMD Hudson chipset-enable

AMD Hudson has different vendor/device IDs than AMD SBx00, handle
that properly.

Corresponding to flashrom svn r1422.

Signed-off-by: Wang Qing Pei <wangqingpei@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
diff --git a/chipset_enable.c b/chipset_enable.c
index 687682a..3704160 100644
--- a/chipset_enable.c
+++ b/chipset_enable.c
@@ -1058,6 +1058,7 @@
 	{0x1022, 0x3000, OK, "AMD", "Elan SC520",	get_flashbase_sc520},
 	{0x1022, 0x7440, OK, "AMD", "AMD-768",		enable_flash_amd8111},
 	{0x1022, 0x7468, OK, "AMD", "AMD8111",		enable_flash_amd8111},
+	{0x1022, 0x780e, OK, "AMD", "Hudson",		enable_flash_sb600},
 	{0x1039, 0x0406, NT, "SiS", "501/5101/5501",	enable_flash_sis501},
 	{0x1039, 0x0496, NT, "SiS", "85C496+497",	enable_flash_sis85c496},
 	{0x1039, 0x0530, NT, "SiS", "530",		enable_flash_sis530},
diff --git a/sb600spi.c b/sb600spi.c
index 5ad5782..9d82b47 100644
--- a/sb600spi.c
+++ b/sb600spi.c
@@ -259,8 +259,11 @@
 	smbus_dev = pci_dev_find(0x1002, 0x4385);
 
 	if (!smbus_dev) {
-		msg_perr("ERROR: SMBus device not found. Not enabling SPI.\n");
-		return ERROR_NONFATAL;
+		smbus_dev = pci_dev_find(0x1022, 0x780b); /* AMD Hudson */
+		if (!smbus_dev) {
+			msg_perr("ERROR: SMBus device not found. Not enabling SPI.\n");
+			return ERROR_NONFATAL;
+		}
 	}
 
 	/* Note about the bit tests below: If a bit is zero, the GPIO is SPI. */