Skip to main content

Reducing eMMC-Related EMI on Verdin AM62

Introduction

This article describes a straightforward device tree adjustment for reducing eMMC-related EMI by lowering the eMMC clock frequency.

The Verdin AM62 module is designed and validated to meet applicable EMC requirements. However, electromagnetic emissions are ultimately a system-level characteristic that depends on many factors beyond the module itself, including carrier board layout, stack-up, enclosure design, cabling, grounding, connected peripherals, and the overall application environment.

In some system designs, the eMMC interface may contribute to emissions within specific frequency bands. When additional EMC margin is desired, reducing the eMMC clock frequency can be an effective mitigation technique with minimal implementation effort.

info

This adjustment may reduce eMMC throughput. For this reason, the default Toradex BSP configuration prioritizes storage performance rather than minimizing EMC contribution. The impact on your application will depend on its specific I/O workload. We recommend evaluating both EMC behavior and performance requirements in your use case before applying this change to production systems.

Reduce eMMC Clock on Verdin AM62

To reduce the eMMC clock frequency to 125 MHz, apply the following device tree overlay to the image:

// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Verdin AM62 MMC (eMMC) - adjust clock frequency to 125MHz
*
* Based on recommendations from:
* https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1434801/am62p-how-to-change-the-emmc-clock-from-200mhz-to-195mhz
*
*/

/dts-v1/;
/plugin/;

/ {
compatible = "toradex,verdin-am62";
};

&sdhci0 {
/delete-property/ bus-width;
clock-frequency = <125000000>;
max-frequency = <125000000>;
};
info

For Torizon OS, enable device tree overlays with TorizonCore Builder. For Linux BSP images, refer to the Device Tree Overlays documentation.

After applying the overlay, run the following command to check if the overlay was properly enabled:

# cat /sys/kernel/debug/mmc0/ios
clock: 125000000 Hz
Send Feedback!