SDIO tuning failure in Xavier NX

Hi.

We are using a custom carrier board that runs on Xavier NX. The carrier board has a QCA9377 based wifi chipset interfaced through SDIO.

As per our observations, we see the following events to happen during SDIO controller initialization
register_list (610 Bytes)
:

  1. MMC driver starts initialisation.
  2. Driver then starts tuning the SDIO controller.
  3. At the end of tuning process, to indicate that tuning was successful SAMPLING_CLK_SEL bit of SDMMC_AUTO_CMD12_ERR_STATUS_0 register must be set. In our case, we find it to be 0 indicating a failure.

The attched file register_list contains the list of registers and their values that are written to during this process. Please do review the list and advise us to make the tuning successful.

I have attached the device tree entry for SDIO controller below:

sdhci_wifi: sdhci@3440000{
compatible = “nvidia,tegra194-sdhci”;
dma-coherent;
max-clk-limit = <50000000>;
bus-width = <0x4>;
cap-mmc-highspeed;
cap-sd-highspeed;
sd-uhs-sdr104;
sd-uhs-sdr50;
sd-uhs-sdr25;
sd-uhs-sdr12;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
only-1-8-v;
non-removable;
nvidia,disable-rtpm;
nvidia,vqmmc-always-on;
status = “okay”;
/delete-property/ cd-inverted ;
};

Thanks.

please check if this helps.

@WayneWWW

We tried the changes suggested from the link. The tuning status is still a failure. Please advise on any other possible causes.

Thank you.