Re: [PATCH 2/2] ARM: dts: imx6: pfla02: Fix SD card reboot problem

From: Andrej Picej
Date: Wed Jul 05 2023 - 06:40:16 EST



On 5. 07. 23 10:40, Andrej Picej wrote:


On 5. 07. 23 10:30, Ahmad Fatoum wrote:
On 05.07.23 10:28, Andrej Picej wrote:
Hi Marco,

On 4. 07. 23 10:17, Marco Felsch wrote:
On 23-07-04, Andrej Picej wrote:
If regulator is not marked as always-on the regulator gets disabled on
reboot breaking the next boot.

Signed-off-by: Andrej Picej <andrej.picej@xxxxxxxxx>
---
   arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi | 1 +
   1 file changed, 1 insertion(+)

diff --git a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
index 80adb2a02cc9..25d6a036d5b8 100644
--- a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
@@ -192,6 +192,7 @@ vdd_3v3_pmic_io_reg: ldo6 {
               vdd_sd0_reg: ldo9 {
                   regulator-min-microvolt = <3300000>;
                   regulator-max-microvolt = <3300000>;
+                regulator-always-on;

I think this is the supply for the sd-card, so you can make use of
'vmmc-supply'.

This is already the case:

&usdhc3 {
     pinctrl-names = "default";
     pinctrl-0 = <&pinctrl_usdhc3
              &pinctrl_usdhc3_cdwp>;
     cd-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>;
     wp-gpios = <&gpio1 29 GPIO_ACTIVE_HIGH>;
     vmmc-supply = <&vdd_sd0_reg>;
     status = "disabled";
};

I think the main reason for a failed boot is that the PMIC doesn't get reset and that the bootloader doesn't specifically enable the SD card regulator.

Could this patch still be applied or should we put the fix in reset routine/bootloader?

Is SD-Card not main boot medium? From your description, I thought BootROM
will fail to boot before bootloader has a chance to do anything about it.


Yes sorry, you are absolutly right, the BootROM fails. It confused me because I could see the booloader booting, but it was from one of the fallback mediums. So I guess fixing the bootloader is not really an option.
Sorry for the confusion.


Ok, the main problem is well known, that's why PHYTEC disables the imx watchdog and uses a PMIC one for the reboot handler. This one resets the board completely. The SD card regulator problem is really just the manifestation of that bug. Unfortunately I didn't noticed that. :(

I will create a v2 with a proper fix, where imx watchdog gets disabled.

Thanks for your help,
Andrej




Best regards,
Andrej


Regards,
    Marco

               };
                 vdd_sd1_reg: ldo10 {
--
2.25.1