aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/drivers/i2c/nau8825/chip.h1
-rw-r--r--src/drivers/i2c/nau8825/nau8825.c6
2 files changed, 6 insertions, 1 deletions
diff --git a/src/drivers/i2c/nau8825/chip.h b/src/drivers/i2c/nau8825/chip.h
index 9ba1d94581..5b160c8724 100644
--- a/src/drivers/i2c/nau8825/chip.h
+++ b/src/drivers/i2c/nau8825/chip.h
@@ -11,6 +11,7 @@
struct drivers_i2c_nau8825_config {
/* Interrupt configuration */
struct acpi_irq irq;
+ struct acpi_gpio irq_gpio;
/* I2C Bus Frequency in Hertz (default 400kHz) */
unsigned int bus_speed;
diff --git a/src/drivers/i2c/nau8825/nau8825.c b/src/drivers/i2c/nau8825/nau8825.c
index a0769d0422..01b1f35be6 100644
--- a/src/drivers/i2c/nau8825/nau8825.c
+++ b/src/drivers/i2c/nau8825/nau8825.c
@@ -47,7 +47,11 @@ static void nau8825_fill_ssdt(const struct device *dev)
acpigen_write_name("_CRS");
acpigen_write_resourcetemplate_header();
acpi_device_write_i2c(&i2c);
- acpi_device_write_interrupt(&config->irq);
+ /* Allow either GpioInt() or Interrupt() */
+ if (config->irq_gpio.pin_count)
+ acpi_device_write_gpio(&config->irq_gpio);
+ else
+ acpi_device_write_interrupt(&config->irq);
acpigen_write_resourcetemplate_footer();
/* Device Properties */