coreboot-kgpe-d16/src/soc/intel/skylake
Duncan Laurie b25a45ca46 skylake: Add SD card device to configure card detect GPIO
Add a PCI driver for the skylake SD card device and have it generate
an entry in the SSDT for the card detect GPIO if it is provided by the
mainboard in devicetree.

This sets up a card detect GPIO configuration that will trigger an
interrupt on both edges with a 100ms debounce timeout and can wake the
SD controller from D3 state.

The GpioInt() entry is bound to the "cd-gpio" device property which will
be consumed by the kernel driver.

The resulting ACPI output in the SSDT will be combined with the SDXC
device declaration in the DSDT.

Example:

Scope (\_SB.PCI0.SDXC)
{
  Name (_CRS, ResourceTemplate () {
    GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 10000,
             "\\_SB.PCI0.GPIO", 0, ResourceConsumer) { 35 }
  })
  Name (_DSD, Package () {
    ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
    Package () {
      Package () { "cd-gpio", Package () { \_SB.PCI0.SDXC, 0, 0, 1 } }
    }
  })
}

Change-Id: Ie4c1bfadd962cf55a987edb9ef86e92174205770
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://review.coreboot.org/14995
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2016-05-31 18:46:39 +02:00
..
acpi skylake: Add and fill out CID1 NVS field 2016-03-08 18:43:11 +01:00
bootblock soc/intel: Update license headers 2016-04-14 16:54:33 +02:00
include/soc skylake: Cleanup formatting in pci_devs.h 2016-05-31 18:45:40 +02:00
nhlt nhlt: add api to override oem_id and oem_table_id of acpi_header_t 2016-02-09 13:21:39 +01:00
romstage skylake: Increase IGD stolen size to 64MB 2016-02-29 20:16:10 +01:00
acpi.c skylake: Add and fill out CID1 NVS field 2016-03-08 18:43:11 +01:00
chip.c skylake: Add ACPI device name handler 2016-05-21 06:00:38 +02:00
chip.h skylake: Add SD card device to configure card detect GPIO 2016-05-31 18:46:39 +02:00
cpu.c soc/intel/skylake: convert to using common MP and SMM init 2016-05-06 16:47:02 +02:00
cpu_info.c
dsp.c skylake: Add Audio DSP device 2016-05-31 18:45:15 +02:00
elog.c intel/skylake: Do not log wake source on reset 2016-03-12 09:23:15 +01:00
finalize.c skylake: Finalize SMM in coreboot 2016-02-15 08:07:11 +01:00
flash_controller.c intel/skylake: Fix klockwork violation 2016-01-22 13:02:02 +01:00
fsp_reset.c intel/skylake: During RO mode after FSP reset CB lose original state 2016-01-17 22:52:02 +01:00
gpio.c skylake: Add handler for finding ACPI path for GPIO 2016-05-21 06:02:11 +02:00
i2c.c skylake: Add I2C devices 2016-05-31 18:43:55 +02:00
igd.c skylake: Enable DDI-A 4-lane support if GOP does not execute 2016-02-15 08:05:41 +01:00
Kconfig soc/intel: indicate to build system that XIP_ROM_SIZE isn't used 2016-05-06 16:50:00 +02:00
lpc.c soc/intel/skylake: add option to statically clock gate 8254 timer 2016-03-12 09:21:56 +01:00
Makefile.inc skylake: Add SD card device to configure card detect GPIO 2016-05-31 18:46:39 +02:00
me_status.c soc/intel/skylake: Output more ME status information 2016-05-09 08:28:37 +02:00
memmap.c drivers/intel/fsp1_1: Fix spelling error in API and copyright 2016-01-31 20:51:29 +01:00
monotonic_timer.c
pch.c
pcie.c
pcr.c intel/skylake: Init variable so GCC knows it's set 2016-01-15 22:41:11 +01:00
pei_data.c
pmc.c chromeos: Remove CONFIG_VBNV_SIZE variable 2016-02-09 13:19:48 +01:00
pmutil.c
ramstage.c
sd.c skylake: Add SD card device to configure card detect GPIO 2016-05-31 18:46:39 +02:00
smbus.c
smbus_common.c
smi.c
smihandler.c Correct some common spelling mistakes 2016-01-07 22:57:02 +01:00
smmrelocate.c {cpu,soc}/intel: remove unused smm_init() function 2016-05-06 16:48:21 +02:00
systemagent.c intel/skylake: Fix issues found by klockwork 2016-01-19 17:23:42 +01:00
tsc_freq.c
uart.c
uart_debug.c drivers/uart: Use uart_platform_refclk for all UART models 2016-05-09 18:45:44 +02:00
vr_config.c intel/skylake: provide default VR configuration 2016-01-18 12:12:12 +01:00
xhci.c