Part Number: AM625
Other Parts Discussed in Thread: CSD
Hi
We have made a new product serie with the AM6254 microprocessor. As flash memory we have chosen an eMMC from Macronix, attached to the MMC0 channel on the AM6254.
During read from the eMMC we are seeing some over- and under-shoot on the data signals, where the values are just on or above the limits (Figure 7-1 in the AM625 datasheet) for the MMC0 pins.
The attached oscilloscope picture shows eMMC.Data3 measured as close to the AM6254 as possible.

The over shoot voltage level is measured up to 2.25 V, and under shoot level down to -0.34 V. The over and under shoot time is measued to totally 2.6 ns out of 10 ns period time.
So levels are just on / above limits. (High level: 1.8 V + 20% = 2.16 V; Low level: -0.36 V, Time 20% of 10 ns = 2 ns)
How concerned should we be regarding the levels of the over- and under-shoot??
We have tried to lower the driver strength of the Macronix eMMC, but haven't succeded.
According to Macronix MX52LM08A11 datasheet the eMMC should support different driver strengths:
We are running HS-200 mode, so we would like to test the 0x2 (66 ohm) settings, instead of the default 0x0 (50 ohm).
As far as we read the JEDEC specification the driver strength should be set in the HS_TIMING [185] of the Extended CSD registers:
We have tried to change the settings of this register, but we haven’t succeeded.
We are using u-boot and in the device tree for the board in u-boot, we have changed the driver strength for the eMMC controller, just like U-Boot examples shows for the AM62xx processor.
We have used the mmc command in u-boot, but as far as I can see in u-boot 2026.01 version source code, there is no command to set the driver strength via the mmc command only read the status of it.
Do you have any example of how we can set the driver strength in the eMMC via u-boot?
Best regards
Niels Ole Jørgensen
DEIF A/S


