From: Jerome Brunet <jbrunet@baylibre.com>
To: Valerio Setti via B4 Relay <devnull+vsetti.baylibre.com@kernel.org>
Cc: Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Kevin Hilman <khilman@baylibre.com>,
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
vsetti@baylibre.com, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] arm64: dts: amlogic: gxbb-odroidc2: remove UHS capability for SD card
Date: Sun, 07 Sep 2025 20:23:16 +0200 [thread overview]
Message-ID: <1jecsi3ywb.fsf@starbuckisacylon.baylibre.com> (raw)
In-Reply-To: <20250907-fix-reboot-v1-1-7606fc91254e@baylibre.com> (Valerio Setti via's message of "Sun, 07 Sep 2025 14:29:21 +0200")
On Sun 07 Sep 2025 at 14:29, Valerio Setti via B4 Relay <devnull+vsetti.baylibre.com@kernel.org> wrote:
> From: Valerio Setti <vsetti@baylibre.com>
>
> This is meant to resolve reboot not working on this board.
>
> The problem is as follows. In order to be able to switch from HS to UHS
> mode the bus voltage needs to be reduced from 3.3V down to 1.8V and this
> is achieved by the "vqmmc-supply" regulator. The ROM bootloader is only
> able to manage the card in HS mode (3.3V) and the switch HS->UHS happen
> at boottime in the kernel. The problem appears when the reboot command
> is issued or watchdog expires because in this case the "vqmmc-supply"
> voltage is not returned back at 3.3V before rebooting the board so the
> ROM bootloader will be completely stuck.
>
> Therefore this commit removes both "vqmmc-supply" property, which is the
> one causing the reboot problem, as well as all the UHS modes which would
> now became unreachable due to this regulator control removal.
>
> In terms of performance the main drawback of this commit is limiting the
> SD card bus speed to HS (25 MB/s) instead of UHS DDR50 (50 MB/s). However
> this comes with the benefit of being able to reboot the board, so it
> sounds like a reasonable compromise.
>
> Signed-off-by: Valerio Setti <vsetti@baylibre.com>
> ---
> arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
> index 959bd8d77a82ebc78c5e0592d7613e692e4ede4e..331a0a62b884389b4e0d4d157fff7f9c8738c89d 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
> +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
> @@ -348,17 +348,16 @@ &sd_emmc_b {
>
> bus-width = <4>;
> cap-sd-highspeed;
> - sd-uhs-sdr12;
> - sd-uhs-sdr25;
> - sd-uhs-sdr50;
> - sd-uhs-ddr50;
That's a compromise we had to make on other boards using similar SoCs.
With the ROM code not reseting the GPIO used for the supply, It don't
think there is way around that.
The above should be enough.
> max-frequency = <100000000>;
> disable-wp;
>
> cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
>
> vmmc-supply = <&tflash_vdd>;
> - vqmmc-supply = <&tf_io>;
... but do not remove that.
That way the description is complete and the kernel is able to verify
the regulator is properly configured.
It is also easier for a bootloader to alter DT to add the UHS modes back
(it is safe to do so if booting from another device that SD, such as
eMMC)
With that
Reviewed-by: Jerome Brunet <jbrunet@baylibre.com>
> + /*
> + * Control of vqmmc-supply is intentionally omitted because it would
> + * prevent the board from rebooting properly.
> + */
> };
>
> /* eMMC */
>
> ---
> base-commit: 8f5ae30d69d7543eee0d70083daf4de8fe15d585
> change-id: 20250907-fix-reboot-04e0fc919ae0
>
> Best regards,
--
Jerome
next prev parent reply other threads:[~2025-09-07 18:23 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-07 12:29 Valerio Setti via B4 Relay
2025-09-07 18:23 ` Jerome Brunet [this message]
2025-09-08 20:15 ` Valerio Setti
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1jecsi3ywb.fsf@starbuckisacylon.baylibre.com \
--to=jbrunet@baylibre.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=devnull+vsetti.baylibre.com@kernel.org \
--cc=khilman@baylibre.com \
--cc=krzk+dt@kernel.org \
--cc=linux-amlogic@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=martin.blumenstingl@googlemail.com \
--cc=neil.armstrong@linaro.org \
--cc=robh@kernel.org \
--cc=vsetti@baylibre.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®