This series adds a driver for the Cr50 security chip and enables it on coral. This supports the 'tpm' command.
In order to make this work a few other changes are included: - Additional UCLASS_IRQ operations to support requesting and reading interrupts, using the device tree - A driver for ACPI general-purpose events There are also a few small clean-ups to the recently landed Apollo Lake support. This series relies on this patch: http://patchwork.ozlabs.org/patch/1214541/ Changes in v2: - Significant rewrite of cr50 init procedure - Support use of interrupts - Update the commit message - Add new patches to handle requesting interrupts and interrupt state Simon Glass (13): x86: Add a clock driver for Intel devices x86: apl: Use the clock driver x86: apl: Drop the I2C config in FSP-S x86: coral: Update i2c and rtc status dm: irq: Add support for interrupt controller types x86: Give each driver an IRQ type x86: itss: Add of-platdata support dm: irq: Add support for requesting interrupts x86: Add support for ACPI general-purpose events x86: coral: Add I2C and TPM device-tree definitions tpm: Add more TPM2 definitions tpm: Add a driver for H1/Cr50 x86: coral: Enable TPM arch/sandbox/dts/test.dts | 5 +- arch/sandbox/include/asm/test.h | 4 + arch/x86/Kconfig | 33 + arch/x86/cpu/Makefile | 1 + arch/x86/cpu/acpi_gpe.c | 85 +++ arch/x86/cpu/apollolake/Kconfig | 4 + arch/x86/cpu/apollolake/fsp_s.c | 62 +- arch/x86/cpu/apollolake/itss.c | 12 +- arch/x86/cpu/i386/interrupt.c | 3 +- arch/x86/cpu/irq.c | 3 +- arch/x86/dts/chromebook_coral.dts | 93 +++ configs/chromebook_coral_defconfig | 3 +- doc/board/google/chromebook_coral.rst | 2 - .../interrupt-controller/intel,acpi-gpe.txt | 30 + .../interrupt-controller/interrupts.txt | 131 ++++ drivers/clk/Kconfig | 10 + drivers/clk/Makefile | 1 + drivers/clk/intel/Makefile | 6 + drivers/clk/intel/clk_intel.c | 41 ++ drivers/misc/irq-uclass.c | 140 +++- drivers/misc/irq_sandbox.c | 43 +- drivers/pinctrl/intel/pinctrl.c | 2 +- drivers/tpm/Kconfig | 10 + drivers/tpm/Makefile | 1 + drivers/tpm/cr50_i2c.c | 661 ++++++++++++++++++ include/dt-bindings/clock/intel-clock.h | 15 + include/irq.h | 138 ++++ include/tpm-v2.h | 31 + test/dm/irq.c | 45 ++ 29 files changed, 1545 insertions(+), 70 deletions(-) create mode 100644 arch/x86/cpu/acpi_gpe.c create mode 100644 doc/device-tree-bindings/interrupt-controller/intel,acpi-gpe.txt create mode 100644 doc/device-tree-bindings/interrupt-controller/interrupts.txt create mode 100644 drivers/clk/intel/Makefile create mode 100644 drivers/clk/intel/clk_intel.c create mode 100644 drivers/tpm/cr50_i2c.c create mode 100644 include/dt-bindings/clock/intel-clock.h -- 2.24.1.735.g03f4e72817-goog