summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@google.com>2020-06-03 19:41:23 -0700
committerFurquan Shaikh <furquan@google.com>2020-06-23 17:42:35 +0000
commitbaf1364f7966c8ac8b8035e9710c95d1663e985f (patch)
tree8ecb89265132a528c27bbe81aea5eb890401222d
parent5d33d03d3f85ec3298a29940417547548b1fd066 (diff)
downloadcoreboot-baf1364f7966c8ac8b8035e9710c95d1663e985f.tar.xz
mb/google/zork: Add support for fingerprint device
This change adds support for fingerprint device in overridetree for the following variants: 1. berknip 2. morphius 3. trembyle Generates the following node in SSDT1: Scope (\_SB.FUR1) { Device (CRFP) { Name (_HID, "PRP0001") // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (_DDN, "Fingerprint Reader") // _DDN: DOS Device Name Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { UartSerialBusV2 (0x002DC6C0, DataBitsEight, StopBitsOne, 0x00, LittleEndian, ParityTypeNone, FlowControlNone, 0x0040, 0x0040, "\\_SB.FUR1", 0x00, ResourceConsumer, , Exclusive, ) GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000, "\\_SB.GPIO", 0x00, ResourceConsumer, , ) { // Pin list 0x0006 } }) Name (_S0W, 0x04) // _S0W: S0 Device Wake State Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x0A, 0x03 }) Name (_DSD, Package (0x02) // _DSD: Device-Specific Data { ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, Package (0x01) { Package (0x02) { "compatible", "google,cros-ec-uart" } } }) } } BUG=b:147853944 Signed-off-by: Furquan Shaikh <furquan@google.com> Change-Id: I7ccb3633332ce3e388293872af7b22f1867c8465 Reviewed-on: https://review.coreboot.org/c/coreboot/+/42082 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Raul Rangel <rrangel@chromium.org>
-rw-r--r--src/mainboard/google/zork/Kconfig1
-rw-r--r--src/mainboard/google/zork/variants/berknip/overridetree.cb14
-rw-r--r--src/mainboard/google/zork/variants/morphius/overridetree.cb14
-rw-r--r--src/mainboard/google/zork/variants/trembyle/overridetree.cb13
4 files changed, 42 insertions, 0 deletions
diff --git a/src/mainboard/google/zork/Kconfig b/src/mainboard/google/zork/Kconfig
index f6061c5c7c..a226cd82ee 100644
--- a/src/mainboard/google/zork/Kconfig
+++ b/src/mainboard/google/zork/Kconfig
@@ -41,6 +41,7 @@ config BOARD_SPECIFIC_OPTIONS
select DRIVERS_GENERIC_MAX98357A
select HAVE_ACPI_RESUME
select DRIVERS_USB_ACPI
+ select DRIVERS_UART_ACPI
config ELOG_BOOT_COUNT_CMOS_OFFSET
int
diff --git a/src/mainboard/google/zork/variants/berknip/overridetree.cb b/src/mainboard/google/zork/variants/berknip/overridetree.cb
index fe83307954..18d615175a 100644
--- a/src/mainboard/google/zork/variants/berknip/overridetree.cb
+++ b/src/mainboard/google/zork/variants/berknip/overridetree.cb
@@ -88,4 +88,18 @@ chip soc/amd/picasso
device i2c 10 on end
end
end
+
+ device mmio 0xfedca000 on
+ chip drivers/uart/acpi
+ register "name" = ""CRFP""
+ register "desc" = ""Fingerprint Reader""
+ register "hid" = "ACPI_DT_NAMESPACE_HID"
+ register "compat_string" = ""google,cros-ec-uart""
+ register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW_WAKE(GPIO_6)"
+ register "wake" = "GEVENT_10"
+ register "uart" = "ACPI_UART_RAW_DEVICE(3000000, 64)"
+ device generic 0 on end
+ end
+ end
+
end # chip soc/amd/picasso
diff --git a/src/mainboard/google/zork/variants/morphius/overridetree.cb b/src/mainboard/google/zork/variants/morphius/overridetree.cb
index b4a801566e..12d032ae64 100644
--- a/src/mainboard/google/zork/variants/morphius/overridetree.cb
+++ b/src/mainboard/google/zork/variants/morphius/overridetree.cb
@@ -80,4 +80,18 @@ chip soc/amd/picasso
device i2c 5d on end
end
end
+
+ device mmio 0xfedca000 on
+ chip drivers/uart/acpi
+ register "name" = ""CRFP""
+ register "desc" = ""Fingerprint Reader""
+ register "hid" = "ACPI_DT_NAMESPACE_HID"
+ register "compat_string" = ""google,cros-ec-uart""
+ register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW_WAKE(GPIO_6)"
+ register "wake" = "GEVENT_10"
+ register "uart" = "ACPI_UART_RAW_DEVICE(3000000, 64)"
+ device generic 0 on end
+ end
+ end
+
end # chip soc/amd/picasso
diff --git a/src/mainboard/google/zork/variants/trembyle/overridetree.cb b/src/mainboard/google/zork/variants/trembyle/overridetree.cb
index 46fada9f5f..22aced2afb 100644
--- a/src/mainboard/google/zork/variants/trembyle/overridetree.cb
+++ b/src/mainboard/google/zork/variants/trembyle/overridetree.cb
@@ -159,4 +159,17 @@ chip soc/amd/picasso
end
end
+ device mmio 0xfedca000 on
+ chip drivers/uart/acpi
+ register "name" = ""CRFP""
+ register "desc" = ""Fingerprint Reader""
+ register "hid" = "ACPI_DT_NAMESPACE_HID"
+ register "compat_string" = ""google,cros-ec-uart""
+ register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW_WAKE(GPIO_6)"
+ register "wake" = "GEVENT_10"
+ register "uart" = "ACPI_UART_RAW_DEVICE(3000000, 64)"
+ device generic 0 on end
+ end
+ end
+
end # chip soc/amd/picasso