drivers/i2c/tpm: Add irq_gpio support to tpm.

Grunt (a amd-stoneyridge based platform) uses a GPIO to interface with
the tpm. This change allows devicetree entries to use a irq_gpio entry
to describe the interface with the TPM.

BUG=b:72655090

Change-Id: I08289891408d7176f68eb9c67f7a417a2448c2de
Signed-off-by: Justin TerAvest <teravest@chromium.org>
Reviewed-on: https://review.coreboot.org/23500
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
Justin TerAvest 2018-01-29 19:14:19 -07:00 committed by Aaron Durbin
parent 309d6ef4ab
commit ec91dd8feb
2 changed files with 6 additions and 1 deletions

View File

@ -55,7 +55,11 @@ static void i2c_tpm_fill_ssdt(struct device *dev)
acpigen_write_name("_CRS");
acpigen_write_resourcetemplate_header();
acpi_device_write_i2c(&i2c);
acpi_device_write_interrupt(&config->irq);
if (config->irq_gpio.pin_count)
acpi_device_write_gpio(&config->irq_gpio);
else
acpi_device_write_interrupt(&config->irq);
acpigen_write_resourcetemplate_footer();
acpigen_pop_len(); /* Device */

View File

@ -7,4 +7,5 @@ struct drivers_i2c_tpm_config {
unsigned int uid; /* ACPI _UID */
enum i2c_speed speed; /* Bus speed in Hz, default is I2C_SPEED_FAST */
struct acpi_irq irq; /* Interrupt */
struct acpi_gpio irq_gpio; /* GPIO interrupt */
};