soc/intel/cannonlake: Add child CARD device into eMMC/SD controller

For the internal eMMC to be used by non-chrome for installation,
the CARD device and _RMV methods are required.  Without these,
other OSes does not show the eMMC as a valid installation target.

TEST= boot CNL-RVP with Tiano payload and install Windows 10
to the internal eMMC drive.

Change-Id: Icfdccd88bc113d97c2fabf4c63d8d772737a6057
Signed-off-by: Subrata Banik <subrata.banik@intel.com>
Reviewed-on: https://review.coreboot.org/23314
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Subrata Banik 2018-01-18 15:26:20 +05:30
parent a971254d67
commit 1014de6858
1 changed files with 20 additions and 0 deletions

View File

@ -17,6 +17,7 @@ Scope (\_SB.PCI0) {
/* EMMC */
Device(PEMC) {
Name(_ADR, 0x001A0000)
Name (_DDN, "eMMC Controller")
Name (TEMP, 0)
OperationRegion(SCSR, PCI_Config, 0x00, 0x100)
@ -45,12 +46,22 @@ Scope (\_SB.PCI0) {
Or (PMCR, 0x0003, PMCR)
Store (PMCR, ^TEMP)
}
Device (CARD)
{
Name (_ADR, 0x00000008)
Method (_RMV, 0, NotSerialized)
{
Return (0)
}
}
}
/* SD CARD */
Device (SDXC)
{
Name (_ADR, 0x00140005)
Name (_DDN, "SD Controller")
Name (TEMP, 0)
OperationRegion (SDPC, PCI_Config, 0x00, 0x100)
@ -80,5 +91,14 @@ Scope (\_SB.PCI0) {
Or (PMCR, 0x0003, PMCR)
Store (PMCR, ^TEMP)
}
Device (CARD)
{
Name (_ADR, 0x00000008)
Method (_RMV, 0, NotSerialized)
{
Return (1)
}
}
} /* Device (SDXC) */
}