summaryrefslogtreecommitdiff
path: root/src/mainboard/google/link
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/google/link')
-rw-r--r--src/mainboard/google/link/acpi/mainboard.asl112
-rw-r--r--src/mainboard/google/link/dsdt.asl4
-rw-r--r--src/mainboard/google/link/onboard.h4
3 files changed, 113 insertions, 7 deletions
diff --git a/src/mainboard/google/link/acpi/mainboard.asl b/src/mainboard/google/link/acpi/mainboard.asl
index 3e751bb795..28d6d34c76 100644
--- a/src/mainboard/google/link/acpi/mainboard.asl
+++ b/src/mainboard/google/link/acpi/mainboard.asl
@@ -11,9 +11,6 @@ Scope (\_SB) {
// automatically enable it as a wake source
Name(_HID, EisaId("PNP0C0E"))
- // Trackpad Wake is GPIO12
- Name(_PRW, Package() { BOARD_TRACKPAD_WAKE_GPIO, 0x03 } )
-
Name(_CRS, ResourceTemplate()
{
// PIRQE -> GSI20
@@ -35,9 +32,6 @@ Scope (\_SB) {
// automatically enable it as a wake source
Name(_HID, EisaId("PNP0C0E"))
- // Touchscreen Wake is GPIO14
- Name(_PRW, Package(){0x1e, 0x03})
-
Name(_CRS, ResourceTemplate()
{
// PIRQG -> GSI22
@@ -48,3 +42,109 @@ Scope (\_SB) {
})
}
}
+
+
+Scope (\_SB.PCI0.GFX0)
+{
+ Device (GMBS){
+ Name (_HID, "BOOT0001")
+ Method (_STA, 0, NotSerialized) // _STA: Status
+ {
+ Return (0x0F)
+ }
+
+ Method (MMIO, 0, Serialized)
+ {
+ Local0 = BAR0 & 0xFFFFFFFFFFFFFFF0
+ Return (Local0)
+ }
+
+ Device (LVGA) {
+ Name (_HID, "BOOT0002")
+ Name (_UID, 0)
+ Name (_DSD, Package () {
+ ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package (2) {"coolstar,bus-number", GMBUS_PIN_VGADDC}
+ }
+ })
+
+ Method (_STA)
+ {
+ Return (0xF)
+ }
+
+ Device (ATPD)
+ {
+ Name (_HID, "ATML0000")
+ Name (_DDN, "Atmel Touchpad")
+ Name (_UID, 0)
+
+ Name (_CRS, ResourceTemplate()
+ {
+ I2cSerialBus (
+ BOARD_TRACKPAD_I2C_ADDR, // SlaveAddress
+ ControllerInitiated, // SlaveMode
+ 100000, // ConnectionSpeed
+ AddressingMode7Bit, // AddressingMode
+ "\\_SB.PCI0.GFX0.GMBS.LVGA", // ResourceSource
+ )
+
+ Interrupt (ResourceConsumer, Level, ActiveLow) { BOARD_TRACKPAD_IRQ }
+ })
+
+ // Trackpad Wake is GPIO12
+ Name(_PRW, Package() { BOARD_TRACKPAD_WAKE_GPIO, 0x03 } )
+
+ Method (_STA)
+ {
+ Return (0xF)
+ }
+ }
+ }
+
+ Device (LPNL) {
+ Name (_HID, "BOOT0002")
+ Name (_UID, 1)
+ Name (_DSD, Package () {
+ ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package (2) {"coolstar,bus-number", GMBUS_PIN_PANEL}
+ }
+ })
+
+ Method (_STA)
+ {
+ Return (0xF)
+ }
+
+ Device (ATSA)
+ {
+ Name (_HID, "ATML0001")
+ Name (_DDN, "Atmel TouchScreen")
+ Name (_UID, 0)
+
+ Name (_CRS, ResourceTemplate()
+ {
+ I2cSerialBus (
+ BOARD_TOUCHSCREEN_I2C_ADDR, // SlaveAddress
+ ControllerInitiated, // SlaveMode
+ 100000, // ConnectionSpeed
+ AddressingMode7Bit, // AddressingMode
+ "\\_SB.PCI0.GFX0.GMBS.LPNL", // ResourceSource
+ )
+
+ Interrupt (ResourceConsumer, Level, ActiveLow) { BOARD_TOUCHSCREEN_IRQ }
+ })
+
+ // Touchscreen Wake is GPIO14
+ Name(_PRW, Package() { BOARD_TOUCHSCREEN_WAKE_GPIO, 0x03 } )
+
+ Method (_STA)
+ {
+ Return (0xF)
+ }
+ }
+ }
+ }
+}
diff --git a/src/mainboard/google/link/dsdt.asl b/src/mainboard/google/link/dsdt.asl
index 81e30748ef..4e63f19845 100644
--- a/src/mainboard/google/link/dsdt.asl
+++ b/src/mainboard/google/link/dsdt.asl
@@ -14,7 +14,6 @@ DefinitionBlock(
#include <southbridge/intel/common/acpi/platform.asl>
#include "acpi/platform.asl"
- #include "acpi/mainboard.asl"
// Thermal handler
#include "acpi/thermal.asl"
@@ -34,5 +33,8 @@ DefinitionBlock(
}
}
+ // Mainboard devices must be defined after _SB.PCI0.GFX0 as they're attached to the IGPU
+ #include "acpi/mainboard.asl"
+
#include <southbridge/intel/common/acpi/sleepstates.asl>
}
diff --git a/src/mainboard/google/link/onboard.h b/src/mainboard/google/link/onboard.h
index efcda92ef9..27984a4b74 100644
--- a/src/mainboard/google/link/onboard.h
+++ b/src/mainboard/google/link/onboard.h
@@ -15,9 +15,13 @@
#define BOARD_TOUCHSCREEN_NAME "touchscreen"
#define BOARD_TOUCHSCREEN_I2C_ADDR 0x4a
#define BOARD_TOUCHSCREEN_IRQ 22
+#define BOARD_TOUCHSCREEN_WAKE_GPIO 0x1e
#define GPIO_REC_MODE 9
#define GPIO_SPI_WP 57
+#define GMBUS_PIN_VGADDC 2
+#define GMBUS_PIN_PANEL 3
+
#endif