google/reef: ACPI: Move touchpad to SSDT and remove TPM

Instantiate the touchpad using the drivers/i2c/generic device driver
to generate the ACPI object in the SSDT.

There is not currently a separate wake pin for this device, this will
be added in EVT hardware.

This was tested on the reef board by ensuring that the touchpad device
continues to work in the OS.

Also remove the LPC TPM from the DSDT as it is not present.

Change-Id: I3151a28f628e66f63033398d6fab9fd8f5dfc37b
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://review.coreboot.org/15481
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Duncan Laurie 2016-06-27 11:05:16 -07:00
parent ff8bce0a5f
commit d48d5a626b
3 changed files with 12 additions and 48 deletions

View File

@ -25,6 +25,9 @@ config CHROMEOS
select VBOOT_OPROM_MATTERS
select VIRTUAL_DEV_SWITCH
config DRIVERS_I2C_GENERIC
default y
config MAINBOARD_DIR
string
default google/reef

View File

@ -33,54 +33,8 @@ 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
*/
Scope (\_SB.PCI0.LPCB)
{
#include <drivers/pc80/tpm/acpi/tpm.asl>
/* Chrome OS Embedded Controller */
#include "ec.asl"
}

View File

@ -61,7 +61,14 @@ chip soc/intel/apollolake
device pci 16.1 on end # - I2C 1
device pci 16.2 on end # - I2C 2
device pci 16.3 on end # - I2C 3
device pci 17.0 on end # - I2C 4
device pci 17.0 on
chip drivers/i2c/generic
register "hid" = ""ELAN0000""
register "desc" = ""ELAN Touchpad""
register "irq" = "IRQ_EDGE_LOW(GPIO_18_IRQ)"
device i2c 15 on end
end
end # - I2C 4
device pci 17.1 on end # - I2C 5
device pci 17.2 on end # - I2C 6
device pci 17.3 on end # - I2C 7