From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1C7373C5DBA for ; Mon, 11 May 2026 08:54:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778489673; cv=none; b=ZmNGpwe+IFT/rnryKQXHgLOoIG+rVH7RC0kLZK9cllCjf5adPEjkKB70YUCIA1JNSmfHupr7s2/B641aZ8YkNVaoFFRfSzMy+ceMu6P2zgzZ/oYg+DwOJ9ELFnbSN6I39Ab2pMuFktnU+Prx3F4oLM0evSeJNiTCg0Nwwgcd6wQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778489673; c=relaxed/simple; bh=FZsgT/q6hf1B/ykkCHeWphCL5sPAC4d/euFpIhy8yzs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Ny3o1XiCcxpZ8aXb6jQjCj4h6gK47kFcaW4Ijpu415YFj+cO6wz5tZ9g4EJ19kGyS0vycyZsXgcPCXF5Z5hD7eTqgZs7rwyxT3XDWVJY4pKtKg/I0y18DZsbU95hE03422YRVjni84LiTbHJOqLfP7aDWGK4U5qiFfa62UiJwsY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=IFbLwjKJ; arc=none smtp.client-ip=209.85.221.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="IFbLwjKJ" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-441209fb77eso2377169f8f.1 for ; Mon, 11 May 2026 01:54:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778489670; x=1779094470; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=rGycZZ0oxVCkeN0xv1IJG1TkG4N0VwOrQ4cI2sdWgss=; b=IFbLwjKJB4PhJw9I/TruffBy/Zo6zVDcjJyM2LigSV/d1Zv5Y1pJugUFAYYXn9ADQT VXw4jw7N682Cfssoxtep9ZTaqevG3S4OxNy6oI/UkMO+1CdrhsoXDpptfWZlTdlwHOkk 702v/jPezez7rnDc07Hi6BLvOI26uRYU1Jw4ZKiays0zFzlMeS1MNMewbp9EWlexUkEw TQM4WT5phjpC7ifjT2DP2KQVhClaQhUyR0wTIHlLUTghBOjj2CFKaaeCuPJxB/DvTwlR l1+G/495FbB2FX/4YfyXtfFGv456XbO/3OwufuI8HWZNqj3M/4bXET0yYyMhozeokEF2 6O0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778489670; x=1779094470; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=rGycZZ0oxVCkeN0xv1IJG1TkG4N0VwOrQ4cI2sdWgss=; b=OvqD7trVV5pcTyYwmeNM1EMnbRmL1AZLN79z2m6af98JRX+Sb5XLqFX9413j4t0eQq YU1RKsKc+sh1WJqYtP7L4WWzBS9eLjSboTkSuwXMZ1eLwBTIYP3fr+QMmRc5tkeJHoE2 QFysnu9BAIoO/LTiO4wrhoTp5XJTVOU3axH0vB7jTplXQbgsKZlu81twMlrk8N3WxWaS GVIbDQhkG9gmhUH7B6wB+s2FtbCjxSWeqN8Aa2XXtCdrJsMo+YDlN6gbM4MatKQofVwQ j9fanhH2lhNifnAJ78SPGyY/ezQNfzTiaOg1PU8whEm4cSySq/7YBcc71/sgEOdkN80S fyCA== X-Forwarded-Encrypted: i=1; AFNElJ/4RDisGHldmXGDfCBxhLHt20BZfjXzJhb+/cb9FskGNPE+BhykGeET8CtINLS3St0tBb3WUNri730n3o4=@vger.kernel.org X-Gm-Message-State: AOJu0YzPXwHIHS7+IdNDmJYK4bV7RDMyW/jEQunaqHst8y11IciHsv8c rOwyA0Q4B5H0EwTJYuk3LaxM8f4mR2gJhZn+O/xcD/3br11fyS3B9Z/h X-Gm-Gg: Acq92OHa7LjmjErOoKwjROAlvR4PZE6qoIJTPWVpv6PMTNGMN5V2wUhnD+7vhNk71Y4 L8G/7ingWXjHLInYvuGBsPgBVRhVagjCx+Ao6q415jrzRPk3DVJD+tZjqkp4JLEP2VNAjybCLbP Tla+BFrCLAUhDaHbeS7dm0jcTmUe4IuOW/aUK8W73i6j1Mgs6tKS8I0JJaCNZG2ECB1gWM4/6iE Ne3uoCTLHLLpDU5E/Lp56rLNYBmU9iuH5/Z06PyZhbTNMGlsSd96wUvbGquU1r+C+VI7tx6pi0h riF1/OdglCy2NOJncDwm67FSuLnLaZDFEKiZeNFLAG6lbCdrvu0VsOBU1Yvd6QD1VwoitqB3phj VJPc0ichHtomjFGfOBBfOsZ2YIh/0LJgEuvamlZUIlRP09Vmi07/cNxTbkvZy+Tr+wWJUBFp+61 TAojNybHy4HqEcuvllcAWmi3/Go1FpZwSSD9w5d+9VJN/JaOZiE3ABClhlA0ly4I10WT6pSHG7p /KJ X-Received: by 2002:adf:fa45:0:b0:441:29cd:a18e with SMTP id ffacd0b85a97d-452ea07e223mr20899118f8f.23.1778489670340; Mon, 11 May 2026 01:54:30 -0700 (PDT) Received: from ipedrosa-thinkpadx1carbongen12.rmtes.csb ([67.218.237.202]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45491ca2fd6sm24944189f8f.30.2026.05.11.01.54.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 May 2026 01:54:29 -0700 (PDT) From: Iker Pedrosa Date: Mon, 11 May 2026 10:53:57 +0200 Subject: [PATCH v9 2/8] mmc: sdhci-of-k1: enable essential clock infrastructure for SD operation Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260511-orangepi-sd-card-uhs-v9-2-ae48c0b2b2cf@gmail.com> References: <20260511-orangepi-sd-card-uhs-v9-0-ae48c0b2b2cf@gmail.com> In-Reply-To: <20260511-orangepi-sd-card-uhs-v9-0-ae48c0b2b2cf@gmail.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Adrian Hunter , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Yixun Lan , Ulf Hansson , Ulf Hansson , Yixun Lan Cc: Troy Mitchell , Michael Opdenacker , Javier Martinez Canillas , linux-mmc@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org, Iker Pedrosa , Anand Moon , Trevor Gamblin , Vincent Legoll X-Mailer: b4 0.14.3 Ensure SD card pins receive clock signals by enabling pad clock generation and overriding automatic clock gating. Required for all SD operation modes. The SDHC_GEN_PAD_CLK_ON setting in LEGACY_CTRL_REG is safe for both SD and eMMC operation as both protocols use the same physical MMC interface pins and require proper clock signal generation at the hardware level for signal integrity and timing. Additional SD-specific clock overrides (SDHC_OVRRD_CLK_OEN and SDHC_FORCE_CLK_ON) are conditionally applied only for SD-only controllers to handle removable card scenarios. Tested-by: Anand Moon Acked-by: Adrian Hunter Tested-by: Trevor Gamblin Reviewed-by: Troy Mitchell Tested-by: Vincent Legoll Signed-off-by: Iker Pedrosa --- drivers/mmc/host/sdhci-of-k1.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/mmc/host/sdhci-of-k1.c b/drivers/mmc/host/sdhci-of-k1.c index 455656f9842d..0dd06fc19b85 100644 --- a/drivers/mmc/host/sdhci-of-k1.c +++ b/drivers/mmc/host/sdhci-of-k1.c @@ -21,6 +21,13 @@ #include "sdhci.h" #include "sdhci-pltfm.h" +#define SPACEMIT_SDHC_OP_EXT_REG 0x108 +#define SDHC_OVRRD_CLK_OEN BIT(11) +#define SDHC_FORCE_CLK_ON BIT(12) + +#define SPACEMIT_SDHC_LEGACY_CTRL_REG 0x10C +#define SDHC_GEN_PAD_CLK_ON BIT(6) + #define SPACEMIT_SDHC_MMC_CTRL_REG 0x114 #define SDHC_MISC_INT_EN BIT(1) #define SDHC_MISC_INT BIT(2) @@ -101,6 +108,12 @@ static void spacemit_sdhci_reset(struct sdhci_host *host, u8 mask) if (!(host->mmc->caps2 & MMC_CAP2_NO_MMC)) spacemit_sdhci_setbits(host, SDHC_MMC_CARD_MODE, SPACEMIT_SDHC_MMC_CTRL_REG); + + spacemit_sdhci_setbits(host, SDHC_GEN_PAD_CLK_ON, SPACEMIT_SDHC_LEGACY_CTRL_REG); + + if (host->mmc->caps2 & MMC_CAP2_NO_MMC) + spacemit_sdhci_setbits(host, SDHC_OVRRD_CLK_OEN | SDHC_FORCE_CLK_ON, + SPACEMIT_SDHC_OP_EXT_REG); } static void spacemit_sdhci_set_uhs_signaling(struct sdhci_host *host, unsigned int timing) -- 2.54.0