The eMMC enable pin is in a 3.3V IO domain. Unfortunately the eMMC expects this pin to be 1.8V. The way we were driving this pin would cause the eMMC to pull power through this pin and that was causing current leaks.
In future revisions of hardware we should move this pin somewhere more legit. However, in the current hardware we can get things working pretty well by using a pullup to "drive" this pin. This will work in conjunction with the external 100K pullup to give a somewhat reasonable voltage. The eMMC will also not be able to pull much current through this pin, so it can't leak too badly.
BRANCH=none BUG=chrome-os-partner:33319 TEST=Boot a kernel that doesn't touch the mux/pulls and see no leak: dut-control --port=${SERVO} vcc_flash_ma -t 5
Change-Id: Ibc25cd090d826c8215be24a0b5c11d97b5281700
f3d5736 veyron: Change eMMC enable pin to be pulled (not driven) high
src/mainboard/google/veyron_jerry/mainboard.c | 7 ++++++-
src/mainboard/google/veyron_pinky/mainboard.c | 7 ++++++-
2 files changed, 12 insertions(+), 2 deletions(-)
Upstream: review.coreboot.org