Freddy Paul (freddy.paul@intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/15213
-gerrit
commit 8478be5627adc2b8a74b127f7b82b4c35d1b72af Author: Freddy Paul freddy.paul@intel.com Date: Wed Jun 15 22:50:13 2016 -0700
google/reef: Enable trackpad for reef board.
This patch should enlist ELAN trackpad on I2C4 for reef board.
BUG=None TEST=Build and boot to OS. Ensure ELAN trackpad is working with right driver.
Change-Id: I788600f16dea9fac0e089cb82ccfc38a960157f9 Signed-off-by: Freddy Paul freddy.paul@intel.com --- src/mainboard/google/reef/acpi/mainboard.asl | 45 ++++++++++++++++++++++++++++ src/mainboard/google/reef/on_board.h | 23 ++++++++++++++ 2 files changed, 68 insertions(+)
diff --git a/src/mainboard/google/reef/acpi/mainboard.asl b/src/mainboard/google/reef/acpi/mainboard.asl index 06b2efc..c58290e 100644 --- a/src/mainboard/google/reef/acpi/mainboard.asl +++ b/src/mainboard/google/reef/acpi/mainboard.asl @@ -14,6 +14,7 @@ */
#include "acpi/superio.asl" +#include <on_board.h>
Scope (_SB) { @@ -32,6 +33,50 @@ Scope (_SB) } }
+Scope (_SB.PCI0.I2C4) +{ + /* Standard Mode: HCNT, LCNT, SDA Hold Register */ + /* SDA Hold register value of 40 indicates + * sda hold time of 0.3us for ic_clk of 133MHz + */ + Name (SSCN, Package () { 0, 0, 40 }) + + /* Fast Mode: HCNT, LCNT, SDA Hold Register */ + /* SDA Hold register value of 40 indicates + * sda hold time of 0.3us for ic_clk of 133MHz + */ + Name (FMCN, Package () { 0, 0, 40 }) + + Device (ETPA) + { + Name (_HID, "ELAN0000") + Name (_DDN, "Elan Touchpad") + Name (_UID, 1) + Name (ISTP, 1) /* Touchpad */ + + Name (_CRS, ResourceTemplate() + { + I2cSerialBus ( + 0x15, // SlaveAddress + ControllerInitiated, // SlaveMode + 400000, // ConnectionSpeed + AddressingMode7Bit, // AddressingMode + "\_SB.PCI0.I2C4", // ResourceSource + ) + Interrupt (ResourceConsumer, Edge, ActiveLow) + { + TOUCHPAD_INT + } + }) + + Method (_STA) + { + Return (0xF) + } + + } +} + /* * LPC Trusted Platform Module */ diff --git a/src/mainboard/google/reef/on_board.h b/src/mainboard/google/reef/on_board.h new file mode 100644 index 0000000..5b420ce --- /dev/null +++ b/src/mainboard/google/reef/on_board.h @@ -0,0 +1,23 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2016 Google Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the + * GNU General Public License for more details. + */ + +#ifndef _ON_BOARD_H_ +#define _ON_BOARD_H_ + +#include <soc/gpio_defs.h> + +#define TOUCHPAD_INT GPIO_18_IRQ + +#endif /* _ON_BOARD_H_ */