hp/pavilion_m6_1035dx: Map USB and PWRB PME sources to GPE 11
Hudson ASL files assume the USB power event notifications are mapped
to GPE 0xb. Since that GPE is not used on this board, map these events
to GPE11. This GPE is already handled in ACPI via Method(_L0B). We
adjust this method to also notify the XHCI controller at PCI 10:0.
Change-Id: If33dd4bb5830820227f7c8b34594886cfae37282
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-on: http://review.coreboot.org/5554
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Aaron Durbin <adurbin@gmail.com>
diff --git a/src/mainboard/hp/pavilion_m6_1035dx/acpi/gpe.asl b/src/mainboard/hp/pavilion_m6_1035dx/acpi/gpe.asl
index 7a78485..93c46ae 100644
--- a/src/mainboard/hp/pavilion_m6_1035dx/acpi/gpe.asl
+++ b/src/mainboard/hp/pavilion_m6_1035dx/acpi/gpe.asl
@@ -32,15 +32,15 @@
/* USB controller PME# */
Method(_L0B) {
- /* DBGO("\\_GPE\\_L0B\n") */
- Notify(\_SB.PCI0.UOH1, 0x02) /* NOTIFY_DEVICE_WAKE */
- Notify(\_SB.PCI0.UOH2, 0x02) /* NOTIFY_DEVICE_WAKE */
- Notify(\_SB.PCI0.UOH3, 0x02) /* NOTIFY_DEVICE_WAKE */
- Notify(\_SB.PCI0.UOH4, 0x02) /* NOTIFY_DEVICE_WAKE */
- Notify(\_SB.PCI0.UOH5, 0x02) /* NOTIFY_DEVICE_WAKE */
- Notify(\_SB.PCI0.UOH6, 0x02) /* NOTIFY_DEVICE_WAKE */
- Notify(\_SB.PCI0.UEH1, 0x02) /* NOTIFY_DEVICE_WAKE */
- Notify(\_SB.PWRB, 0x02) /* NOTIFY_DEVICE_WAKE */
+ Store("USB PME", Debug)
+ /* Notify devices of wake event */
+ Notify(\_SB.PCI0.UOH1, 0x02)
+ Notify(\_SB.PCI0.UOH2, 0x02)
+ Notify(\_SB.PCI0.UOH3, 0x02)
+ Notify(\_SB.PCI0.UOH4, 0x02)
+ Notify(\_SB.PCI0.XHC0, 0x02)
+ Notify(\_SB.PCI0.UEH1, 0x02)
+ Notify(\_SB.PWRB, 0x02)
}
/* ExtEvent0 SCI event */
diff --git a/src/mainboard/hp/pavilion_m6_1035dx/buildOpts.c b/src/mainboard/hp/pavilion_m6_1035dx/buildOpts.c
index cf9ac4f..8b48476 100644
--- a/src/mainboard/hp/pavilion_m6_1035dx/buildOpts.c
+++ b/src/mainboard/hp/pavilion_m6_1035dx/buildOpts.c
@@ -374,11 +374,22 @@
#define BLDCFG_FCH_GPIO_CONTROL_LIST (&pavilion_m6_1035dx_gpio[0])
+/* These definitions could be moved to a common Hudson header, should we decide
+ * to provide our own, saner SCI mapping function
+ */
#define GEVENT_PIN(gpe) ((gpe) + 0x40)
+#define SCI_MAP_OHCI_12_0 0x58
+#define SCI_MAP_OHCI_13_0 0x59
+#define SCI_MAP_XHCI_10_0 0x78
+#define SCI_MAP_PWRBTN 0x73
SCI_MAP_CONTROL m6_1035dx_sci_map[] = {
{GEVENT_PIN( EC_SCI_GEVENT ), EC_SCI_GPE},
- {GEVENT_PIN( EC_LID_GEVENT ), EC_LID_GPE}, /* EC_SMI - GPE23 */
+ {GEVENT_PIN( EC_LID_GEVENT ), EC_LID_GPE},
+ {SCI_MAP_OHCI_12_0, PME_GPE},
+ {SCI_MAP_OHCI_13_0, PME_GPE},
+ {SCI_MAP_XHCI_10_0, PME_GPE},
+ {SCI_MAP_PWRBTN, PME_GPE},
};
#define BLDCFG_FCH_SCI_MAP_LIST (&m6_1035dx_sci_map[0])
diff --git a/src/mainboard/hp/pavilion_m6_1035dx/mainboard.h b/src/mainboard/hp/pavilion_m6_1035dx/mainboard.h
index bbf9c43..8e51a77 100644
--- a/src/mainboard/hp/pavilion_m6_1035dx/mainboard.h
+++ b/src/mainboard/hp/pavilion_m6_1035dx/mainboard.h
@@ -18,5 +18,6 @@
*/
#define EC_SCI_GPE EC_SCI_GEVENT
#define EC_LID_GPE EC_LID_GEVENT
+#define PME_GPE 0x0b
#endif /* _MAINBOARD_HP_PAVILION_M6_1035DX_MAINBOARD_H */