Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Apr 2021 21:49:57 GMT
From:      Vladimir Kondratyev <wulf@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 09d2a7a67b54 - stable/13 - ig4: Add PCI IDs for Intel Gemini Lake I2C controller.
Message-ID:  <202104112149.13BLnvUH067449@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by wulf:

URL: https://cgit.FreeBSD.org/src/commit/?id=09d2a7a67b54eccccdc9ec97bbb7c918f0166ab8

commit 09d2a7a67b54eccccdc9ec97bbb7c918f0166ab8
Author:     Vladimir Kondratyev <wulf@FreeBSD.org>
AuthorDate: 2021-02-23 22:20:36 +0000
Commit:     Vladimir Kondratyev <wulf@FreeBSD.org>
CommitDate: 2021-04-11 21:48:08 +0000

    ig4: Add PCI IDs for Intel Gemini Lake I2C controller.
    
    Submitted by:   Dmitry Luhtionov
    MFC after:      2 weeks
    
    (cherry picked from commit bbacb7ce72956a41c0daeefe875e5209d87c11ba)
---
 sys/dev/ichiic/ig4_iic.c |  6 ++++++
 sys/dev/ichiic/ig4_pci.c | 16 ++++++++++++++++
 sys/dev/ichiic/ig4_var.h |  3 ++-
 3 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/sys/dev/ichiic/ig4_iic.c b/sys/dev/ichiic/ig4_iic.c
index b684dc7d87cd..f24b26f53366 100644
--- a/sys/dev/ichiic/ig4_iic.c
+++ b/sys/dev/ichiic/ig4_iic.c
@@ -125,6 +125,12 @@ static const struct ig4_hw ig4iic_hw[] = {
 		.scl_fall_time = 208,
 		.sda_hold_time = 42,
 	},
+	[IG4_GEMINILAKE] = {
+		.ic_clock_rate = 133,
+		.sda_fall_time = 171,
+		.scl_fall_time = 290,
+		.sda_hold_time = 313,
+	},
 };
 
 static int ig4iic_set_config(ig4iic_softc_t *sc, bool reset);
diff --git a/sys/dev/ichiic/ig4_pci.c b/sys/dev/ichiic/ig4_pci.c
index 4667709e2fa2..2d80a8b1800a 100644
--- a/sys/dev/ichiic/ig4_pci.c
+++ b/sys/dev/ichiic/ig4_pci.c
@@ -136,6 +136,14 @@ static int ig4iic_pci_detach(device_t dev);
 #define PCI_CHIP_TIGERLAKE_LP_I2C_5	0xa0e98086
 #define PCI_CHIP_TIGERLAKE_LP_I2C_6	0xa0ea8086
 #define PCI_CHIP_TIGERLAKE_LP_I2C_7	0xa0eb8086
+#define PCI_CHIP_GEMINILAKE_I2C_0	0x31ac8086
+#define PCI_CHIP_GEMINILAKE_I2C_1	0x31ae8086
+#define PCI_CHIP_GEMINILAKE_I2C_2	0x31b08086
+#define PCI_CHIP_GEMINILAKE_I2C_3	0x31b28086
+#define PCI_CHIP_GEMINILAKE_I2C_4	0x31b48086
+#define PCI_CHIP_GEMINILAKE_I2C_5	0x31b68086
+#define PCI_CHIP_GEMINILAKE_I2C_6	0x31b88086
+#define PCI_CHIP_GEMINILAKE_I2C_7	0x31ba8086
 
 struct ig4iic_pci_device {
 	uint32_t	devid;
@@ -214,6 +222,14 @@ static struct ig4iic_pci_device ig4iic_pci_devices[] = {
 	{ PCI_CHIP_TIGERLAKE_LP_I2C_5, "Intel Tiger Lake-LP I2C Controller-5", IG4_SKYLAKE},
 	{ PCI_CHIP_TIGERLAKE_LP_I2C_6, "Intel Tiger Lake-LP I2C Controller-6", IG4_SKYLAKE},
 	{ PCI_CHIP_TIGERLAKE_LP_I2C_7, "Intel Tiger Lake-LP I2C Controller-7", IG4_SKYLAKE},
+	{ PCI_CHIP_GEMINILAKE_I2C_0, "Intel Gemini Lake I2C Controller-0", IG4_GEMINILAKE},
+	{ PCI_CHIP_GEMINILAKE_I2C_1, "Intel Gemini Lake I2C Controller-1", IG4_GEMINILAKE},
+	{ PCI_CHIP_GEMINILAKE_I2C_2, "Intel Gemini Lake I2C Controller-2", IG4_GEMINILAKE},
+	{ PCI_CHIP_GEMINILAKE_I2C_3, "Intel Gemini Lake I2C Controller-3", IG4_GEMINILAKE},
+	{ PCI_CHIP_GEMINILAKE_I2C_4, "Intel Gemini Lake I2C Controller-4", IG4_GEMINILAKE},
+	{ PCI_CHIP_GEMINILAKE_I2C_5, "Intel Gemini Lake I2C Controller-5", IG4_GEMINILAKE},
+	{ PCI_CHIP_GEMINILAKE_I2C_6, "Intel Gemini Lake I2C Controller-6", IG4_GEMINILAKE},
+	{ PCI_CHIP_GEMINILAKE_I2C_7, "Intel Gemini Lake I2C Controller-7", IG4_GEMINILAKE},
 };
 
 static int
diff --git a/sys/dev/ichiic/ig4_var.h b/sys/dev/ichiic/ig4_var.h
index 7a94e4f5cffd..da81980039f1 100644
--- a/sys/dev/ichiic/ig4_var.h
+++ b/sys/dev/ichiic/ig4_var.h
@@ -49,7 +49,8 @@ enum ig4_vers {
 	IG4_SKYLAKE,
 	IG4_APL,
 	IG4_CANNONLAKE,
-	IG4_TIGERLAKE
+	IG4_TIGERLAKE,
+	IG4_GEMINILAKE
 };
 
 /* Controller has additional registers */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202104112149.13BLnvUH067449>