From fe972a6835773db089783095f3d18028eea0ba4e Mon Sep 17 00:00:00 2001 From: "Zhuo-hao.Lee" Date: Wed, 27 Jul 2016 13:18:22 +0800 Subject: [PATCH] UPSTREAM: skylake: fix VSDIO is at 0.8V when SDCard is not inserted 1. Enable SoC SD_CMD/D* signals pull-down of 20k when SD-card is removed. When SD-card is disconnected, the pull-down is disabled. 2. Provide path for weak leakage from buffers of SD_CMD/D* signal to be grounded. Thus dropping voltage on the SD_CMD/D* signals to ~0V. BUG=chrome-os-partner:54421 BRANCH=None TEST=no power leakage when SDCard isn't inserted on skylake platform Change-Id: Iec4625f4cc98c1cb92f812dc74072ed3780aee79 Signed-off-by: Zhuo-hao.Lee Reviewed-on: https://review.coreboot.org/15910 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Duncan Laurie Reviewed-on: https://chromium-review.googlesource.com/365324 Commit-Ready: Furquan Shaikh Tested-by: Furquan Shaikh Reviewed-by: Aaron Durbin --- src/soc/intel/skylake/acpi/scs.asl | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/soc/intel/skylake/acpi/scs.asl b/src/soc/intel/skylake/acpi/scs.asl index 56f27a97ea..69bc82a143 100644 --- a/src/soc/intel/skylake/acpi/scs.asl +++ b/src/soc/intel/skylake/acpi/scs.asl @@ -88,6 +88,14 @@ Device (SDXC) Method (_PS0, 0, Serialized) { + /* Disable 20K pull-down on CLK, CMD and DAT lines */ + ^^PCRA (PID_GPIOCOM3, 0x4c4, 0xFFFFEFFF) + ^^PCRA (PID_GPIOCOM3, 0x4cc, 0xFFFFEFFF) + ^^PCRA (PID_GPIOCOM3, 0x4d4, 0xFFFFEFFF) + ^^PCRA (PID_GPIOCOM3, 0x4dc, 0xFFFFEFFF) + ^^PCRA (PID_GPIOCOM3, 0x4e4, 0xFFFFEFFF) + ^^PCRA (PID_GPIOCOM3, 0x4f4, 0xFFFFEFFF) + /* Disable Power Gate */ Store (0, ^PGEN) @@ -113,6 +121,14 @@ Device (SDXC) Store (3, Local0) Store (Local0, ^D0D3) Store (^D0D3, Local0) + + /* Enable 20K pull-down on CLK, CMD and DAT lines */ + ^^PCRO (PID_GPIOCOM3, 0x4c4, 0x00001000) + ^^PCRO (PID_GPIOCOM3, 0x4cc, 0x00001000) + ^^PCRO (PID_GPIOCOM3, 0x4d4, 0x00001000) + ^^PCRO (PID_GPIOCOM3, 0x4dc, 0x00001000) + ^^PCRO (PID_GPIOCOM3, 0x4e4, 0x00001000) + ^^PCRO (PID_GPIOCOM3, 0x4f4, 0x00001000) } Device (CARD)