From 6bc8fe8a9f711923253115d2a23b81370ef3e33a Mon Sep 17 00:00:00 2001 From: Emmanuel Vadot Date: Wed, 26 May 2021 13:13:33 +0200 Subject: [PATCH] arm: allwinner: Add mmc_pwrseq support If a pwrseq is found, set power accordingly. Sponsored by: Diablotin Systems --- sys/arm/allwinner/aw_mmc.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/arm/allwinner/aw_mmc.c b/sys/arm/allwinner/aw_mmc.c index 0b3f19aea55..9f215399e62 100644 --- a/sys/arm/allwinner/aw_mmc.c +++ b/sys/arm/allwinner/aw_mmc.c @@ -71,6 +71,8 @@ __FBSDID("$FreeBSD$"); #include "mmc_sim_if.h" #endif +#include "mmc_pwrseq_if.h" + #define AW_MMC_MEMRES 0 #define AW_MMC_IRQRES 1 #define AW_MMC_RESSZ 2 @@ -1323,6 +1325,9 @@ aw_mmc_update_ios(device_t bus, device_t child) regulator_disable(sc->mmc_helper.vqmmc_supply); } + if (sc->mmc_helper.mmc_pwrseq) + MMC_PWRSEQ_SET_POWER(sc->mmc_helper.mmc_pwrseq, false); + aw_mmc_reset(sc); break; case power_up: @@ -1339,6 +1344,9 @@ aw_mmc_update_ios(device_t bus, device_t child) if (rv == 0 && reg_status != REGULATOR_STATUS_ENABLED) regulator_enable(sc->mmc_helper.vqmmc_supply); } + + if (sc->mmc_helper.mmc_pwrseq) + MMC_PWRSEQ_SET_POWER(sc->mmc_helper.mmc_pwrseq, true); aw_mmc_init(sc); break; };