How to enable Xavier NX SDIO to identify emmc

Greetings,

I have a 16G-EMMC NX with Jetpack4.5 working on our carrier board,which connect to NX SDMMC3_HV (3.3V Capable), and I can’t find the mmc info when system power up.
Do I need modify kernel & dts code to enable sdmmc3?

the dts log is as follows

 sdhci@3440000 {
         cd-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(Y, 4) 0>;
 //      nvidia,cd-wakeup-capable;
         vmmc-supply = <&p3668_vdd_sdmmc1_sw>;
         vqmmc-supply = <&p3668_spmic_sd3>;
         uhs-mask = <0x0>;
         tap-delay = <3>;
 //      no-sdio;
 //      no-mmc;
 //      /delete-property/ nvidia,min-tap-delay;
 //      /delete-property/ nvidia,max-tap-delay;
 //      /delete-property/ mmc-hs200-1_8v;
         mmc-hs400-1_8v;
         mmc-hs400-1_8v;
         mmc-hs400-enhanced-strobe;
         /delete-property/ cd-gpios;
         /delete-property/ cd-inverted;
         /delete-property/ pinctrl-0;
         /delete-property/ pinctrl-1;
         /delete-property/ pinctrl-names;
         non-removable;
		sd-uhs-sdr104;
         sd-uhs-sdr50;
         sd-uhs-sdr25;
         sd-uhs-sdr12;

         mmc-ddr-1_8v;
         mmc-ocr-mask = <3>;
         uhs-mask = <0x0>;
         max-clk-limit = <400000>;
         tap-delay = <3>;

 //      vmmc-supply = <&p3668_vdd_sdmmc1_sw>;
         status = "okay";
 };

If your module is emmc NX mdoule, then you can refer to sdhci@3460000.

i have port sdhci@3460000.dts to sdhci@3430000.but still get error,the kernel log is as follows

[    0.784324] vdd-sdmmc1-sw: 3300 mV
[    0.901935] vddio-sdmmc1-3v3: at 3300 mV
[    2.012668] mmc1: SDHCI controller on 3440000.sdhci [3440000.sdhci] using ADMA 64-bit with 64 bit addr
[    2.021140] mmc1:chien,ocr=16744576,cap2=0x66128020
[    2.021146] mmc1:chien,ocr=16744576,rocr=2097152
[    4.044669] mmc1:mmc_init_card:chien,err=-110
[    4.044676] mmc1:chien,err=-110
[    4.044681] mmc1: error -110 whilst initialising MMC card
[    4.103191] mmc1:chien,ocr=16744576,cap2=0x66128020
[    4.103200] mmc1:chien,ocr=16744576,rocr=2097152
[    6.156728] mmc1:mmc_init_card:chien,err=-110
[    6.156735] mmc1:chien,err=-110
[    6.156739] mmc1: error -110 whilst initialising MMC card
[    6.213232] mmc1:chien,ocr=16744576,cap2=0x66128020
[    6.213240] mmc1:chien,ocr=16744576,rocr=2097152
[    8.312681] mmc1:mmc_init_card:chien,err=-110
[    8.312690] mmc1:chien,err=-110
[    8.312696] mmc1: error -110 whilst initialising MMC card
[    8.378304] mmc1:chien,ocr=16744576,cap2=0x66128020
[    8.378315] mmc1:chien,ocr=16744576,rocr=2097152
[   10.488777] mmc1:mmc_init_card:chien,err=-110
[   10.488784] mmc1:chien,err=-110
[   10.488789] mmc1: error -110 whilst initialising MMC card

int mmc_attach_mmc(struct mmc_host *host)
{
	.....
	 if (mmc_host_is_spi(host)) {
			 err = mmc_spi_read_ocr(host, 1, &ocr);
			 if (err)
					 goto err;
	 }
	 printk("%s:chien,ocr=%d,cap2=0x%x\n",mmc_hostname(host),ocr,host->caps2);
	 rocr = mmc_select_voltage(host, ocr);
	 printk("%s:chien,ocr=%d,rocr=%d\n",mmc_hostname(host),ocr,rocr);
	 /*
	  * Can we support the voltage of the card?
	  */
	 if (!rocr) {
			 err = -EINVAL;
			 goto err;
	 }

	 /*
	  * Detect and init the card.
	  */
	 err = mmc_init_card(host, rocr, NULL);
	 printk("%s:chien,err=%d\n",mmc_hostname(host),err);
	 if (err)
			 goto err;

	 mmc_release_host(host);
	 err = mmc_add_card(host->card);
	......
}
static int mmc_init_card(struct mmc_host *host, u32 ocr,struct mmc_card *oldcard)
{
	struct mmc_card *card;
	int err;
	u32 cid[4];
	u32 rocr;

	BUG_ON(!host);
	WARN_ON(!host->claimed);

	/* Set correct bus mode for MMC before attempting init */
	if (!mmc_host_is_spi(host))
		mmc_set_bus_mode(host, MMC_BUSMODE_OPENDRAIN);

	/*
	 * Since we're changing the OCR value, we seem to
	 * need to tell some cards to go back to the idle
	 * state.  We wait 1ms to give cards time to
	 * respond.
	 * mmc_go_idle is needed for eMMC that are asleep
	 */
	mmc_go_idle(host);

	/* The extra bit indicates that we support high capacity */
	err = mmc_send_op_cond(host, ocr | (1 << 30), &rocr);
	printk("%s:%s:chien,err=%d\n",mmc_hostname(host),__func__,err);
	if (err)
		goto err;

	...........
}

i have port sdhci@3460000.dts to sdhci@3430000.but still get error,the kernel log is as follows

[    0.784324] vdd-sdmmc1-sw: 3300 mV
[    0.901935] vddio-sdmmc1-3v3: at 3300 mV
[    2.012668] mmc1: SDHCI controller on 3440000.sdhci [3440000.sdhci] using ADMA 64-bit with 64 bit addr
[    2.021140] mmc1:chien,ocr=16744576,cap2=0x66128020
[    2.021146] mmc1:chien,ocr=16744576,rocr=2097152
[    4.044669] mmc1:mmc_init_card:chien,err=-110
[    4.044676] mmc1:chien,err=-110
[    4.044681] mmc1: error -110 whilst initialising MMC card
[    4.103191] mmc1:chien,ocr=16744576,cap2=0x66128020
[    4.103200] mmc1:chien,ocr=16744576,rocr=2097152
[    6.156728] mmc1:mmc_init_card:chien,err=-110
[    6.156735] mmc1:chien,err=-110
[    6.156739] mmc1: error -110 whilst initialising MMC card
[    6.213232] mmc1:chien,ocr=16744576,cap2=0x66128020
[    6.213240] mmc1:chien,ocr=16744576,rocr=2097152
[    8.312681] mmc1:mmc_init_card:chien,err=-110
[    8.312690] mmc1:chien,err=-110
[    8.312696] mmc1: error -110 whilst initialising MMC card
[    8.378304] mmc1:chien,ocr=16744576,cap2=0x66128020
[    8.378315] mmc1:chien,ocr=16744576,rocr=2097152
[   10.488777] mmc1:mmc_init_card:chien,err=-110
[   10.488784] mmc1:chien,err=-110
[   10.488789] mmc1: error -110 whilst initialising MMC card

int mmc_attach_mmc(struct mmc_host *host)
{
	.....
	 if (mmc_host_is_spi(host)) {
			 err = mmc_spi_read_ocr(host, 1, &ocr);
			 if (err)
					 goto err;
	 }
	 printk("%s:chien,ocr=%d,cap2=0x%x\n",mmc_hostname(host),ocr,host->caps2);
	 rocr = mmc_select_voltage(host, ocr);
	 printk("%s:chien,ocr=%d,rocr=%d\n",mmc_hostname(host),ocr,rocr);
	 /*
	  * Can we support the voltage of the card?
	  */
	 if (!rocr) {
			 err = -EINVAL;
			 goto err;
	 }

	 /*
	  * Detect and init the card.
	  */
	 err = mmc_init_card(host, rocr, NULL);
	 printk("%s:chien,err=%d\n",mmc_hostname(host),err);
	 if (err)
			 goto err;

	 mmc_release_host(host);
	 err = mmc_add_card(host->card);
	......
}
static int mmc_init_card(struct mmc_host *host, u32 ocr,struct mmc_card *oldcard)
{
	struct mmc_card *card;
	int err;
	u32 cid[4];
	u32 rocr;

	BUG_ON(!host);
	WARN_ON(!host->claimed);

	/* Set correct bus mode for MMC before attempting init */
	if (!mmc_host_is_spi(host))
		mmc_set_bus_mode(host, MMC_BUSMODE_OPENDRAIN);

	/*
	 * Since we're changing the OCR value, we seem to
	 * need to tell some cards to go back to the idle
	 * state.  We wait 1ms to give cards time to
	 * respond.
	 * mmc_go_idle is needed for eMMC that are asleep
	 */
	mmc_go_idle(host);

	/* The extra bit indicates that we support high capacity */
	err = mmc_send_op_cond(host, ocr | (1 << 30), &rocr);
	printk("%s:%s:chien,err=%d\n",mmc_hostname(host),__func__,err);
	if (err)
		goto err;

	...........
}