diff options
Diffstat (limited to 'src/soc/intel/elkhartlake/acpi/gpio.asl')
-rw-r--r-- | src/soc/intel/elkhartlake/acpi/gpio.asl | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/soc/intel/elkhartlake/acpi/gpio.asl b/src/soc/intel/elkhartlake/acpi/gpio.asl index 27cb503f45..fa3ef57ec7 100644 --- a/src/soc/intel/elkhartlake/acpi/gpio.asl +++ b/src/soc/intel/elkhartlake/acpi/gpio.asl @@ -18,6 +18,7 @@ Device (GPIO) Memory32Fixed (ReadWrite, 0, 0, COM0) Memory32Fixed (ReadWrite, 0, 0, COM1) Memory32Fixed (ReadWrite, 0, 0, COM2) + Memory32Fixed (ReadWrite, 0, 0, COM3) Memory32Fixed (ReadWrite, 0, 0, COM4) Memory32Fixed (ReadWrite, 0, 0, COM5) Interrupt (ResourceConsumer, Level, ActiveLow, Shared,,, GIRQ) @@ -44,6 +45,12 @@ Device (GPIO) BAS2 = ^^PCRB (PID_GPIOCOM2) LEN2 = GPIO_BASE_SIZE + /* GPIO Community 3 */ + CreateDWordField (^RBUF, ^COM3._BAS, BAS3) + CreateDWordField (^RBUF, ^COM3._LEN, LEN3) + BAS3 = ^^PCRB (PID_GPIOCOM3) + LEN3 = GPIO_BASE_SIZE + /* GPIO Community 4 */ CreateDWordField (^RBUF, ^COM4._BAS, BAS4) CreateDWordField (^RBUF, ^COM4._LEN, LEN4) @@ -88,13 +95,19 @@ Method (GADD, 1, NotSerialized) Local0 = PID_GPIOCOM2 Local1 = Arg0 - GPIO_COM2_START } + /* GPIO Community 3 */ + If (Arg0 >= GPIO_COM3_START && Arg0 <= GPIO_COM3_END) + { + Local0 = PID_GPIOCOM3 + Local1 = Arg0 - GPIO_COM3_START + } /* GPIO Community 4 */ If (Arg0 >= GPIO_COM4_START && Arg0 <= GPIO_COM4_END) { Local0 = PID_GPIOCOM4 Local1 = Arg0 - GPIO_COM4_START } - /* GPIO Community 05*/ + /* GPIO Community 5 */ If (Arg0 >= GPIO_COM5_START && Arg0 <= GPIO_COM5_END) { Local0 = PID_GPIOCOM5 @@ -123,6 +136,9 @@ Method (GPID, 1, Serialized) Case (COMM_2) { Local0 = PID_GPIOCOM2 } + Case (COMM_3) { + Local0 = PID_GPIOCOM3 + } Case (COMM_4) { Local0 = PID_GPIOCOM4 } |