From 6444d7df0b3f17af9917371647e079c93bb1b415 Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Tue, 31 Jul 2018 16:32:25 -0500 Subject: google/cyan: do not hardcode virtual interrupt numbers Adapted from chromium commit ee7a150 [Strago: do not hardcode virtual interrupt numbers] Instead of hardcoding virtual interrupt numbers that may change as the kernel changes, use GpioInt() resources to describe keyboard, touchpad, and touchscreen interrupt lines. TEST=Build and boot several cyan variant boards, verify keyboard, touchpad and touchscreen work with newer kernels (4.14+). Original-Change-Id: I98d5726f5b8094d639fb40dfca128364f63bb30b Original-Signed-off-by: Dmitry Torokhov Original-Reviewed-on: https://chromium-review.googlesource.com/894687 Original-Reviewed-by: Aaron Durbin Change-Id: Iecfb45be433249d274532eb746588483fedb3f52 Signed-off-by: Matt DeVillier Reviewed-on: https://review.coreboot.org/27758 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Aaron Durbin --- src/mainboard/google/cyan/acpi/touchscreen_elan.asl | 6 ++---- src/mainboard/google/cyan/acpi/touchscreen_melfas.asl | 6 ++---- src/mainboard/google/cyan/acpi/touchscreen_synaptics.asl | 6 ++---- src/mainboard/google/cyan/acpi/trackpad_atmel.asl | 6 ++---- src/mainboard/google/cyan/variants/cyan/include/variant/onboard.h | 2 -- src/mainboard/google/cyan/variants/kefka/include/variant/onboard.h | 4 ++-- src/mainboard/google/cyan/variants/reks/include/variant/onboard.h | 4 ++-- src/mainboard/google/cyan/variants/relm/include/variant/onboard.h | 4 ++-- src/mainboard/google/cyan/variants/setzer/include/variant/onboard.h | 4 ++-- src/mainboard/google/cyan/variants/ultima/include/variant/onboard.h | 4 ++-- src/mainboard/google/cyan/variants/wizpig/include/variant/onboard.h | 4 ++-- 11 files changed, 20 insertions(+), 30 deletions(-) diff --git a/src/mainboard/google/cyan/acpi/touchscreen_elan.asl b/src/mainboard/google/cyan/acpi/touchscreen_elan.asl index 7100120585..7e3c7ae5f4 100644 --- a/src/mainboard/google/cyan/acpi/touchscreen_elan.asl +++ b/src/mainboard/google/cyan/acpi/touchscreen_elan.asl @@ -35,10 +35,8 @@ Scope (\_SB.PCI0.I2C1) AddressingMode7Bit, /* AddressingMode */ "\\_SB.PCI0.I2C1", /* ResourceSource */ ) - Interrupt (ResourceConsumer, Level, ActiveLow) - { - BOARD_TOUCH_IRQ - } + GpioInt (Level, ActiveLow, ExclusiveAndWake, PullNone,, + "\\_SB.GPNC") { BOARD_TOUCH_GPIO_INDEX } } ) Return (BUF0) diff --git a/src/mainboard/google/cyan/acpi/touchscreen_melfas.asl b/src/mainboard/google/cyan/acpi/touchscreen_melfas.asl index 8d36649f51..f54f8867d1 100644 --- a/src/mainboard/google/cyan/acpi/touchscreen_melfas.asl +++ b/src/mainboard/google/cyan/acpi/touchscreen_melfas.asl @@ -35,10 +35,8 @@ Scope (\_SB.PCI0.I2C1) AddressingMode7Bit, /* AddressingMode */ "\\_SB.I2C1", /* ResourceSource */ ) - Interrupt (ResourceConsumer, Level, ActiveLow) - { - BOARD_TOUCH_IRQ - } + GpioInt (Level, ActiveLow, ExclusiveAndWake, PullNone,, + "\\_SB.GPNC") { BOARD_TOUCH_GPIO_INDEX } }) Return (BUF0) } diff --git a/src/mainboard/google/cyan/acpi/touchscreen_synaptics.asl b/src/mainboard/google/cyan/acpi/touchscreen_synaptics.asl index 024e6f1f6b..f0db3a310b 100644 --- a/src/mainboard/google/cyan/acpi/touchscreen_synaptics.asl +++ b/src/mainboard/google/cyan/acpi/touchscreen_synaptics.asl @@ -78,10 +78,8 @@ Scope (\_SB.PCI0.I2C1) AddressingMode7Bit, /* AddressingMode */ "\\_SB.PCI0.I2C1", /* ResourceSource */ ) - Interrupt (ResourceConsumer, Edge, ActiveLow) - { - BOARD_TOUCH_IRQ - } + GpioInt (Level, ActiveLow, ExclusiveAndWake, PullNone,, + "\\_SB.GPNC") { BOARD_TOUCH_GPIO_INDEX } }) Return (BUF0) } diff --git a/src/mainboard/google/cyan/acpi/trackpad_atmel.asl b/src/mainboard/google/cyan/acpi/trackpad_atmel.asl index da2cf7a517..96ec3db571 100644 --- a/src/mainboard/google/cyan/acpi/trackpad_atmel.asl +++ b/src/mainboard/google/cyan/acpi/trackpad_atmel.asl @@ -33,10 +33,8 @@ Scope (\_SB.PCI0.I2C6) AddressingMode7Bit, // AddressingMode "\\_SB.PCI0.I2C6", // ResourceSource ) - Interrupt (ResourceConsumer, Edge, ActiveLow) - { - 183 - } + GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone,, + "\\_SB.GPNC") { BOARD_TRACKPAD_GPIO_INDEX } }) Method (_STA) diff --git a/src/mainboard/google/cyan/variants/cyan/include/variant/onboard.h b/src/mainboard/google/cyan/variants/cyan/include/variant/onboard.h index 883f9b98b9..9d8cd25a0e 100644 --- a/src/mainboard/google/cyan/variants/cyan/include/variant/onboard.h +++ b/src/mainboard/google/cyan/variants/cyan/include/variant/onboard.h @@ -30,8 +30,6 @@ * GPSE_SIZE = 86 */ -#define BOARD_TOUCH_IRQ 184 - /* KBD: Gpio index in N bank */ #define BOARD_I8042_GPIO_INDEX 17 /* SCI: Gpio index in N bank */ diff --git a/src/mainboard/google/cyan/variants/kefka/include/variant/onboard.h b/src/mainboard/google/cyan/variants/kefka/include/variant/onboard.h index 4a79806ecf..9b77c243dd 100644 --- a/src/mainboard/google/cyan/variants/kefka/include/variant/onboard.h +++ b/src/mainboard/google/cyan/variants/kefka/include/variant/onboard.h @@ -30,8 +30,6 @@ * GPSE_SIZE = 86 */ -#define BOARD_TOUCH_IRQ 184 - /* KBD: Gpio index in N bank */ #define BOARD_I8042_GPIO_INDEX 17 /* Audio: Gpio index in SW bank */ @@ -40,6 +38,8 @@ #define BOARD_SCI_GPIO_INDEX 15 /* Trackpad: Gpio index in N bank */ #define BOARD_TRACKPAD_GPIO_INDEX 18 +/* Touch: Gpio index in N bank */ +#define BOARD_TOUCH_GPIO_INDEX 19 #define BOARD_TRACKPAD_NAME "trackpad" #define BOARD_TRACKPAD_WAKE_GPIO ACPI_ENABLE_WAKE_SUS_GPIO(1) diff --git a/src/mainboard/google/cyan/variants/reks/include/variant/onboard.h b/src/mainboard/google/cyan/variants/reks/include/variant/onboard.h index 19c3bc36ad..ec4fa62496 100644 --- a/src/mainboard/google/cyan/variants/reks/include/variant/onboard.h +++ b/src/mainboard/google/cyan/variants/reks/include/variant/onboard.h @@ -30,8 +30,6 @@ * GPSE_SIZE = 86 */ -#define BOARD_TOUCH_IRQ 184 - /* DPTF */ #define DPTF_CPU_PASSIVE 80 #define DPTF_CPU_CRITICAL 90 @@ -44,6 +42,8 @@ #define BOARD_SCI_GPIO_INDEX 15 /* Trackpad: Gpio index in N bank */ #define BOARD_TRACKPAD_GPIO_INDEX 18 +/* Touch: Gpio index in N bank */ +#define BOARD_TOUCH_GPIO_INDEX 19 #define BOARD_TRACKPAD_NAME "trackpad" #define BOARD_TRACKPAD_WAKE_GPIO ACPI_ENABLE_WAKE_SUS_GPIO(1) diff --git a/src/mainboard/google/cyan/variants/relm/include/variant/onboard.h b/src/mainboard/google/cyan/variants/relm/include/variant/onboard.h index 2854ee9eed..e809f536d8 100644 --- a/src/mainboard/google/cyan/variants/relm/include/variant/onboard.h +++ b/src/mainboard/google/cyan/variants/relm/include/variant/onboard.h @@ -30,8 +30,6 @@ * GPSE_SIZE = 86 */ -#define BOARD_TOUCH_IRQ 184 - /* KBD: Gpio index in N bank */ #define BOARD_I8042_GPIO_INDEX 17 /* Audio: Gpio index in SW bank */ @@ -40,6 +38,8 @@ #define BOARD_SCI_GPIO_INDEX 15 /* Trackpad: Gpio index in N bank */ #define BOARD_TRACKPAD_GPIO_INDEX 18 +/* Touch: Gpio index in N bank */ +#define BOARD_TOUCH_GPIO_INDEX 19 #define BOARD_TRACKPAD_NAME "trackpad" #define BOARD_TRACKPAD_WAKE_GPIO ACPI_ENABLE_WAKE_SUS_GPIO(1) diff --git a/src/mainboard/google/cyan/variants/setzer/include/variant/onboard.h b/src/mainboard/google/cyan/variants/setzer/include/variant/onboard.h index 948d9b90ca..3ebdc5afe5 100644 --- a/src/mainboard/google/cyan/variants/setzer/include/variant/onboard.h +++ b/src/mainboard/google/cyan/variants/setzer/include/variant/onboard.h @@ -30,8 +30,6 @@ * GPSE_SIZE = 86 */ -#define BOARD_TOUCH_IRQ 184 - /* KBD: Gpio index in N bank */ #define BOARD_I8042_GPIO_INDEX 17 /* Audio: Gpio index in SW bank */ @@ -40,6 +38,8 @@ #define BOARD_SCI_GPIO_INDEX 15 /* Trackpad: Gpio index in N bank */ #define BOARD_TRACKPAD_GPIO_INDEX 18 +/* Touch: Gpio index in N bank */ +#define BOARD_TOUCH_GPIO_INDEX 19 #define BOARD_TRACKPAD_NAME "trackpad" #define BOARD_TRACKPAD_WAKE_GPIO ACPI_ENABLE_WAKE_SUS_GPIO(1) diff --git a/src/mainboard/google/cyan/variants/ultima/include/variant/onboard.h b/src/mainboard/google/cyan/variants/ultima/include/variant/onboard.h index e5b503f4fc..027c55ec82 100644 --- a/src/mainboard/google/cyan/variants/ultima/include/variant/onboard.h +++ b/src/mainboard/google/cyan/variants/ultima/include/variant/onboard.h @@ -30,8 +30,6 @@ * GPSE_SIZE = 86 */ -#define BOARD_TOUCH_IRQ 184 - /* DPTF */ #define DPTF_CPU_PASSIVE 80 #define DPTF_CPU_CRITICAL 90 @@ -44,6 +42,8 @@ #define BOARD_SCI_GPIO_INDEX 15 /* Trackpad: Gpio index in N bank */ #define BOARD_TRACKPAD_GPIO_INDEX 18 +/* Touch: Gpio index in N bank */ +#define BOARD_TOUCH_GPIO_INDEX 19 #define BOARD_TRACKPAD_NAME "trackpad" #define BOARD_TRACKPAD_WAKE_GPIO ACPI_ENABLE_WAKE_SUS_GPIO(1) diff --git a/src/mainboard/google/cyan/variants/wizpig/include/variant/onboard.h b/src/mainboard/google/cyan/variants/wizpig/include/variant/onboard.h index 5a610e2711..5db44ecbbe 100644 --- a/src/mainboard/google/cyan/variants/wizpig/include/variant/onboard.h +++ b/src/mainboard/google/cyan/variants/wizpig/include/variant/onboard.h @@ -30,8 +30,6 @@ * GPSE_SIZE = 86 */ -#define BOARD_TOUCH_IRQ 184 - /* KBD: Gpio index in N bank */ #define BOARD_I8042_GPIO_INDEX 17 /* Audio: Gpio index in SW bank */ @@ -40,6 +38,8 @@ #define BOARD_SCI_GPIO_INDEX 15 /* Trackpad: Gpio index in N bank */ #define BOARD_TRACKPAD_GPIO_INDEX 18 +/* Touch: Gpio index in N bank */ +#define BOARD_TOUCH_GPIO_INDEX 19 #define BOARD_TRACKPAD_NAME "trackpad" #define BOARD_TRACKPAD_WAKE_GPIO ACPI_ENABLE_WAKE_SUS_GPIO(1) -- cgit v1.2.3