2026-04-01 11:27 PM - edited 2026-04-01 11:29 PM
Dear all,
We have a design where the VCCQ of eMMC is currently 3.3V. We need to move to 1.8V to be able to use a new reference
Is there any risk to break somthing if I use the below DTS on board where eMMC is 3.3V VCCQ. We have pull up to VCCQ on D0 and CMD
vqmmc-supply = <&v1v8>;
mmc-ddr-1_8v;According to my tests, system is up and running, but I fear this should have an impact on MPU pads
If no risk, this could avoid me to add a DTS overlay according to my hardware board version in case of 3.3V VCCQ
I add my layout for eMMC for better understanding, see R353 and R356 to switch VCCQ
Thanks in advance for answers and hints
Regards
Laurent
Solved! Go to Solution.
2026-04-02 11:46 PM - edited 2026-04-02 11:49 PM
@LaurentC_FDI ,
I contacted the eMMC expert, and the feedback is the following one.
Concerning the regulator, if it always-on in your design, there is no risk to have issue on it.
Concerning the ddr-1_8, the most probable issue you could face is storage performance issue, but we do not see major risk of complete break.
As this configuration is still out of spec of your eMMC, we cannot engage ourselves on this answer, but this was just to share you the expert mind on it.
Kind regards,
Erwan.
[EDIT: by reading the code, you will end in the same mode DDR52, so even performances should be OK. As soon as regu is always-on, it should work]
2026-04-02 11:22 PM
Hello @LaurentC_FDI ,
This parameter is to adapt to your own eMMC. As the configuration is in the DTS and not DTSI, it means that it depends on your HW board design.
For example, we do not have the same eMMC on STM32MP257F-EV1 and STM32MP157F-EV1 board, one is using 1v8 and the other 3v3.
Just put the right value corresponding to your eMMC.
Kind regards,
Erwan.
2026-04-02 11:27 PM
Hi Erwan, thank you for the feedback. I understand I should adapt the value to my board. My question is : is it risky for MP157 to not adapt the value for 300 products already delivered, or do I have to handle this difference in an overlay based on the hardware revision of my board.
2026-04-02 11:30 PM
@LaurentC_FDI ,
Sorry I just have read again your question and realized I did not understand your ask at first read.
For me, there is a functional risk if you do not put the right value corresponding to your current eMMC in the DTS. The mmc core driver is using it to set some capabilities and parameters according the eMMC mode supported. I think the risk if you put the wrong value is some bad behavior with your eMMC, but I cannot be sure about that.
In theory, you should have one configuration per board and so I would recommend to have 2 dedicated DTS if you have 2 different HW board (even for a small change like that).
Kind regards,
Erwan.
2026-04-02 11:37 PM
Thank you Erwan. This feedback is precisely what I was exepecting.
Even if this will lead me to add this overlay management in my bootloader. I will not manage 2 dts, but add an overlay on products with HW rev1 runnning a 3.3V VCCQ, while the default value will be 1.8 for new products
Thanks again for your support
2026-04-02 11:46 PM - edited 2026-04-02 11:49 PM
@LaurentC_FDI ,
I contacted the eMMC expert, and the feedback is the following one.
Concerning the regulator, if it always-on in your design, there is no risk to have issue on it.
Concerning the ddr-1_8, the most probable issue you could face is storage performance issue, but we do not see major risk of complete break.
As this configuration is still out of spec of your eMMC, we cannot engage ourselves on this answer, but this was just to share you the expert mind on it.
Kind regards,
Erwan.
[EDIT: by reading the code, you will end in the same mode DDR52, so even performances should be OK. As soon as regu is always-on, it should work]
2026-04-02 11:57 PM
Thank you, this is a great news. Yes regulator is always on, we choose STMPMIC1B in our design to have 1.8V on buck 3
and this one is configured as below
v1v8: buck3 {
regulator-name = "v1v8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
st,mask-reset;
regulator-initial-mode = <0>;
regulator-over-current-protection;
};