Jetson nano error in sdhci lines

We have developed a product, in which currently we are observing some errors in dmesg, can you provide some information on what these logs mean or any resource on what and why they are occurring.

"[ 1.492739] sdhci-tegra sdhci-tegra.2: error -19 in autocal-pu-pd-offset settings
[ 1.493781] sdhci-tegra sdhci-tegra.2: Failed to set trim value for timing 9, -19
[ 1.493792] sdhci-tegra sdhci-tegra.2: Failed to set number of iterations for timing 9, -19
[ 1.493799] sdhci-tegra sdhci-tegra.2: tegra_sdhci_get_max_tuning_loop_counter: error -19 in tuning iteration update
"

and "[ 1.432944] sdhci-tegra sdhci-tegra.2: tegra_sdhci_pad_autocalib: error -19 in comp vref settings
[ 1.436960] mmcblk0boot1: mmc0:0001 DG4016 partition 2 4.00 MiB
[ 1.441808] sdhci-tegra sdhci-tegra.2: tegra_sdhci_pad_autocalib: error -19 in autocal-en settings
[ 1.443133] mmcblk0rpmb: mmc0:0001 DG4016 partition 3 4.00 MiB
[ 1.450759] sdhci-tegra sdhci-tegra.2: error -19 in autocal-pu-pd-offset settings
[ 1.458241] sdhci-tegra sdhci-tegra.2: Failed to set trim value for timing 9, -19
[ 1.465730] sdhci-tegra sdhci-tegra.2: Failed to set number of iterations for timing 9, -19
[ 1.474079] tegra_rtc 7000e000.rtc: setting system clock to 2000-01-01 02:00:30 UTC (946692030)
[ 1.474854] sdhci-tegra sdhci-tegra.2: tegra_sdhci_pad_autocalib: error -19 in comp vref settings
[ 1.475687] vi 54080000.vi: vi_probe: ++
[ 1.476877] mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17
[ 1.481011] vi 54080000.vi: initialized
[ 1.482945] usb 1-3: new full-speed USB device number 2 using tegra-xusb
[ 1.483040] vi 54080000.vi: subdev nvcsiā€“1 bound
[ 1.483308] mmcblk mmc0:0001: Card claimed for testing.
[ 1.483734] sdhci-tegra sdhci-tegra.2: tegra_sdhci_pad_autocalib: error -19 in autocal-en settings
"

Thank you.

please attach full dmesg.

yes sure here it is,
log.txt (60.8 KB)

What kind of things are in use on it? I donā€™t know you or your board. You should at least share this info firstā€¦

sorry, we are using nvideo jetson nano som( NVidia Jetson Nano 4GB Module) , with custom carrier board , with **Jetpack 4.6.2 ** with linux 4.9.253 tegra. We are using few sensors & emmc.

Are you talking about you add a emmc on sdmmc3?

yes.

What device tree change did you add to sdmmc3?

these are the changes we made in device tree :

`` sdhci@700b0400 { /* SDMMC3 for SD card */

            status = "okay";
            mmc-ddr-1_8v;
            mmc-ocr-mask = <3>;
            uhs-mask = <0x0>;
            tap-delay = <3>;
            nvidia,vmmc-always-on;
            only-1-8-v;
            no-sd;
            bus-width = <4>;
            nvidia,en-io-trim-volt;
            nvidia,is-emmc;
            nvidia,enable-cq;
            ignore-pm-notify;
            keep-power-in-suspend;
            non-removable;
            cap-mmc-highspeed;
            cap-sd-highspeed;
            mmc-ddr-1_8v;
            mmc-hs200-1_8v;
            /delete-property/ nvidia,en-periodic-calib;
    };``

please compare the sdmmc4 and sdmmc3 diff. That is the only thing I can suggest.

can you please just clarify whether any issue will come functionality-wise, from these logs related to calibration and trim, as we are able to read ,write and see no corruption in md5sum while moving files in our case.

Are you sure your device tree setting in sdmmc3 is same as sdmmc4? Especially the prod setting?
Your error looks like still doing device tree parsing and it failed.

We didnā€™t validate emmc on sdmmc3. Only sdcard is validated.

other change include in tegra210-porg-plugin-manager.dtsi for overlay , it was modified as
ā€˜ā€™ā€™
overlay {
vqmmc-supply = <&max77620_ldo6>;
no-sdio;
/* no-mmc;
sd-uhs-sdr104;
sd-uhs-sdr50;
sd-uhs-sdr25;
sd-uhs-sdr12;
};
*/ };
};
ā€˜ā€™ā€™
and in tegra210-porg-power-tree-p3448-0000-a00.dtsi
as
ā€˜ā€™ā€™ maxim,active-fps-power-up-slot = <0>;
maxim,active-fps-power-down-slot = <7>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-enable-ramp-delay = <36>;
regulator-disable-ramp-delay = <674>;
regulator-ramp-delay = <100000>;
ā€˜ā€™ā€™
set max regulator voltage to 1v8 also in overlay removed sd card-related stuff, for sdmm3 device tree took reference from eMMC and added required stuff only.

I believe there there is no failure in device tree parsing as only after this changes are we able to read,write and use emmc , else there would be lot of errors also in dmesg, nor will it show in df -h, thus i believe its coming after loading driver.

Now what I wanted to know is whether the log I am getting will cause in any issue in future, and what they mean as in what does autocal-pu-pd-offset settings, set trim value,tegra_sdhci_pad_autocalib do and whether they are critical.

The error you hit there is just because the sdmmc4 and sdmmc3 prod settings are different and you didnā€™t add it back. Trace the code and you will find it. Error no 19 indicates ā€œno such deviceā€. That error just appeared because it tries to find something in the device tree and it couldnā€™t find it.

The prod setting is related to the tuning. If it does not affect your functionality, then it is okay.

1 Like

Thank you @WayneWWW, with your suggestion we are able to completely resolve the issue in dmesg and successfully integrate eMMC to sdmmc3. One again thank you. I am curious as to what is prod setting , if you could tell me what prod settings is briefly , it would be very helpful.

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