Created attachment 196213 [details] Patch to add ACPI HID to Designware I2C driver for AMD platforms This bug report has been created to add ACPI Device HID AMDI0010 for the designware I2C controllers in future AMD platforms. Also, the component version in the I2C controllers in AMD platforms is greater than 0x3131352A. So, ig4iic_attach has been slightly modified to work with component versions greater than 0x3131352A. Reviewed patch attached. Review: https://reviews.freebsd.org/D16670
A commit references this bug: Author: gonzo Date: Mon Aug 20 18:50:57 UTC 2018 New revision: 338111 URL: https://svnweb.freebsd.org/changeset/base/338111 Log: [ig4] add ACPI Device HID for AMD platforms Added ACPI Device HID AMDI0010 for the designware I2C controllers in future AMD platforms. Also, when verifying component version check for minimal value instead of exact match. PR: 230641 Submitted by: Rajesh <rajfbsd@gmail.com> Reviewed by: cem, gonzo MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D16670 Changes: head/sys/dev/ichiic/ig4_acpi.c head/sys/dev/ichiic/ig4_iic.c head/sys/dev/ichiic/ig4_reg.h
A commit references this bug: Author: gonzo Date: Sun Sep 30 23:15:45 UTC 2018 New revision: 339030 URL: https://svnweb.freebsd.org/changeset/base/339030 Log: MFC r338111, r338215 r338111: [ig4] add ACPI Device HID for AMD platforms Added ACPI Device HID AMDI0010 for the designware I2C controllers in future AMD platforms. Also, when verifying component version check for minimal value instead of exact match. PR: 230641 Submitted by: Rajesh <rajfbsd@gmail.com> Reviewed by: cem, gonzo Differential Revision: https://reviews.freebsd.org/D16670 r338215: [ig4] Fix I/O timeout issue with Designware I2C controller on AMD platforms Due to hardware limitation AMD I2C controller can't trigger pending interrupt if interrupt status has been changed after clearing interrupt status bits. So, I2C will lose the interrupt and IO will be timed out. Implements a workaround to disable I2C controller interrupt and re-enable I2C interrupt before existing interrupt handler. Submitted by: rajfbsd@gmail.com Differential Revision: https://reviews.freebsd.org/D16720 Changes: _U stable/11/ stable/11/sys/dev/ichiic/ig4_acpi.c stable/11/sys/dev/ichiic/ig4_iic.c stable/11/sys/dev/ichiic/ig4_reg.h stable/11/sys/dev/ichiic/ig4_var.h