diff --git a/src/drivers/i2c/generic/chip.h b/src/drivers/i2c/generic/chip.h index 69ce29dae4..546fcef9b4 100644 --- a/src/drivers/i2c/generic/chip.h +++ b/src/drivers/i2c/generic/chip.h @@ -110,6 +110,12 @@ struct drivers_i2c_generic_config { /* Generic properties for exporting device-specific data to the OS */ struct acpi_dp property_list[MAX_GENERIC_PROPERTY_LIST]; int property_count; + + /* Write a _STA method that uses the state of the GPIOs to determine if + * the PowerResource is ON or OFF. If this is false, the _STA method + * will always return ON. + */ + bool use_gpio_for_status; }; /* diff --git a/src/drivers/i2c/generic/generic.c b/src/drivers/i2c/generic/generic.c index 260ea83b10..250a21b248 100644 --- a/src/drivers/i2c/generic/generic.c +++ b/src/drivers/i2c/generic/generic.c @@ -141,7 +141,8 @@ void i2c_generic_fill_ssdt(const struct device *dev, config->enable_off_delay_ms, &config->stop_gpio, config->stop_delay_ms, - config->stop_off_delay_ms + config->stop_off_delay_ms, + config->use_gpio_for_status }; acpi_device_add_power_res(&power_res_params); }