This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM62P: sdhci-am654 fa00000.mmc: Power on failed

Part Number: AM62P

Tool/software:

Dear Engineer Ti
We are using AM62P as SOC for our custom board and it supports booting from SD card or EMMC. When we use EMMC boot, there should be no need to insert the SD card, but when no SD card is inserted, the following error is printed in the kernel's boot log:

sdhci-am654 fa00000.mmc: Power on failed

By checking sdhci_am654.c in the kernel source code, I found out the possible cause: it goes to initialize the SD card every boot, even if no SD card is inserted.

I would like to ask for advice on how I should do to make the system check if there is an SD card inserted first every time it boots, and if not, skip the process of initializing the SD card.

Regards

  • Hello,

    sdhci-am654 fa00000.mmc: Power on failed

    This should not be causing any boot failures so it can be ignored.

    Regards,

    Prashant

  • HI,Prashant,

    yes,it really doesn't make any boot failures. But I want to minimize the boot time by skipping unnecessary operations in the kernel as much as possible。 so as I said above, how should I do it, or how can I add some judgement conditions so that the system can skip the initialization of the SD card when booting via EMMC and without inserting the SD card?

    Regard

    GV Xu

  • Hello,

    You would have to disable the SD card node in the DTS to skip the SD card initialization altogether otherwise the Kernel would spend time waiting for the SD card to be detected.

    diff --git a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
    index 4f8557d3e8b1..55b7782624df 100644
    --- a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
    +++ b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
    @@ -592,7 +592,7 @@ &sdhci0 {
     
     &sdhci1 {
     	/* SD/MMC */
    -	status = "okay";
    +	status = "disabled";
     	vmmc-supply = <&vdd_mmc1>;
     	vqmmc-supply = <&vddshv_sdio>;
     	pinctrl-names = "default";
    

    Regards,

    Prashant

  • Hi Prashant,

    Thanks for your response and suggestions!

    Regards