Can't detect SD card

Hi all,

Our industrial board is consisted of a Nano production module and a customized carrier board, everything seem Okay except that can’t detect sdcard. Two sdcards are tested with “sudo fdisk -l” command as you can see blow while both of them work normally in the Nano devkit.

root@localhost:/usr/local/bin# fdisk -l | grep mmcblk
Disk /dev/mmcblk0: 14.7 GiB, 15758000128 bytes, 30777344 sectors
/dev/mmcblk0p1        34 29360161 29360128   14G Microsoft basic data
/dev/mmcblk0p2  29360162 29362209     2048    1M Microsoft basic data
/dev/mmcblk0p3  29362210 29374497    12288    6M Microsoft basic data
/dev/mmcblk0p4  29374498 29374657      160   80K Microsoft basic data
/dev/mmcblk0p5  29374658 29505697   131040   64M Microsoft basic data
/dev/mmcblk0p6  29505698 29507745     2048    1M Microsoft basic data
/dev/mmcblk0p7  29507746 29520033    12288    6M Microsoft basic data
/dev/mmcblk0p8  29520034 29520193      160   80K Microsoft basic data
/dev/mmcblk0p9  29520194 29651233   131040   64M Microsoft basic data
/dev/mmcblk0p10 29651234 29651617      384  192K Microsoft basic data
/dev/mmcblk0p11 29651618 29652129      512  256K Microsoft basic data
/dev/mmcblk0p12 29652130 29781153   129024   63M Microsoft basic data
/dev/mmcblk0p13 29781154 29782177     1024  512K Microsoft basic data
/dev/mmcblk0p14 29782178 29782689      512  256K Microsoft basic data
/dev/mmcblk0p15 29782690 29783201      512  256K Microsoft basic data
/dev/mmcblk0p16 29783202 30397601   614400  300M Microsoft basic data
/dev/mmcblk0p17 30397602 30401697     4096    2M Microsoft basic data
Disk /dev/mmcblk0boot1: 4 MiB, 4194304 bytes, 8192 sectors
Disk /dev/mmcblk0boot0: 4 MiB, 4194304 bytes, 8192 sectors

The voltage of sdcard should be 3.3v,and we tried to change it in the Jetson Nano Pinmux 1.01. What we did is changing the value of BB82 from 1.8v to 3.3v in the EXCEL document. But the generated dtsi files result no difference.
FYI, our board sdcard relative pins are as blow.

SDMMC3 (3.3V Capable)			SDMMC3 (3.3V Capable)
SDMMC_CLK	229		SDMMC3_CLK
SDMMC_CMD	227		SDMMC3_CMD
SDMMC_DAT0	219		SDMMC3_DAT0
SDMMC_DAT1	221		SDMMC3_DAT1
SDMMC_DAT2	223		SDMMC3_DAT2
SDMMC_DAT3	225		SDMMC3_DAT3

We guess it is wrong voltage that results sdcard can’t be detected. So,
Could you tell me how verify the voltage of our sdcard and how to change its voltage?

If its not the voltage problem, then please tell me what we should do to make our board detect sdcard.

Thanks

Hi,

If you are talking about adding an extra sdcard slot on the production module based device, then please refer to

https://devtalk.nvidia.com/default/topic/1067459/jetson-nano/sd-card-not-detected/1

1 Like

Hi WayneWWW,

The topic have nothing with change the voltage of sdcard from 1.8v to 3.3v. Thanks

Hi,
I don’t know how is your status of development.

From software aspect, if you don’t change anything in device tree and directly use the package from jetpack, then it would have no sd controller enabled.

That is why you need to refer to that thread.

Hi WayneWWW,

Our customized carrier board pin connection is almost the same as #1 without GPIO08 serving as a detect pin.

I follow the patch in link https://devtalk.nvidia.com/default/topic/1062120/jetson-nano/microsd-card-not-detected-on-jetson-nano-production-module/post/5380051/#5380051.
But it seem a little differnt, we use l4t 32.3.1. So I tested two steps.

  1. just change tegra210-porg-p3448-common.dtsi
sdhci@700b0400 {
        status = "okay";
        /delete-property/ keep-power-in-suspend;
        /delete-property/ non-removable;
        mmc-ddr-1_8v;
        mmc-ocr-mask = <3>;
        uhs-mask = <0x0>;
        max-clk-limit = <400000>;
        cd-gpios = <&gpio TEGRA_GPIO(Z, 2) 0>;
        tap-delay = <3>;
    };
  1. continue change tegra210-porg-power-tree-p3448-0000-a00.dtsi
sdhci@700b0400 {
    //  vqmmc-supply = <&max77620_sd3>; /* SDMMC3 for 2nd Wifi on loki */
        vqmmc-supply = <&max77620_ldo6>;
        status = "okay";
    //  vmmc-supply = <&p3448_vdd_3v3_sys>; /* SDMMC3 no stuff for full size SD on foster */
    };

Just do step-1) and do both step-1 and step-2 get the same result.

[   17.919921] mmc1: CMD CRC or end bit error, int mask 0xc0001
[   17.926580] mmc1: CMD CRC or end bit error, int mask 0xc0001
[   17.933192] mmc1: CMD CRC or end bit error, int mask 0xc0000

The full log please refer the attachment.

How we should do to make our sdcard work based on L4T32.3.1?

Thanks

[Com COM9] (2020-02-05_094727)_emmc.txt (77.6 KB)

without GPIO08 serving as a detect pin.

Then which pin is used as cd_gpio on your board?

Hi WayneWWW,

Actully no pin is designed for detect pin.

please refer to kernel-4.9/Documentation/devicetree/bindings/mmc/mmc.txt for the property.

You should revmoe cd-gpios and put other properties here.

So HW can be designed without SDcard detect pin?

Hi, did you follow the SD Card Connection Example in OEM DG? There is a load switch for VDD that is controlled by SDMMC_VDD_EN, you can choose a GPIO for it. No need to change default pinmux setting, only need to set pin GPIO08 to SFIO (SDMMC3_CD). For more detail info of SD card design, you can refer to schematic of P2597 (for TX1) in DLC. (http://developer.nvidia.com/embedded/dlc/jetson-tx1-tx2-developer-kit-carrier-board-c02-design-files)

Hi Trumany,

Thanks a lot.

Our carrirer board sets GPIO08 as “WL_REG_ON, Low asserting reset for WiFi core”. We will never use any sdcard detect pin any more.

Hi WayneWWW,

Our board use SDMM3, the SD card schematic is as below,

And the relative sd card dtsi is as below, but it seem not work.

sdmmc3 = "/sdhci@700b0400";
	
	    sdhci@700b0400 {
        status = "okay";
        /delete-property/ keep-power-in-suspend;
        /delete-property/ non-removable;
        mmc-ddr-1_8v;
        mmc-ocr-mask = <3>;
        uhs-mask = <0x0>;
        max-clk-limit = <400000>;
        tap-delay = <3>;
    };

Could Nvidia provide us a right dts patch targeting the above SD card schematic?

Thanks

Hi There

You can try this one which works for me on SDMMC3 r32.3.1. But you need to make sure you have your pins set to special function on sdmmc3. If you are going to do that then you need to set pinmux via DT that is then flashed into “RP1” using the standard “flash” script. It is a good idea to do that rather than try and mess around with jetson-io as it will not do what you want for the pinmux.

“sudo ./flash.sh -k RP1 wideye mmcblk0p1” (DT for nvboot which is the important one for any pinmux and Gpio settings)
“sudo ./flash.sh -k DTB wideye mmcblk0p1” (and then you may as well go ahead and flash the same DTB file for the kernel)

Good luck!

sdhci@700b0400 { /* SDMMC3 for SD card */
		vqmmc-supply = <&max77620_ldo6>;
		default-drv-type = <1>;
		cd-gpios = <&gpio TEGRA_GPIO(Z, 2) 0>;
		sd-uhs-sdr104;
		sd-uhs-sdr50;
		sd-uhs-sdr25;
		sd-uhs-sdr12;
		nvidia,cd-wakeup-capable;
		nvidia,update-pinctrl-settings;
		nvidia,pmc-wakeup = <&tegra_pmc PMC_WAKE_TYPE_GPIO 35 PMC_TRIGGER_TYPE_NONE>;
		uhs-mask = <0x0>;
		no-sdio;
		no-mmc;
		disable-wp;
		mmc-ocr-mask = <3>;
		tap-delay = <3>;
		//max-clk-limit = <400000>;	// Do not want this! This is for SDIO only which is limited to 400kHz.
		max-clk-limit = <204000000>;
		//nvidia,disable-rtpm;
		status = "okay";
	};

Hi peterxr95h,
Thanks

But here we have no pin for cd-gpios, that is our board has no sd card detect pin.

Then you just need to delete the line cd-gpios and replace with non-removable like below. You are currently deleting that property with /delete-property so your dt will cause driver probe to fail.

sdhci@700b0400 { /* SDMMC3 for SD card */
		vqmmc-supply = <&max77620_ldo6>;
		default-drv-type = <1>;
		non-removable;
		sd-uhs-sdr104;
		sd-uhs-sdr50;
		sd-uhs-sdr25;
		sd-uhs-sdr12;
		nvidia,cd-wakeup-capable;
		nvidia,update-pinctrl-settings;
		nvidia,pmc-wakeup = <&tegra_pmc PMC_WAKE_TYPE_GPIO 35 PMC_TRIGGER_TYPE_NONE>;
		uhs-mask = <0x0>;
		no-sdio;
		no-mmc;
		disable-wp;
		mmc-ocr-mask = <3>;
		tap-delay = <3>;
		//max-clk-limit = <400000>;	// Do not want this! This is for SDIO only which is limited to 400kHz.
		max-clk-limit = <204000000>;
		//nvidia,disable-rtpm;
		status = "okay";
	};

Hi peterxr95h,

Thanks

After using the dts above, then we just do
step 1: sudo ./flash.sh -r -k RP1 jetson-nano-emmc mmcblk0p1,
and step 2: sudo ./flash.sh -r -k DTB jetson-nano-emmc mmcblk0p1,
the sdhci@700b0400 in sysfs is as below,

sercomm@localhost:/sys/firmware/devicetree/base/sdhci@700b0400$ ls
aux-device-name    mmc-ddr-1_8v              pinctrl-names
bus-width          mmc-ocr-mask              pll_source
calib-1v8-offsets  name                      prod-settings
calib-3v3-offsets  no-mmc                    pwrdet-support
cap-mmc-highspeed  no-sdio                   reg
cap-sd-highspeed   nvidia,en-io-trim-volt    reset-names
cd-gpios           nvidia,en-periodic-calib  resets
cd-inverted        nvidia,max-tap-delay      sd-uhs-sdr104
clock-names        nvidia,min-tap-delay      sd-uhs-sdr12
clocks             nvidia,runtime-pm-type    sd-uhs-sdr25
compad-vref-1v8    phandle                   sd-uhs-sdr50
compad-vref-3v3    pinctrl-0                 status
compatible         pinctrl-1                 tap-delay
ddr-clk-limit      pinctrl-2                 trim-delay
ignore-pm-notify   pinctrl-3                 uhs-mask
interrupts         pinctrl-4                 vqmmc-supply
iommus             pinctrl-5                 wp-inverted
linux,phandle      pinctrl-6
max-clk-limit      pinctrl-7

But our board still can’t detect sd_card.
dmesg:

sercomm@localhost:~$ dmesg | grep mmc
[    0.000000] Kernel command line: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 console=ttyS0,115200n8 debug_uartport=lsport,2 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=0x1000@0xff780000 core_edp_mv=1075 core_edp_ma=4000 tegra_fbmem=0x140000@0x92cb0000 is_hdmi_initialised=1  root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1    root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1
[    0.584947] vddio-sdmmc-ap: 1800 <--> 3300 mV at 3300 mV
[    0.592254] vddio-sdmmc3-ap: 1800 <--> 3300 mV at 2800 mV
[    0.620867] tegra210_dvfs: no clock found for sdmmc2_ddr
[    0.620910] tegra210_dvfs: no clock found for sdmmc4_ddr
[    0.620970] tegra210_dvfs: no clock found for sdmmc1_ddr
[    0.620998] tegra210_dvfs: no clock found for sdmmc3_ddr
[    4.086835] mmc0: SDHCI controller on sdhci-tegra.3 [sdhci-tegra.3] using ADMA 64-bit with 64 bit addr
[    4.094937] mmc1: SDHCI controller on sdhci-tegra.2 [sdhci-tegra.2] using ADMA 64-bit with 64 bit addr
[    4.309204] mmc0: new HS400 Enhanced strobe MMC card at address 0001
[    4.309667] mmcblk0: mmc0:0001 DG4016 14.7 GiB
[    4.313957] mmcblk0boot0: mmc0:0001 DG4016 partition 1 4.00 MiB
[    4.318206] mmcblk0boot1: mmc0:0001 DG4016 partition 2 4.00 MiB
[    4.322436] mmcblk0rpmb: mmc0:0001 DG4016 partition 3 4.00 MiB
[    4.333155]  mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17
[    5.158494] mmcblk mmc0:0001: Card claimed for testing.
[    5.160276] vddio-sdmmc-ap: disabling
[    5.613751] Root device found: mmcblk0p1
[    5.620065] Found dev node: /dev/mmcblk0p1
[    6.347416] EXT4-fs (mmcblk0p1): 20 orphan inodes deleted
[    6.354154] EXT4-fs (mmcblk0p1): recovery complete
[    6.377414] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
[    6.387525] Rootfs mounted over mmcblk0p1
[    6.906894] EXT4-fs (mmcblk0p1): re-mounted. Opts: (null)

/dev:

sercomm@localhost:~$ ls /dev/ | grep mmcblk
mmcblk0
mmcblk0boot0
mmcblk0boot1
mmcblk0p1
mmcblk0p10
mmcblk0p11
mmcblk0p12
mmcblk0p13
mmcblk0p14
mmcblk0p15
mmcblk0p16
mmcblk0p17
mmcblk0p2
mmcblk0p3
mmcblk0p4
mmcblk0p5
mmcblk0p6
mmcblk0p7
mmcblk0p8
mmcblk0p9
mmcblk0rpmb

fdisk:

sercomm@localhost:~$ sudo fdisk -l | grep mmc
[sudo] password for sercomm:
Disk /dev/mmcblk0: 14.7 GiB, 15758000128 bytes, 30777344 sectors
/dev/mmcblk0p1        34 29360161 29360128   14G Microsoft basic data
/dev/mmcblk0p2  29360162 29362209     2048    1M Microsoft basic data
/dev/mmcblk0p3  29362210 29374497    12288    6M Microsoft basic data
/dev/mmcblk0p4  29374498 29374657      160   80K Microsoft basic data
/dev/mmcblk0p5  29374658 29505697   131040   64M Microsoft basic data
/dev/mmcblk0p6  29505698 29507745     2048    1M Microsoft basic data
/dev/mmcblk0p7  29507746 29520033    12288    6M Microsoft basic data
/dev/mmcblk0p8  29520034 29520193      160   80K Microsoft basic data
/dev/mmcblk0p9  29520194 29651233   131040   64M Microsoft basic data
/dev/mmcblk0p10 29651234 29651617      384  192K Microsoft basic data
/dev/mmcblk0p11 29651618 29652129      512  256K Microsoft basic data
/dev/mmcblk0p12 29652130 29781153   129024   63M Microsoft basic data
/dev/mmcblk0p13 29781154 29782177     1024  512K Microsoft basic data
/dev/mmcblk0p14 29782178 29782689      512  256K Microsoft basic data
/dev/mmcblk0p15 29782690 29783201      512  256K Microsoft basic data
/dev/mmcblk0p16 29783202 30397601   614400  300M Microsoft basic data
/dev/mmcblk0p17 30397602 30401697     4096    2M Microsoft basic data
Disk /dev/mmcblk0boot1: 4 MiB, 4194304 bytes, 8192 sectors
Disk /dev/mmcblk0boot0: 4 MiB, 4194304 bytes, 8192 sectors

Still, the mmcblk1(sdcard) can’t be detected.

The input voltage of the sdcard on our carried board should be 3.3v,and we tried to change it in the Jetson Nano Pinmux 1.01. What we did is changing the value of BB82 from 1.8v to 3.3v. But the generated dtsi makes no difference.

So what the defualt voltage of SDMMC3 and how to change it from 1.8v to 3.3v if it is 1.8v?

Our sd schematic is as below,

Thanks

Not sure what happened. You better checking your device tree again.

cd-gpios is still there and non-removable is also not added.

Hello WayneWWW,

I just change sdhci@700b0400 node in tegra210-porg-p3448-common.dtsi as below,

sdhci@700b0400 {
        status = "okay";
        non-removable;
        mmc-ddr-1_8v;
        mmc-ocr-mask = <3>;
        uhs-mask = <0x0>;
        max-clk-limit = <400000>;
        tap-delay = <3>;
    };

Then the board can detect mmcblk1.

sercomm@localhost:~$ sudo fdisk -l | grep mmcblk1
[sudo] password for sercomm:
\Disk /dev/mmcblk1: 59.5 GiB, 63864569856 bytes, 124735488 sectors
/dev/mmcblk1p1        40 29360167 29360128   14G Microsoft basic data
/dev/mmcblk1p2  29360168 29360423      256  128K Microsoft basic data
/dev/mmcblk1p3  29360424 29361319      896  448K Microsoft basic data
/dev/mmcblk1p4  29361320 29362471     1152  576K Microsoft basic data
/dev/mmcblk1p5  29362472 29362599      128   64K Microsoft basic data
/dev/mmcblk1p6  29362600 29362983      384  192K Microsoft basic data
/dev/mmcblk1p7  29362984 29363751      768  384K Microsoft basic data
/dev/mmcblk1p8  29363752 29363879      128   64K Microsoft basic data
/dev/mmcblk1p9  29363880 29364775      896  448K Microsoft basic data
/dev/mmcblk1p10 29364776 29365671      896  448K Microsoft basic data
/dev/mmcblk1p11 29365672 29367207     1536  768K Microsoft basic data
/dev/mmcblk1p12 29367208 29367335      128   64K Microsoft basic data
/dev/mmcblk1p13 29367336 29367495      160   80K Microsoft basic data
/dev/mmcblk1p14 29367496 29367751      256  128K Microsoft basic data

But when mount mmcblk1p1 on ./mnt and ls ./mnt, we get,

sercomm@localhost:~$ sudo mount /dev/mmcblk1p1
sercomm@localhost:~/mnt$ ls
[  441.278202] mmc1: Data CRC error
[  441.281513] sdhci: =========== REGISTER DUMP (mmc1)===========
[  441.287378] sdhci: Sys addr: 0x00000100 | Version:  0x00000303
[  441.293241] sdhci: Blk size: 0x00007200 | Blk cnt:  0x000000e1
[  441.299099] sdhci: Argument: 0x01400130 | Trn mode: 0x0000003b
[  441.304976] sdhci: Present:  0x019b0000 | Host ctl: 0x00000013
[  441.310871] sdhci: Power:    0x00000001 | Blk gap:  0x00000000
[  441.316768] sdhci: Wake-up:  0x00000000 | Clock:    0x00000007
[  441.322662] sdhci: Timeout:  0x0000000e | Int stat: 0x00000000
[  441.328559] sdhci: Int enab: 0x02ff100b | Sig enab: 0x02fc100b
[  441.334452] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
[  441.340348] sdhci: Caps:     0x376cd08c | Caps_1:   0x10006f77
[  441.346244] sdhci: Cmd:      0x0000123a | Max curr: 0x00000000
[  441.352134] sdhci: Host ctl2: 0x00003000
[  441.356128] sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000ffefe410
[  441.362792] sdhci: ===========================================
[  441.370752] mmcblk1: error -84 transferring data, sector 20971824, nr 256, cmd response 0x900, card status 0x0
[  441.482230] mmc1: Data CRC error
[  441.485561] sdhci: =========== REGISTER DUMP (mmc1)===========
[  441.491480] sdhci: Sys addr: 0x00000100 | Version:  0x00000303
[  441.497384] sdhci: Blk size: 0x00007200 | Blk cnt:  0x000000d3
[  441.503285] sdhci: Argument: 0x01400130 | Trn mode: 0x0000003b
[  441.509186] sdhci: Present:  0x010b0000 | Host ctl: 0x00000013
[  441.515081] sdhci: Power:    0x00000001 | Blk gap:  0x00000000
[  441.520976] sdhci: Wake-up:  0x00000000 | Clock:    0x00000007
[  441.526869] sdhci: Timeout:  0x0000000e | Int stat: 0x00000000
[  441.532764] sdhci: Int enab: 0x02ff100b | Sig enab: 0x02fc100b
[  441.538660] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
[  441.544556] sdhci: Caps:     0x376cd08c | Caps_1:   0x10006f77
[  441.550452] sdhci: Cmd:      0x0000123a | Max curr: 0x00000000
[  441.556343] sdhci: Host ctl2: 0x00003000
[  441.560338] sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000ffefe410
[  441.566996] sdhci: ===========================================
[  441.573824] mmcblk1: error -84 transferring data, sector 20971824, nr 256, cmd response 0x900, card status 0x0
[  441.584236] mmcblk1: retrying using single block read
[  441.809147] mmc1: Data CRC error
[  441.812484] sdhci: =========== REGISTER DUMP (mmc1)===========
[  441.818401] sdhci: Sys addr: 0x00000068 | Version:  0x00000303
[  441.824305] sdhci: Blk size: 0x00007200 | Blk cnt:  0x0000004b
[  441.830206] sdhci: Argument: 0x01000128 | Trn mode: 0x0000003b
[  441.836108] sdhci: Present:  0x01fb0000 | Host ctl: 0x00000013
[  441.842011] sdhci: Power:    0x00000001 | Blk gap:  0x00000000
[  441.847909] sdhci: Wake-up:  0x00000000 | Clock:    0x00000007
[  441.853804] sdhci: Timeout:  0x0000000e | Int stat: 0x00000000
[  441.859700] sdhci: Int enab: 0x02ff100b | Sig enab: 0x02fc100b
[  441.865598] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
[  441.871495] sdhci: Caps:     0x376cd08c | Caps_1:   0x10006f77
[  441.877392] sdhci: Cmd:      0x0000123a | Max curr: 0x00000000
[  441.883281] sdhci: Host ctl2: 0x00003000
[  441.887278] sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000ffefe410
[  441.893941] sdhci: ===========================================
[  441.900910] mmcblk1: error -84 transferring data, sector 16777512, nr 104, cmd response 0x900, card status 0x0
[  441.997549] mmc1: Data end bit error
[  442.001220] sdhci: =========== REGISTER DUMP (mmc1)===========
[  442.007088] sdhci: Sys addr: 0x00000068 | Version:  0x00000303
[  442.012949] sdhci: Blk size: 0x00007200 | Blk cnt:  0x0000005a
[  442.018808] sdhci: Argument: 0x01000128 | Trn mode: 0x0000003b
[  442.024665] sdhci: Present:  0x010b0000 | Host ctl: 0x00000013
[  442.030534] sdhci: Power:    0x00000001 | Blk gap:  0x00000000
[  442.036421] sdhci: Wake-up:  0x00000000 | Clock:    0x00000007
[  442.042317] sdhci: Timeout:  0x0000000e | Int stat: 0x00000000
[  442.048219] sdhci: Int enab: 0x02ff100b | Sig enab: 0x02fc100b
[  442.054114] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
[  442.060010] sdhci: Caps:     0x376cd08c | Caps_1:   0x10006f77
[  442.065905] sdhci: Cmd:      0x0000123a | Max curr: 0x00000000
[  442.071795] sdhci: Host ctl2: 0x00003000
[  442.075791] sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000ffefe410
[  442.082456] sdhci: ===========================================
[  442.089365] mmcblk1: error -84 transferring data, sector 16777512, nr 104, cmd response 0x900, card status 0x0
[  442.099459] mmcblk1: retrying using single block read
bin   dev  home  lost+found  mnt  proc        root  sbin  srv  tmp  var
boot  etc  lib   media       opt  README.txt  run   snap  sys  usr

(1) what make “Data CRC error” happened?
(2) And don’t why it must reboot to system, that is the first boot cant boot successful.

[   36.478754] SMP: stopping secondary CPUs
[   36.482769] Kernel Offset: disabled
[   36.486249] Memory Limit: none
[   36.495110] Rebooting in 5 seconds..
[0000.203] [L4T TegraBoot] (version 00.00.2018.01-l4t-39a9dc3d)

The full init log please refer to attachment.

Thanks

[Com COM9] (2020-02-06_160809)_sd_found_with_crc_error.txt (166 KB)

Please check if delete these two properties can work or not.

nvidia,min-tap-delay ;
nvidia,max-tap-delay ;

Also, try different sdcards if possible.

Decompile your DTB file and post the sdmmc3 section so we can see it. Like WayneWWW said, the property non-removable is not set as shown in your /sys output. Something is overwriting it somewhere or most likely you have not copied the file. Are you copying your DTB file into the right directory?? It must be placed in the kernel/dtb directory.

The copy should be something like this:
cp sources/kernel/kernel-4.9/arch/arm64/boot/dts/tegra210-p3448-0002-xxxx-xxxx-b00.dtb kernel/dtb/

Then if it still does not work you can post the output of the following 2 commands and I will check your pinmux and GPIOs.

sudo cat /sys/kernel/debug/pinctrl/700008d4.pinmux/pinmux-pins

sudo cat /sys/kernel/debug/tegra_gpio