the following patch was just integrated into master:
commit a7a517ddc5e2224f730c951bea9d93ca80ea0d7f
Author: Furquan Shaikh <furquan(a)chromium.org>
Date: Wed Jan 25 19:15:49 2017 -0800
mainboard/google/pryo: Update touchscreen device ACPI nodes
1. For ELAN, export reset GPIO as well as PowerResource
2. For WCOM, export PowerResource
BUG=chrome-os-partner:62311, chrome-os-partner:60194,
chrome-os-partner:62371
BRANCH=reef
TEST=Verified that touchscreen works on pyro with WCOM device on
power-on as well as after suspend/resume.
Change-Id: I0306e24e19bf821cd3e08fdacc0d78b494c9a92f
Signed-off-by: Furquan Shaikh <furquan(a)chromium.org>
Reviewed-on: https://review.coreboot.org/18239
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
See https://review.coreboot.org/18239 for details.
-gerrit
Tobias Diedrich (ranma+coreboot(a)tdiedrich.de) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18259
-gerrit
commit 3bcd7eaa8a5e2262b6e1978412cef64841b1d9d7
Author: Tobias Diedrich <ranma+openocd(a)tdiedrich.de>
Date: Sun Jan 29 18:03:09 2017 +0100
asus/f2a85-m_le: Activate IOMMU support
Activate the IOMMU for the ASUS F2A85-M LE board.
Enable the IOMMU in `devicetree.cb` and build AGESA IOMMU code by
enabling the option in `buildOpts.c`.
ACPI and MPTABLES interrupt routers are already present since they are
syminks to the F2A85-M version.
```
$ uname -a
Linux nukunuku 4.8.5 #35 SMP Sun Oct 30 19:34:55 CET 2016 x86_64 GNU/Linux
$ lspci -s 0.2
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 10h-1fh) I/O Memory Management Unit
$ dmesg | grep -i IOMMU
ACPI: IVRS 0x00000000BFFAFF70 000070 (v02 AMD AMDIOMMU 00000001 AMD 00000000)
AMD-Vi: Applying erratum 746 workaround for IOMMU at 0000:00:00.2
iommu: Adding device 0000:00:01.0 to group 0
[...]
iommu: Adding device 0000:00:18.5 to group 9
iommu: Adding device 0000:03:00.0 to group 8
AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40
AMD IOMMUv2 driver by Joerg Roedel <jroedel(a)suse.de>
```
Change-Id: I6049fcfad53d16a99495d7a8fbc584c71e371d73
Signed-off-by: Tobias Diedrich <ranma+coreboot(a)tdiedrich.de>
---
src/mainboard/asus/f2a85-m_le/buildOpts.c | 2 +-
src/mainboard/asus/f2a85-m_le/devicetree.cb | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/mainboard/asus/f2a85-m_le/buildOpts.c b/src/mainboard/asus/f2a85-m_le/buildOpts.c
index 88ff778..e0a1ea4 100644
--- a/src/mainboard/asus/f2a85-m_le/buildOpts.c
+++ b/src/mainboard/asus/f2a85-m_le/buildOpts.c
@@ -176,7 +176,7 @@
#define BLDCFG_UMA_ABOVE4G_SUPPORT FALSE
#endif
-#define BLDCFG_IOMMU_SUPPORT FALSE
+#define BLDCFG_IOMMU_SUPPORT TRUE
#define BLDCFG_CFG_GNB_HD_AUDIO TRUE
//#define BLDCFG_IGPU_SUBSYSTEM_ID OEM_IGPU_SSID
diff --git a/src/mainboard/asus/f2a85-m_le/devicetree.cb b/src/mainboard/asus/f2a85-m_le/devicetree.cb
index b9873d0..d83f466 100644
--- a/src/mainboard/asus/f2a85-m_le/devicetree.cb
+++ b/src/mainboard/asus/f2a85-m_le/devicetree.cb
@@ -26,6 +26,7 @@ chip northbridge/amd/agesa/family15tn/root_complex
chip northbridge/amd/agesa/family15tn # PCI side of HT root complex
device pci 0.0 on end # Root Complex
+ device pci 0.2 on end # IOMMU
device pci 1.0 on end # Internal Graphics P2P bridge 0x99XX
device pci 1.1 on end # Internal Multimedia
device pci 2.0 on end # PCIE SLOT0 x16 blue
the following patch was just integrated into master:
commit 71d830fddc46fd22f90976f94eaaae2c390e5927
Author: Furquan Shaikh <furquan(a)chromium.org>
Date: Wed Jan 25 17:53:01 2017 -0800
i2c/generic: Allow GPIOs to be put in _CRS and PowerResource in ACPI
Linux kernel expects that power management with ACPI should always be
handled using PowerResource. However, some kernel drivers (e.g. ELAN
touchscreen) check to see if reset gpio is passed in by the BIOS to
decide whether the device loses power in suspend. Thus, until the kernel
has a better way for drivers to query if device lost power in suspend,
we need to allow passing in of GPIOs via _CRS as well as exporting
PowerResource to control power to the device.
Update mainboards to export reset GPIO as well as PowerResource for
ELAN touchscreen device.
BUG=chrome-os-partner:62311,chrome-os-partner:60194
BRANCH=reef
TEST=Verified that touchscreen works on power-on as well as after
suspend-resume.
Change-Id: I3409689cf56bfddd321402ad5dda3fc8762e6bc6
Signed-off-by: Furquan Shaikh <furquan(a)chromium.org>
Reviewed-on: https://review.coreboot.org/18238
Tested-by: build bot (Jenkins)
Reviewed-by: Duncan Laurie <dlaurie(a)chromium.org>
See https://review.coreboot.org/18238 for details.
-gerrit
Tobias Diedrich (ranma+coreboot(a)tdiedrich.de) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18259
-gerrit
commit f51ee99b211d4d777860705d5f856e18a01d7af3
Author: Tobias Diedrich <ranma+openocd(a)tdiedrich.de>
Date: Sun Jan 29 18:03:09 2017 +0100
mainboard/asus/f2a85-m_le: Toggle on IOMMU support.
Toggle on in devicetree.cb and build into AGESA by buildOpts.c.
ACPI and MPTABLES interrupt routers are already present since they are
syminks to the f2a85-m version.
$ lspci -s 0.2
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 10h-1fh) I/O Memory Management Unit
$ dmesg | grep -i IOMMU
ACPI: IVRS 0x00000000BFFAFF70 000070 (v02 AMD AMDIOMMU 00000001 AMD 00000000)
AMD-Vi: Applying erratum 746 workaround for IOMMU at 0000:00:00.2
iommu: Adding device 0000:00:01.0 to group 0
iommu: Adding device 0000:00:01.1 to group 0
iommu: Adding device 0000:00:10.0 to group 1
iommu: Adding device 0000:00:10.1 to group 1
iommu: Adding device 0000:00:11.0 to group 2
iommu: Adding device 0000:00:12.0 to group 3
iommu: Adding device 0000:00:12.2 to group 3
iommu: Adding device 0000:00:13.0 to group 4
iommu: Adding device 0000:00:13.2 to group 4
iommu: Adding device 0000:00:14.0 to group 5
iommu: Adding device 0000:00:14.2 to group 5
iommu: Adding device 0000:00:14.3 to group 5
iommu: Adding device 0000:00:14.4 to group 6
iommu: Adding device 0000:00:14.5 to group 7
iommu: Adding device 0000:00:15.0 to group 8
iommu: Adding device 0000:00:15.1 to group 8
iommu: Adding device 0000:00:18.0 to group 9
iommu: Adding device 0000:00:18.1 to group 9
iommu: Adding device 0000:00:18.2 to group 9
iommu: Adding device 0000:00:18.3 to group 9
iommu: Adding device 0000:00:18.4 to group 9
iommu: Adding device 0000:00:18.5 to group 9
iommu: Adding device 0000:03:00.0 to group 8
AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40
AMD IOMMUv2 driver by Joerg Roedel <jroedel(a)suse.de>
Change-Id: I6049fcfad53d16a99495d7a8fbc584c71e371d73
Signed-off-by: Tobias Diedrich <ranma+coreboot(a)tdiedrich.de>
---
src/mainboard/asus/f2a85-m_le/buildOpts.c | 2 +-
src/mainboard/asus/f2a85-m_le/devicetree.cb | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/mainboard/asus/f2a85-m_le/buildOpts.c b/src/mainboard/asus/f2a85-m_le/buildOpts.c
index 88ff778..e0a1ea4 100644
--- a/src/mainboard/asus/f2a85-m_le/buildOpts.c
+++ b/src/mainboard/asus/f2a85-m_le/buildOpts.c
@@ -176,7 +176,7 @@
#define BLDCFG_UMA_ABOVE4G_SUPPORT FALSE
#endif
-#define BLDCFG_IOMMU_SUPPORT FALSE
+#define BLDCFG_IOMMU_SUPPORT TRUE
#define BLDCFG_CFG_GNB_HD_AUDIO TRUE
//#define BLDCFG_IGPU_SUBSYSTEM_ID OEM_IGPU_SSID
diff --git a/src/mainboard/asus/f2a85-m_le/devicetree.cb b/src/mainboard/asus/f2a85-m_le/devicetree.cb
index b9873d0..d83f466 100644
--- a/src/mainboard/asus/f2a85-m_le/devicetree.cb
+++ b/src/mainboard/asus/f2a85-m_le/devicetree.cb
@@ -26,6 +26,7 @@ chip northbridge/amd/agesa/family15tn/root_complex
chip northbridge/amd/agesa/family15tn # PCI side of HT root complex
device pci 0.0 on end # Root Complex
+ device pci 0.2 on end # IOMMU
device pci 1.0 on end # Internal Graphics P2P bridge 0x99XX
device pci 1.1 on end # Internal Multimedia
device pci 2.0 on end # PCIE SLOT0 x16 blue