Issues with SD card

Dear Nvidia support,

We keep having issues with the SD card on the TX2-4GB: we see kernel crashes every now and then that we tracked down to SD card communication issues.

We are already aware of hardware layout issues on our board:

  • We have an inaccurate impedance matching of 56 Ohm on the SD card pins, which is still within the ±15% tolerance.
  • We use a too aggressive low pass filter on the clock line for EMC reason.
    Changing the board layout is a last resort. For testing purposes we did BOM changes on the low pass filter which improved the situation.

To improve the reliability, we are exploring SW changes:

  1. Lower the SD card clock speed by switching from SDR104 to either SDR50 or SDR25.
  2. Change the driver type of the SD card pins.

We were successful in the first point by using the uhs-mask device tree option. Switching to SDR50 showed some improvement at the cost of reduced performance.
So far we were not able to change the driver type for the SD card pins. According the device tree documentation (sources/kernel/kernel-4.9/Documentation/devicetree/bindings/mmc/sdhci-tegra.txt) this should be done using the default-drv-type setting. But this seems to be ignored by the kernel.

Questions:

  • How can we change the driver type of the SD card pins?
  • Can you advise something else we could experiment with in SW to improve the situation?

Best regards,
Christof

Hi,

May I know your exact device tree setting and hardware design ?

There is no method to change the driver type from software.

Hi,

attached is the device tree file we changed. We are currently on l4t-r32.7.4.
tegra186-quill-common.txt (32.8 KB)

The hardware design is as recommended in the “Product Design Guide NVIDIA Jetson TX2 Series”
document except that we have an additional low pass filter on the clock line: series resistor of 33Ohm (instead of the recommended 0Ohm) and additional capacitor of 12pF.

What do you mean by “There is no method to change the driver type from software”?
Does this mean the hardware doesn’t support the change or that the Linux driver doesn’t support it?

Best regards,
Christof

Hi, that means no way from sw side. Custom layout design is expected to well follow the routing requirements as listed in the Design Guide. For your case, maybe you can try changing the value of 33ohm and the addtional caps first.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.