cancel
Showing results for 
Search instead for 
Did you mean: 

How can we boot from emmc on SDMMC1 interface?

stack_shailesh
Associate III

We have set SDMMC1 pin muxing like below. How can we boot from emmc on SDMMC1 interface??? Where should I do partitioning for emmc??

Kindly give solution-

 

D14 PC8  SDMMC1_D0
A16PC9 SDMMC1_D1
B14PC10 SDMMC1_D2
C14PC11 SDMMC1_D3
A13PB14 SDMMC1_D4
D9PB12 SDMMC1_D5
B11PC6 SDMMC1_D6
A11PC7 SDMMC1_D7
A15PD2SDMMC1_CMD
B15PC12SDMMC1_CK
1 ACCEPTED SOLUTION

Accepted Solutions
PatrickF
ST Employee

Hi @stack_shailesh 

As eMMC default is SDMMC2, you should tell the BootROM to use SDMMC1 and related pins (only CLK, CMD and D0 is needed for BootROM stage, then pinmux is defined by Device Tree). To do this, you should program the OTP.

https://wiki.st.com/stm32mpu/wiki/How_to_update_OTP_with_U-Boot

https://wiki.st.com/stm32mpu/wiki/STM32CubeProgrammer_OTP_management

 

Assuming you are using STM32MP15, this post might help you to understand values you should put according to your HW.

https://community.st.com/t5/stm32-mpus-products/how-to-change-emmc-interface/td-p/344994

See also AN5031 (for STM32MP15) or AN5474 (STM32MP13)

wiki give some information too:

https://wiki.st.com/stm32mpu/wiki/STM32_MPU_ROM_code_overview#Boot_from_e-E2-80-A2MMC-E2-84-A2

https://wiki.st.com/stm32mpu/wiki/STM32MP15_OTP_mapping#AFmux_configuration or https://wiki.st.com/stm32mpu/wiki/STM32MP13_OTP_mapping#AFmux_configuration

Regards.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

View solution in original post

3 REPLIES 3
TDK
Guru

Booting from eMMC doesn't make sense in this context. The MCU doesn't run an operating system that need to load various files, like a computer does.

 

Edit: I now see this was posted in the "STM32 MPUs" forum, yet with a tag of "STM32Cube MCU Packages," hence my answer. I suspect it's meant to be an MPU-specific question but who knows. No chip specified.

If you feel a post has answered your question, please click "Accept as Solution".
PatrickF
ST Employee

Hi @stack_shailesh 

As eMMC default is SDMMC2, you should tell the BootROM to use SDMMC1 and related pins (only CLK, CMD and D0 is needed for BootROM stage, then pinmux is defined by Device Tree). To do this, you should program the OTP.

https://wiki.st.com/stm32mpu/wiki/How_to_update_OTP_with_U-Boot

https://wiki.st.com/stm32mpu/wiki/STM32CubeProgrammer_OTP_management

 

Assuming you are using STM32MP15, this post might help you to understand values you should put according to your HW.

https://community.st.com/t5/stm32-mpus-products/how-to-change-emmc-interface/td-p/344994

See also AN5031 (for STM32MP15) or AN5474 (STM32MP13)

wiki give some information too:

https://wiki.st.com/stm32mpu/wiki/STM32_MPU_ROM_code_overview#Boot_from_e-E2-80-A2MMC-E2-84-A2

https://wiki.st.com/stm32mpu/wiki/STM32MP15_OTP_mapping#AFmux_configuration or https://wiki.st.com/stm32mpu/wiki/STM32MP13_OTP_mapping#AFmux_configuration

Regards.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

Thanks Patrick, after following steps and changing my AFmux config I am able to boot from emmc.