From 79f28249cdcf8588791eccc97b1e9a8141265c34 Mon Sep 17 00:00:00 2001 From: Felix Held Date: Tue, 15 Jun 2021 17:08:30 +0200 Subject: [PATCH] soc/amd/cezanne/chip: add functionality to power down eMMC interface Power down the eMMC controller via the AOAC interface when it's not enabled in the devicetree. BUG=b:184978118 TEST=On guybrush the unused eMMC controller is disabled in AOAC after applying this patch. Before this patch it was enabled. Signed-off-by: Felix Held Change-Id: I18f4626a29fdc422218777058341b0eae401bcd4 Reviewed-on: https://review.coreboot.org/c/coreboot/+/55537 Tested-by: build bot (Jenkins) Reviewed-by: Marshall Dawson --- src/soc/amd/cezanne/chip.c | 6 ++++++ src/soc/amd/cezanne/chipset.cb | 1 + 2 files changed, 7 insertions(+) diff --git a/src/soc/amd/cezanne/chip.c b/src/soc/amd/cezanne/chip.c index 625f46ce8e..f184cb543b 100644 --- a/src/soc/amd/cezanne/chip.c +++ b/src/soc/amd/cezanne/chip.c @@ -1,10 +1,12 @@ /* SPDX-License-Identifier: GPL-2.0-only */ +#include #include #include #include #include #include +#include #include #include #include @@ -57,6 +59,10 @@ static void set_mmio_dev_ops(struct device *dev) case APU_UART1_BASE: dev->ops = &cezanne_uart_mmio_ops; break; + case APU_EMMC_BASE: + if (!dev->enabled) + power_off_aoac_device(FCH_AOAC_DEV_EMMC); + break; } } diff --git a/src/soc/amd/cezanne/chipset.cb b/src/soc/amd/cezanne/chipset.cb index bf4480680b..2c685c3ad2 100644 --- a/src/soc/amd/cezanne/chipset.cb +++ b/src/soc/amd/cezanne/chipset.cb @@ -109,4 +109,5 @@ chip soc/amd/cezanne device mmio 0xfedc5000 alias i2c_3 off end device mmio 0xfedc9000 alias uart_0 off end device mmio 0xfedca000 alias uart_1 off end + device mmio 0xfedd5000 alias emmc off end end