zynq linux驱动 以太网和SD卡不能正常工作

前言

在以往修改内核驱动时,一般在源码里 arch/arm/boot/dts/文件下,有相应的设备树文件
而使用petalinux后,在哪里修改,内核源码在哪里?

在使用petalinux-build后,会自动生成文件project-spec/meta-user/recipes-bsp/device-tree/files文件,在此文件夹下有system-user.dtsi,这个就是设备树

常见的问题

1、以太网不能使用

系统启动后,打印输出

Could not find eth0

并且用命令行ifconfig -a 查看,没有发现eth0

2、SD卡在启动阶段提示错误,并且不支持动态插拔

现象一:

mmc1: error -110 whilst initialising SD card

现象二:
在选择使用SD卡启动时显示一下错误,找不到mmcblk1p2

root@ZYNQ:/mnt# [ 2639.610797] mmc1: new high speed SDHC card at address e624
[ 2639.616678] mmcblk1: mmc1:e624 SU04G 3.69 GiB (ro)
[ 2639.632772]  mmcblk1: p1 p2
[ 2639.908276] /dev/mmcblk1p1: Can't open blockdev
[ 2639.916043] EXT4-fs (mmcblk1p2): INFO: recovery required on readonly filesystem
[ 2639.923362] EXT4-fs (mmcblk1p2): write access unavailable, cannot proceed (try mounting with noload)
[ 2639.932709] /dev/mmcblk1p2: Can't open blockdev
[ 2639.998528] EXT4-fs (mmcblk1p2): INFO: recovery required on readonly filesystem
[ 2640.005836] EXT4-fs (mmcblk1p2): write access unavailable, cannot proceed (try mounting with noload)
[ 2640.015281] /dev/mmcblk1p2: Can't open blockdev

现象三:

[    3.772317] VFS: Cannot open root device "mmcblk0p2" or unknown-block(179,2): error -6

解决方法,

在设备树system-user.dtsi添加驱动

aliases {ethernet0 = "&gem3";mmc0 = &sdhci1;};
…&gem3 {status = "okay";phy-handle = <&phy0>;phy-mode = "rgmii-id";phy0: phy@21 {reg = 

;ti,rx-internal-delay = <0x8>;ti,tx-internal-delay = <0xa>;ti,fifo-depth = <0x1>;ti,dp83867-rxctrl-strap-quirk;}; };&sdhci1 {status = "okay";no-1-8-v;xlnx,mio_bank =

; };


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部