summaryrefslogtreecommitdiffstats
path: root/resources/libreboot/patch/coreboot/2a6f251f4d8d41d13051ec2c897aea800c07275a/grub/ga-g41m-es2l/0001-g41-sata.patch
blob: 9fe21d4bbb89db1553d9e07fbebbec3f1f30b142 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
From bf128e4fc6d6a134d8d04ee0c4a392a4d98db1d4 Mon Sep 17 00:00:00 2001
From: Damien Zammit <damien@zamaudio.com>
Date: Wed, 11 May 2016 19:08:33 +1000
Subject: [PATCH] mb/gigabyte/ga-g41m-es2l: Fix ACPI IRQ settings for SATA

Previously, due to a bug in devicetree and incorrect IRQ
settings in ACPI, SATA controller would not initialize
any HDDs in the OS, even though it worked in SeaBIOS.
The devicetree setting is not needed because SATA must
function in "plain" mode on this board, as "combined" mode
does not work at all.

Change-Id: I0036c4734de00b84cc3d64f38e4b1fd80fd1a25d
Signed-off-by: Damien Zammit <damien@zamaudio.com>
---

diff --git a/src/mainboard/gigabyte/ga-g41m-es2l/acpi/x4x_pci_irqs.asl b/src/mainboard/gigabyte/ga-g41m-es2l/acpi/x4x_pci_irqs.asl
index fdfe73d..87719f7 100644
--- a/src/mainboard/gigabyte/ga-g41m-es2l/acpi/x4x_pci_irqs.asl
+++ b/src/mainboard/gigabyte/ga-g41m-es2l/acpi/x4x_pci_irqs.asl
@@ -22,28 +22,35 @@
 		Return (Package() {
 			/* Internal GFX */
 			Package() { 0x0002ffff, 0, 0, 16 },
+			Package() { 0x0002ffff, 1, 0, 17 },
+			Package() { 0x0002ffff, 2, 0, 18 },
+			Package() { 0x0002ffff, 3, 0, 19 },
 			/* High Definition Audio	0:1b.0 */
-			Package() { 0x001bffff, 0, 0, 22 },
+			Package() { 0x001bffff, 0, 0, 16 },
 			/* PCIe Root Ports		0:1c.x */
 			Package() { 0x001cffff, 0, 0, 16 },
 			Package() { 0x001cffff, 1, 0, 17 },
 			Package() { 0x001cffff, 2, 0, 18 },
 			Package() { 0x001cffff, 3, 0, 19 },
+			Package() { 0x001cffff, 0, 0, 16 },
+			Package() { 0x001cffff, 1, 0, 17 },
 			/* USB and EHCI			0:1d.x */
 			Package() { 0x001dffff, 0, 0, 23 },
 			Package() { 0x001dffff, 1, 0, 19 },
 			Package() { 0x001dffff, 2, 0, 18 },
 			Package() { 0x001dffff, 3, 0, 16 },
-			Package() { 0x001dffff, 0, 0, 23 },
 			/* SMBUS/SATA/PATA	0:1f.2, 0:1f.3 */
-			Package() { 0x001fffff, 1, 0, 19 },
-			Package() { 0x001fffff, 1, 0, 19 },
 			Package() { 0x001fffff, 0, 0, 18 },
+			Package() { 0x001fffff, 1, 0, 19 },
+			Package() { 0x001fffff, 1, 0, 19 },
 		})
 	} Else {
 		Return (Package() {
 			/* Internal GFX */
 			Package() { 0x0002ffff, 0, \_SB.PCI0.LPCB.LNKA, 0 },
+			Package() { 0x0002ffff, 1, \_SB.PCI0.LPCB.LNKB, 0 },
+			Package() { 0x0002ffff, 2, \_SB.PCI0.LPCB.LNKC, 0 },
+			Package() { 0x0002ffff, 3, \_SB.PCI0.LPCB.LNKD, 0 },
 			/* High Definition Audio	0:1b.0 */
 			Package() { 0x001bffff, 0, \_SB.PCI0.LPCB.LNKA, 0 },
 			/* PCIe Root Ports		0:1c.x */
@@ -51,16 +58,17 @@
 			Package() { 0x001cffff, 1, \_SB.PCI0.LPCB.LNKB, 0 },
 			Package() { 0x001cffff, 2, \_SB.PCI0.LPCB.LNKC, 0 },
 			Package() { 0x001cffff, 3, \_SB.PCI0.LPCB.LNKD, 0 },
+			Package() { 0x001cffff, 0, \_SB.PCI0.LPCB.LNKA, 0 },
+			Package() { 0x001cffff, 1, \_SB.PCI0.LPCB.LNKB, 0 },
 			/* USB and EHCI			0:1d.x */
 			Package() { 0x001dffff, 0, \_SB.PCI0.LPCB.LNKH, 0 },
 			Package() { 0x001dffff, 1, \_SB.PCI0.LPCB.LNKD, 0 },
 			Package() { 0x001dffff, 2, \_SB.PCI0.LPCB.LNKC, 0 },
 			Package() { 0x001dffff, 3, \_SB.PCI0.LPCB.LNKA, 0 },
-			Package() { 0x001dffff, 0, \_SB.PCI0.LPCB.LNKH, 0 },
 			/* SMBUS/SATA/PATA		0:1f.2, 0:1f.3 */
-			Package() { 0x001fffff, 1, \_SB.PCI0.LPCB.LNKD, 0 },
-			Package() { 0x001fffff, 1, \_SB.PCI0.LPCB.LNKD, 0 },
 			Package() { 0x001fffff, 0, \_SB.PCI0.LPCB.LNKC, 0 },
+			Package() { 0x001fffff, 1, \_SB.PCI0.LPCB.LNKD, 0 },
+			Package() { 0x001fffff, 1, \_SB.PCI0.LPCB.LNKD, 0 },
 		})
 	}
 }
diff --git a/src/mainboard/gigabyte/ga-g41m-es2l/devicetree.cb b/src/mainboard/gigabyte/ga-g41m-es2l/devicetree.cb
index 3965538..c433387 100644
--- a/src/mainboard/gigabyte/ga-g41m-es2l/devicetree.cb
+++ b/src/mainboard/gigabyte/ga-g41m-es2l/devicetree.cb
@@ -46,10 +46,10 @@
       register "pirqf_routing" = "0x0b"
       register "pirqg_routing" = "0x0b"
       register "pirqh_routing" = "0x0b"
-      register "ide_legacy_combined" = "0x1"
+      register "ide_legacy_combined" = "0x0"	# Combined mode broken
       register "ide_enable_primary" = "0x1"
       register "ide_enable_secondary" = "0x0"
-      register "sata_ahci" = "0x0"
+      register "sata_ahci" = "0x0"		# AHCI does not work
       register "sata_ports_implemented" = "0x3"
       register "gpe0_en" = "0x40"