Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Warm reboot failure due to UHS-I (SDR104) enabled with a fixed, always-on VMMC regulator.
--
--- Patch [2]: [PATCH v5 2/8] arm64: dts: agilex5: add SD/eMMC host controller ---
commit e282634760a9fadb886896083cbc7186c285bb38
Author: Tanmay Kathpalia <[email protected]>
arm64: dts: agilex5: add SD/eMMC host controller
This commit adds the SD/eMMC host controller node to the Agilex5 HPS
device tree. It configures the controller for SD card operation on the
SOCDK OOBE board, utilizing a fixed 3.3V supply and a switchable I/O
voltage regulator to support UHS-I SDR104 signaling.
> diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dts b/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dts
> index 57d3c5807c65c..93222b199038d 100644
> --- a/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dts
> +++ b/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dts
[ ... ]
> + vmmc_reg: regulator-fixed-3p3v {
> + compatible = "regulator-fixed";
> + regulator-always-on;
> + regulator-max-microvolt = <3300000>;
> + regulator-min-microvolt = <3300000>;
> + regulator-name = "vcc-sd";
> + };
> };
>
> -&gpio0 {
> +&emmc {
> + bus-width = <4>;
> + cap-sd-highspeed;
> + disable-wp;
> + max-frequency = <200000000>;
> + no-mmc;
> + sd-uhs-sdr104;
[Severity: High]
Will this combination of a fixed, always-on VMMC regulator and UHS-I SDR104
enabled cause warm reboot failures?
If the kernel negotiates UHS-I, it switches the SD card's signaling voltage
to 1.8V. During a warm reboot, the kernel shuts down the SD controller,
but because vmmc_reg is marked regulator-always-on, physical power to the
SD card is never cut.
When the CPU resets, the BootROM or SPL will attempt to boot from the SD
card using the default 3.3V signaling. Since the SD card never lost power,
it is still expecting 1.8V signaling, which typically causes the boot
process to hang.
Since SD cards lack a dedicated hardware reset pin, would it be better to
remove the sd-uhs-* properties unless the host can physically toggle the
VMMC power?
> + vmmc-supply = <&vmmc_reg>;
> + vqmmc-supply = <&vqmmc_io_reg>;
> +
> status = "okay";
> };
--
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=2
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.