google/reef: Add ACPI code for trackpad
This patch enlists ELAN trackpad on I2C4 for reef board. BUG=None TEST=Build and boot to OS. Ensure ELAN trackpad is working with ELAN trackpad driver enabled in kernel. Change-Id: I788600f16dea9fac0e089cb82ccfc38a960157f9 Signed-off-by: Freddy Paul <freddy.paul@intel.com> Reviewed-on: https://review.coreboot.org/15213 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
parent
1706cb3ee3
commit
8200761912
|
@ -14,6 +14,7 @@
|
|||
*/
|
||||
|
||||
#include "acpi/superio.asl"
|
||||
#include "../gpio.h"
|
||||
|
||||
Scope (\_SB)
|
||||
{
|
||||
|
@ -32,6 +33,49 @@ 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
|
||||
*/
|
||||
|
|
|
@ -18,6 +18,10 @@
|
|||
|
||||
#include <soc/gpio.h>
|
||||
|
||||
/* Input device interrupt configuration */
|
||||
#define TOUCHPAD_INT GPIO_18_IRQ
|
||||
|
||||
#ifndef __ACPI__
|
||||
/*
|
||||
* Pad configuration in ramstage. The order largely follows the 'GPIO Muxing'
|
||||
* table found in EDS vol 1, but some pins aren't grouped functionally in
|
||||
|
@ -339,4 +343,5 @@ static const struct pad_config early_gpio_table[] = {
|
|||
PAD_CFG_GPI(GPIO_75, UP_20K, DEEP), /* I2S1_BCLK -- PCH_WP */
|
||||
};
|
||||
|
||||
#endif /* __ACPI__ */
|
||||
#endif /* MAINBOARD_GPIO_H */
|
||||
|
|
Loading…
Reference in New Issue