From nobody Mon Sep 28 08:07:07 2026 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (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 6676838A701 for ; Mon, 24 Aug 2026 20:39:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787603976; cv=none; b=c0RoEHL/tWOnWGIVSy/C7LtMpPFTZDVLvREu2Q7iLMq7sE4Rfb96sbyRA6AQzqzxsCRwp8UUgJbVMsR9L/herM0haHxWdomn/IGRPlTGnYKQ/rFG53/mRbqA3wH828Xzc1M/ZMge4nLTKtkTuv6zv0MFiVBr3CBaaHPjnmctI/Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787603976; c=relaxed/simple; bh=2cHyoTVL38zNjoAWUYdF0/iIR9zdRPhNwSF9aqQM8UQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=sPf07yctLB6P199PMlvS9+S3AqnosB+84LX0YGpn6fuq6Kx1onnYK/Q8/HCJbhcuoa9c0HwFYmTKjDt7Wxcnm8bgTzBAbiDdbjURF2OokUJ7FO0O5lOkykjVF8zPTPMV0fLm0htnZuUJKKrMWBf8+gePuua5YiB+u2C5cSd72A0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=starlabs.systems; spf=pass smtp.mailfrom=starlabs.systems; dkim=pass (2048-bit key) header.d=starlabs-systems.20251104.gappssmtp.com header.i=@starlabs-systems.20251104.gappssmtp.com header.b=gs/Jgp6P; arc=none smtp.client-ip=209.85.128.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=starlabs.systems Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=starlabs.systems Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=starlabs-systems.20251104.gappssmtp.com header.i=@starlabs-systems.20251104.gappssmtp.com header.b="gs/Jgp6P" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-4953e04ef16so36485665e9.2 for ; Mon, 24 Aug 2026 13:39:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=starlabs-systems.20251104.gappssmtp.com; s=20251104; t=1787603971; x=1788208771; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=eftbG+RbbUU0Nqfoz3kLIkQNJ4noM/Iq8sqwWhnuWt8=; b=gs/Jgp6PhOg39zVqOgk5Ph1dtVHN1ngpMVHy/O4Z4kjKjTKqgU0A+0hxvFDDE5VqYB WzPYNeXPjnmRTrwkntFfYqP4LL7/NOoxh/p/X6n+N2pqC8+Jl3jsdIWSqg4GelGot/S4 Z+pwE7It6wRwj2GrHSS+q2+cVVzyqXwGEeAt52ya+8XDn1okkYycg7//fR4hKhlmuVrd SZNF2WWlp9Aye3l0aH2mOqWWtsAeLa3epV4V/6628frZqgxXKAxPkl3iJW71Alp5cMB3 4UVIJds+eBraEUqcDvLdceldQct1Ph4oae6wIrEwPGeu4M/TbLc3yfEvmBKm1tlXGRqJ EhPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787603971; x=1788208771; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=eftbG+RbbUU0Nqfoz3kLIkQNJ4noM/Iq8sqwWhnuWt8=; b=gOi25nRg58Npv6cwarX5tT0PPOrIgtY9RnORaVbQkD94PiFqLqcqbZVPz1dZCvfkYw rc/O68j1hK0yZKbqiYtIrY6GYV4euqgD9/l0F4wNfu7yTOp3nGCzR9Ly3Etj2cYa3stH 9p7x0hFS1V/0abQcQMuJh/3Wc07d3TKew5lewHNZ+/NyLlTK2lZ8eGqdChESVOqyRlev b7q1XyaePTv4x+1uflfiQkql4Pz6ewSXc9O7DO82DzkAvlU9MIC19Vv5fupNkOE61C1Y hWPMRr/ca7LVf2GoE/wIlldDN8CQJPBoWJHUEfRNygHWNpQIvjp7WlApTd4Fhvw5s/Bz u/2A== X-Forwarded-Encrypted: i=1; AHgh+Rq0jB+iZrj2jJ7h7zGZc84X6l5qB+xQZoXDXQM6v3ZtoaK+JBR4ddDi42T0RUZUeWmehFbph8+0Pz8LswE=@vger.kernel.org X-Gm-Message-State: AFuF++kYyqcUwZEq3JqsdUCRWIetGzDPIVWAVZeoTARK5+Pam8b3qKbU apbiQDLRGcBHpxC83Gn/dyq5zFSDsfImQnfoV7GsFvLbHtVXEpEUaoY9LsVkOw646A== X-Gm-Gg: AR+sD11EmO5PK8TGrRntwWQU2pGayHTi/5WSzxka0lipHLtc3a3rCI5fVcRwU4zrdCx V9o2D/ur0vzzNyvnzLk+Sq4XjFCvjPQaHiSh6tR+wJcX3Ngcb+LRvVWKQFOkLq0ZYzV7A9hcJg8 4132nAEDUpRCR+Wakps5RtyEBQLSLslQDHd7bcrXjG3QmcCuMqCF68SaNfNuTQG5KmLVqUH2w1u qeRQA4qtO43wOh36r1KclaHuReKwy1Z6jrKDhupvlnFM8XnBvS0f1RBLR30Q/bt59nbKq6TME/W BjWdrfX7YsxI3yIVG4zS/Tp2i2jy3r9k8HeTLPDLc63kIMcjIMx0wpZo8+55kW03XtRcFzTR0uc kfLtGSbsShy8awwekudG5BAIeDqx3Di7qT5CynsCTng/TJNfiQ7/Uzgk0WMH+fPmzHg4pK7BHt8 T67qnMidZlQOF3gmxnJtHsXQFnGfhR3X/S9ZhZWOGivd155RqpjIL6en4a2bX58EyUhqrwO7M1y Ws7RSw4498ahw== X-Received: by 2002:a05:600c:8506:b0:499:48bb:417e with SMTP id 5b1f17b1804b1-499d64f9113mr23805205e9.2.1787603971244; Mon, 24 Aug 2026 13:39:31 -0700 (PDT) Received: from horizon ([217.155.46.38]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499d5d64ffdsm5914435e9.2.2026.08.24.13.39.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Aug 2026 13:39:30 -0700 (PDT) From: Sean Rhodes To: Ulf Hansson Cc: Sean Rhodes , Greg Kroah-Hartman , linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] mmc: rtsx_usb_sdmmc: start card power-up at 3.3V Date: Mon, 24 Aug 2026 21:39:29 +0100 Message-ID: <50fc5e8a29e3a5e9a64c64c5f775d758dce39b71.1787603965.git.sean@starlabs.systems> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" A UHS session can leave the SD pads and SD18 regulator configured for 1.8V. The power-off path disables card power and suspends the regulator, but does not restore their voltage selection. On the next power-up, this stale state remains until after the MMC core requests its initial signal voltage. Restore the SD pads and SD18 regulator to 3.3V before enabling card power, as the old rts5139 driver did. Tested: StarLite ADL with an RTS5129 tray reader; repeated 1.8V UHS sessions, power cycles, and tray removal/reinsertion. Tested: StarFighter MTL with an RTS5129 trayless reader; repeated 1.8V UHS sessions, power cycles, and card removal/reinsertion. Tested: Both systems re-enumerated the card after every cycle. Signed-off-by: Sean Rhodes --- drivers/mmc/host/rtsx_usb_sdmmc.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/mmc/host/rtsx_usb_sdmmc.c b/drivers/mmc/host/rtsx_usb_= sdmmc.c index bf37fab233cf..d9b33aa79165 100644 --- a/drivers/mmc/host/rtsx_usb_sdmmc.c +++ b/drivers/mmc/host/rtsx_usb_sdmmc.c @@ -980,6 +980,11 @@ static int sd_power_on(struct rtsx_usb_sdmmc *host) } dev_dbg(sdmmc_dev(host), "%s\n", __func__); rtsx_usb_init_cmd(ucr); + /* Start SD init at 3.3V, like the old rts5139 driver. */ + rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, SD_PAD_CTL, + SD_IO_USING_1V8, SD_IO_USING_3V3); + rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, LDO_POWER_CFG, + TUNE_SD18_MASK, TUNE_SD18_3V3); rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_SELECT, 0x07, SD_MOD_SEL); rtsx_usb_add_cmd(ucr, WRITE_REG_CMD, CARD_SHARE_MODE, CARD_SHARE_MASK, CARD_SHARE_SD);