首页 > 技术知识 > 正文

4.10 TF卡驱动调试

4.10.1 硬件原理分析

RK3568 开发板-安卓系统之TF卡驱动调试(十三)-hi3559开发板

从原理图上看出,我们只需要配置cmd、bus、clk、det即可。

4.10.1 DTS配置

&sdmmc0 { max-frequency = <150000000>; supports-sd; bus-width = <4>; cap-mmc-highspeed; cap-sd-highspeed; disable-wp; sd-uhs-sdr104; vmmc-supply = <&vcc3v3_sd>; vqmmc-supply = <&vccio_sd>; pinctrl-names = “default”; pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; status = “okay”; };

4.10.3 烧写验证

在启动的过程中,我们可能通过log看到sd卡容量等信息,启动后可通过状态栏看到SD卡图标

[ 1.127562] mmc0: new ultra high speed SDR50 SDHC card at address aaaa [ 1.128560] mmcblk0: mmc0:aaaa SU04G 3.69 GiB [ 1.129586] mmcblk0: p1

启动完成后,可以通过拔插SD卡在状态栏看到SD卡图标,通过拔插SD卡,图标和消失和重现,也可以通过日志看到相应的信息

[ 178.470556] mmc0: card aaaa removed [ 178.476117] type=1400 audit(1661436597.336:56): avc: denied { getattr } for comm=”kdevtmpfs” path=”/mmcblk0p1″ dev=”devtmpfs” ino=36269 scontext=u:r:kernel:s0 tcontext=u:object_r:device:s0 tclass=blk_file permissive=1 [ 178.476647] type=1400 audit(1661436597.336:57): avc: denied { setattr } for comm=”kdevtmpfs” name=”mmcblk0p1″ dev=”devtmpfs” ino=36269 scontext=u:r:kernel:s0 tcontext=u:object_r:device:s0 tclass=blk_file permissive=1 [ 178.476895] type=1400 audit(1661436597.336:58): avc: denied { unlink } for comm=”kdevtmpfs” name=”mmcblk0p1″ dev=”devtmpfs” ino=36269 scontext=u:r:kernel:s0 tcontext=u:object_r:device:s0 tclass=blk_file permissive=1 [ 180.376555] mmc_host mmc0: Bus speed (slot 0) = 375000Hz (slot req 400000Hz, actual 375000HZ div = 0) [ 180.561703] mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 100000000Hz, actual 50000000HZ div = 0) [ 180.580325] dwmmc_rockchip fe2b0000.dwmmc: Successfully tuned phase to 360 [ 180.580433] mmc0: new ultra high speed SDR50 SDHC card at address aaaa [ 180.585505] mmcblk0: mmc0:aaaa SU04G 3.69 GiB [ 180.587434] type=1400 audit(1661436599.450:59): avc: denied { create } for comm=”kdevtmpfs” name=”mmcblk0″ scontext=u:r:kernel:s0 tcontext=u:object_r:device:s0 tclass=blk_file permissive=1 [ 180.587848] type=1400 audit(1661436599.450:60): avc: denied { setattr } for comm=”kdevtmpfs” name=”mmcblk0″ dev=”devtmpfs” ino=44485 scontext=u:r:kernel:s0 tcontext=u:object_r:device:s0 tclass=blk_file permissive=1 [ 180.600954] mmcblk0: p1 [ 180.854625] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. se run fsck.

猜你喜欢