Sun Jan 24 16:33:48 2021 UTC ()
Attach dwiic(4) to AMD FCH I2C controllers. These busses are separate
from the SMBus that we attach to piixpm(4) today, and support direct
config via ACPI.


(jmcneill)
diff -r1.582 -r1.583 src/sys/arch/amd64/conf/GENERIC
diff -r1.4 -r1.5 src/sys/dev/acpi/dwiic_acpi.c

cvs diff -r1.582 -r1.583 src/sys/arch/amd64/conf/GENERIC (expand / switch to context diff)
--- src/sys/arch/amd64/conf/GENERIC 2021/01/20 13:22:08 1.582
+++ src/sys/arch/amd64/conf/GENERIC 2021/01/24 16:33:48 1.583
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.582 2021/01/20 13:22:08 nia Exp $
+# $NetBSD: GENERIC,v 1.583 2021/01/24 16:33:48 jmcneill Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident		"GENERIC-$Revision: 1.582 $"
+#ident		"GENERIC-$Revision: 1.583 $"
 
 maxusers	64		# estimated number of users
 
@@ -545,8 +545,9 @@
 ismt* at pci? dev ? function ?
 iic*	at ismt?
 
-# I2C controller as found in some Intel PCH devices.
-dwiic*		at pci?			# I2C controller
+# DesignWare I2C controller as found in some Intel PCH and AMD FCH devices.
+dwiic*		at acpi?		# DesignWare I2C controller
+dwiic*		at pci?			# DesignWare I2C controller
 iic*		at dwiic?
 
 # Thermal monitor and fan controller

cvs diff -r1.4 -r1.5 src/sys/dev/acpi/dwiic_acpi.c (expand / switch to context diff)
--- src/sys/dev/acpi/dwiic_acpi.c 2020/12/07 10:02:51 1.4
+++ src/sys/dev/acpi/dwiic_acpi.c 2021/01/24 16:33:48 1.5
@@ -1,4 +1,4 @@
-/* $NetBSD: dwiic_acpi.c,v 1.4 2020/12/07 10:02:51 jmcneill Exp $ */
+/* $NetBSD: dwiic_acpi.c,v 1.5 2021/01/24 16:33:48 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dwiic_acpi.c,v 1.4 2020/12/07 10:02:51 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dwiic_acpi.c,v 1.5 2021/01/24 16:33:48 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -60,6 +60,8 @@
 CFATTACH_DECL_NEW(dwiic_acpi, sizeof(struct dwiic_softc), dwiic_acpi_match, dwiic_acpi_attach, NULL, NULL);
 
 static const char * const compatible[] = {
+	"AMD0010",	/* AMD FCH */
+	"AMDI0010",	/* AMD FCH */
 	"AMDI0510",	/* AMD Seattle */
 	"APMC0D0F",	/* Ampere eMAG */
 	NULL