IMX8MP SD CARD Detection issue

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX8MP SD CARD Detection issue

556 Views
Rajendersamangula
Contributor II

 i was testing the SD2 Interface in  imx8mp custome board, we added the schematic as below attached image  and we configured the below dts in board dts related . as per the EVK Operation the board is switching between 3.3v to 1.8v operation during data transfer. 

Rajendersamangula_0-1778591439927.png

Rajendersamangula_1-1778591470174.png

 

Here i used below switch power VSD_3V3 Insted of NVCC_SD2 FOR Testing but issue is same 

[32m[ 100.362225] [0m[33mmmc1: [0mnew high speed SDHC card at address aaaa
[32m[ 100.385895] [0m[33mmmcblk1: [0mmmc1:aaaa SC16G 14.8 GiB
[32m[ 100.564120] [0m[33mblk_print_req_error: [0m[1m26 callbacks suppressed[0m
[32m[ 100.564134] [0m[31mI/O error, dev mmcblk1, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2[0m
[32m[ 100.580241] [0m[31mI/O error, dev mmcblk1, sector 1 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2[0m
[32m[ 100.591337] [0m[31mI/O error, dev mmcblk1, sector 2 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2[0m
[32m[ 100.602404] [0m[31mI/O error, dev mmcblk1, sector 3 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2[0m
[32m[ 100.613143] [0m[31mI/O error, dev mmcblk1, sector 4 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2[0m
[32m[ 100.624228] [0m[31mI/O error, dev mmcblk1, sector 5 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2[0m
[32m[ 100.635931] [0m[31mBuffer I/O error on dev mmcblk1, logical block 0, async page read[0m
[32m[ 100.646682] [0m[31mI/O error, dev mmcblk1, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2[0m
[32m[ 100.657404] [0m[31mI/O error, dev mmcblk1, sector 1 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2[0m
[32m[ 100.668140] [0m[31mI/O error, dev mmcblk1, sector 2 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2[0m
[32m[ 100.678885] [0m[31mI/O error, dev mmcblk1, sector 3 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2[0m
[32m[ 100.690432] [0m[31mBuffer I/O error on dev mmcblk1, logical block 0, async page read[0m
[32m[ 100.697621] [0m[33m mmcblk1: [0munable to read partition table
[32m[ 100.902422] [0m[31mBuffer I/O error on dev mmcblk1, logical block 0, async page read[0m
[32m[ 132.961163] [0m[33mblk_print_req_error: [0m[1m14 callbacks suppressed[0m
[32m[ 132.961176] [0m[31mI/O error, dev mmcblk1, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 2[0m
[32m[ 132.977620] [0m[31mI/O error, dev mmcblk1, sector 1 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 2[0m
[32m[ 132.988707] [0m[31mI/O error, dev mmcblk1, sector 2 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 2[0m
[32m[ 133.000141] [0m[31mI/O error, dev mmcblk1, sector 3 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 2[0m
[32m[ 133.011574] [0m[31mI/O error, dev mmcblk1, sector 4 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 2[0m
[32m[ 133.022661] [0m[31mI/O error, dev mmcblk1, sector 5 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 2[0m
[32m[ 133.047531] [0m[31mI/O error, dev mmcblk1, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2[0m
[32m[ 133.056334] [0m[31mI/O error, dev mmcblk1, sector 1 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2[0m
[32m[ 133.067411] [0m[31mI/O error, dev mmcblk1, sector 2 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2[0m
[32m[ 133.078414] [0m[31mI/O error, dev mmcblk1, sector 3 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2[0m
[32m[ 133.089985] [0m[31mBuffer I/O error on dev mmcblk1, logical block 0, async page read[0m
[32m[ 133.102686] [0m[31mBuffer I/O error on dev mmcblk1, logical block 0, async page read[0m
[32m[ 133.113104] [0m[31mBuffer I/O error on dev mmcblk1, logical block 0, async page read[0m
[32m[ 133.124708] [0m[31mBuffer I/O error on dev mmcblk1, logical block 0, async page read[0m
[32m[ 133.135332] [0m[31mBuffer I/O error on dev mmcblk1, logical block 0, async page read[0m
[32m[ 133.147595] [0m[31mBuffer I/O error on dev mmcblk1, logical block 0, async page read[0m
[32m[ 133.159816] [0m[31mBuffer I/O error on dev mmcblk1, logical block 0, async page read[0m
[32m[ 133.172050] [0m[31mBuffer I/O error on dev mmcblk1, logical block 0, async page read[0m
[32m[ 133.184274] [0m[31mBuffer I/O error on dev mmcblk1, logical block 0, async page read[0m
[32m[ 133.376775] [0m[31mBuffer I/O error on dev mmcblk1, logical block 0, async page read[0m
[32m[ 133.425479] [0m[33m mmcblk1: [0munable to read partition table

 

 

 

what i need here is i need my sd card to work in 3v3 level. iam able to get the detection of sd card but it is not readable.

my configuration of dts

&usdhc2 {
assigned-clocks = <&clk IMX8MP_CLK_USDHC2>;
assigned-clock-rates = <100000000>;

pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;

cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
vmmc-supply = <&reg_usdhc2_vmmc>;

bus-width = <4>;

no-1-8-v;
max-frequency = <25000000>;

status = "okay";
};

 

final output:

 

imx8mpevk login:
imx8mpevk login:
imx8mpevk login: root

7[r[999;999H[6n8root@imx8mpevk:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
mmcblk2 179:0 0 7.3G 0 disk
|-mmcblk2p1 179:1 0 83.2M 0 part /run/media/boot-mmcblk2p1
`-mmcblk2p2 179:2 0 6.5G 0 part /
mmcblk2boot0 179:32 0 4M 1 disk
mmcblk2boot1 179:64 0 4M 1 disk
mmcblk1 179:96 0 29.7G 0 disk 

 

 

NXP i.MX Release Distro 6.1-mickledore imx8mpevk ttymxc1

imx8mpevk login:
imx8mpevk login:
imx8mpevk login: root
7[r[999;999H[6n8root@imx8mpevk:~#
root@imx8mpevk:~#
root@imx8mpevk:~#
root@imx8mpevk:~#
root@imx8mpevk:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
mmcblk2 179:0 0 7.3G 0 disk
|-mmcblk2p1 179:1 0 83.2M 0 part /run/media/boot-mmcblk2p1
`-mmcblk2p2 179:2 0 6.5G 0 part /
mmcblk2boot0 179:32 0 4M 1 disk
mmcblk2boot1 179:64 0 4M 1 disk
mmcblk1 179:96 0 29.7G 0 disk
root@imx8mpevk:~#
root@imx8mpevk:~#
root@imx8mpevk:~#
root@imx8mpevk:~# [ 53.204996] mmc1: card aaaa removed
[ 54.494632] mmc1: host does not support reading read-only switch, assuming write-enable
[ 54.507807] mmc1: new high speed SDHC card at address aaaa
[ 54.514138] mmcblk1: mmc1:aaaa SC32G 29.7 GiB
[ 54.579534] blk_print_req_error: 8 callbacks suppressed
[ 54.579543] I/O error, dev mmcblk1, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 54.595988] I/O error, dev mmcblk1, sector 1 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 54.607164] I/O error, dev mmcblk1, sector 2 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 54.619385] Buffer I/O error on dev mmcblk1, logical block 0, async page read
[ 54.630133] I/O error, dev mmcblk1, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 54.641276] I/O error, dev mmcblk1, sector 1 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 54.652768] I/O error, dev mmcblk1, sector 2 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 54.666656] Buffer I/O error on dev mmcblk1, logical block 0, async page read
[ 54.673827] mmcblk1: unable to read partition table
[ 54.743395] I/O error, dev mmcblk1, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
[ 54.754949] I/O error, dev mmcblk1, sector 1 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
[ 54.766631] I/O error, dev mmcblk1, sector 2 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
[ 54.780512] I/O error, dev mmcblk1, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 54.791210] Buffer I/O error on dev mmcblk1, logical block 0, async page read
[ 57.764836] mmc1: card aaaa removed
[ 61.159580] kauditd_printk_skb: 8 callbacks suppressed
[ 61.159590] audit: type=1334 audit(1776550758.196:16): prog-id=10 op=UNLOAD
[ 61.171847] audit: type=1334 audit(1776550758.196:17): prog-id=9 op=UNLOAD
[ 65.070760] mmc1: host does not support reading read-only switch, assuming write-enable
[ 65.084575] mmc1: new high speed SDHC card at address aaaa
[ 65.102862] mmcblk1: mmc1:aaaa SC32G 29.7 GiB
[ 65.171885] blk_print_req_error: 2 callbacks suppressed
[ 65.171896] I/O error, dev mmcblk1, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 65.188475] I/O error, dev mmcblk1, sector 1 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 65.199891] I/O error, dev mmcblk1, sector 2 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 65.212268] Buffer I/O error on dev mmcblk1, logical block 0, async page read
[ 65.223329] I/O error, dev mmcblk1, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 65.234610] I/O error, dev mmcblk1, sector 1 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 65.245811] I/O error, dev mmcblk1, sector 2 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 65.258065] Buffer I/O error on dev mmcblk1, logical block 0, async page read
[ 65.265245] mmcblk1: unable to read partition table
[ 65.339512] I/O error, dev mmcblk1, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
[ 65.351038] I/O error, dev mmcblk1, sector 1 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
[ 65.362544] I/O error, dev mmcblk1, sector 2 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
[ 65.376346] I/O error, dev mmcblk1, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 65.389118] Buffer I/O error on dev mmcblk1, logical block 0, async page read

kindly help me on this 

 

thanks 

 

0 Kudos
Reply
2 Replies

438 Views
Manuel_Salas
NXP TechSupport
NXP TechSupport

Hello @Rajendersamangula 

Hope you are doing very well.

 

It seems that the handshake at low-speed is working, but not at high-speed.

 

Have you tried populating resistors R54 and R55?

From your schematics it seems those are DNP. 

 

Also, please try decreasing the frequency in your device tree.

 

Finally, you can try to increase the drive strength in your pinctrl_usdhc2 and enable the internal pull-ups in the lines you have not external ones.

 

If possible, measure the NVCC_SD2 line to ensure it is 3.3V.

 

Best regards,

Salas.

 

305 Views
Rajendersamangula
Contributor II
Thanks for your reply manuel , i have followed the same. i am happy to share i found the solution with below changes, i have used a sd card breakout board with dataline pullups and i have used the sd card VSD_3V3 switch output from the PMIC insted of nvcc-sd2 .In dts i have updated my speed to 25 MHz from 100 mhz and with no-1-8-v.