cancel
Showing results for 
Search instead for 
Did you mean: 

stm32MP135f emmc detection fail

LeonidPr
Associate

Hi,

i have a STM32MP135F-DK board and use that to develop firmware for my custom board.

But i need to boot from eMMC to use uSD as storage in my project.

So i desoldered the WiFi module from the STM32MP135F-DK board and connected my eMMC module to WiFi module's pins using wires. Both VCC and VCCQ of eMMC module are connected to VDD net of the STM32MP135F-DK.

I changed the Linux DTS <kernel sources>/arch/arm/boot/dts/st/stm32mp135f-dk.dts as suggested in Wiki:

&sdmmc2 {
pinctrl-names = "default", "opendrain", "sleep";
pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_clk_pins_a>;
pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_clk_pins_a>;
pinctrl-2 = <&sdmmc2_b4_sleep_pins_a>;
non-removable;
no-sdio;
st,neg-edge;
bus-width = <4>;
vmmc-supply = <&v3v3_ao>;
mmc-pwrseq = <&wifi_pwrseq>;
mmc-ddr-3_3v;
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
};

After that Linux detected my eMMC module and i can successfully use that.
But when i applied similar changes to the u-boot DTS <uboot sources>/arch/arm/dts/stm32mp135f-dk.dts

&sdmmc2 {
pinctrl-names = "default", "opendrain", "sleep";
pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_clk_pins_a>;
pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_clk_pins_a>;
pinctrl-2 = <&sdmmc2_b4_sleep_pins_a>;
non-removable;
no-sdio;
no-sd;
st,neg-edge;
bus-width = <4>;
vmmc-supply = <&v3v3_ao>;
vqmmc-supply = <&v3v3_ao>;
#address-cells = <1>;
#size-cells = <0>;
mmc-ddr-3_3v;
status = "okay";
};

u-boot can't detect eMMC module. It detects only SD card.
STM32MP> mmc list
STM32 SD/MMC: 0 (SD)
I tried to increase u-boot loglevel to 7 and issued the mmc rescan command. I don't see any errors in its output but eMMC is still not detected in u-boot.

Could you please suggest what can be wrong in my configuration?

0 REPLIES 0