zynqmp zcu102 SD卡驱动调试
新板卡使用sdhci0,以前是sdhci1,由于官方没有使用sdhci0所以需要手动添加设备树:
&sdhci0 {
//clock-frequency = <60000000>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sdhci0_default>;
xlnx,mio_bank = <0>;
//no-1-8-v;
disable-wp;
//bus-width = <4>;
//broken-mmc-highspeed;
//速度:U1,A1,V10,class10
};
pinctrl_sdhci0_default: sdhci0-default {
mux {
groups = "sdio0_0_grp";
function = "sdio0";
};
conf {
groups = "sdio0_0_grp";
slew-rate = <SLEW_RATE_SLOW>;
io-standard = <IO_STANDARD_LVCMOS18>;
bias-disable;
};
// mux-cd {
// groups = "sdio0_cd_0_grp";
// function = "sdio0_cd";
// };
// conf-cd {
// groups = "sdio0_cd_0_grp";
// bias-high-impedance;
// bias-pull-up;
// slew-rate = <SLEW_RATE_SLOW>;
// io-standard = <IO_STANDARD_LVCMOS18>;
// };
// mux-wp {
// groups = "sdio0_wp_0_grp";
// function = "sdio0_wp";
// };
// conf-wp {
// groups = "sdio0_wp_0_grp";
// bias-high-impedance;
// bias-pull-up;
// slew-rate = <SLEW_RATE_SLOW>;
// io-standard = <IO_STANDARD_LVCMOS18>;
// };
};
启动后出现问题:mmc0: error -84 whilst initialising SD card
分析原理图后还是没有搞清楚芯片使用的是1.8v还是3.3v,因为一边1.8一边3.3晕。有人知道的话不吝赐教!
解决方法: 打开sdhci0节点中的no-1-8-v 特性后顺利识别sd卡。
调试过程中看了一个帖子,虽然没有解决我的问题,但是还是有价值的。
https://blog.****.net/jasonwang1002/article/details/102532862(博主跟我的错误码一样都是-84)