Uboot来自于 https://github.com/linux-sunxi/u-boot-sunxi的mirror/next分支
配置文件使用 Sinlinx_SinA33_defconfig
在Uboot中使用mmc相关命令均不能得到响应(已经开启mmc_debug):
=> mmc list
mmc@1c0f000: 0
mmc@1c11000: 1
=> mmc dev 1
CMD_SEND:0
ARG 0x00000000
MMC_RSP_NONE
CMD_SEND:8
ARG 0x000001AA
RET -110
CMD_SEND:55
ARG 0x00000000
RET -110
CMD_SEND:0
ARG 0x00000000
MMC_RSP_NONE
CMD_SEND:1
ARG 0x00000000
RET -110
Card did not respond to voltage select!
=> mmc dev 0
CMD_SEND:0
ARG 0x00000000
MMC_RSP_NONE
CMD_SEND:8
ARG 0x000001AA
RET -110
CMD_SEND:55
ARG 0x00000000
RET -110
CMD_SEND:0
ARG 0x00000000
MMC_RSP_NONE
CMD_SEND:1
ARG 0x00000000
RET -110
Card did not respond to voltage select!
设备树如下:
mmc0: mmc@1c0f000 {
compatible = "allwinner,sun7i-a20-mmc";
reg = <0x01c0f000 0x1000>;
clocks = <&ccu CLK_BUS_MMC0>,
<&ccu CLK_MMC0>,
<&ccu CLK_MMC0_OUTPUT>,
<&ccu CLK_MMC0_SAMPLE>;
clock-names = "ahb",
"mmc",
"output",
"sample";
resets = <&ccu RST_BUS_MMC0>;
reset-names = "ahb";
interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
mmc2: mmc@1c11000 {
compatible = "allwinner,sun7i-a20-mmc";
reg = <0x01c11000 0x1000>;
clocks = <&ccu CLK_BUS_MMC2>,
<&ccu CLK_MMC2>,
<&ccu CLK_MMC2_OUTPUT>,
<&ccu CLK_MMC2_SAMPLE>;
clock-names = "ahb",
"mmc",
"output",
"sample";
resets = <&ccu RST_BUS_MMC2>;
reset-names = "ahb";
interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
mmc2_8bit_pins: mmc2_8bit {
pins = "PC5", "PC6", "PC8",
"PC9", "PC10", "PC11",
"PC12", "PC13", "PC14",
"PC15", "PC16";
function = "mmc2";
drive-strength = <30>;
bias-pull-up;
};
&mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_sina33>;
vmmc-supply = <®_dcdc1>;
bus-width = <4>;
cd-gpios = <&pio 1 4 GPIO_ACTIVE_LOW>; /* PB4 */
status = "okay";
};
&mmc2 {
pinctrl-names = "default";
pinctrl-0 = <&mmc2_8bit_pins>;
vmmc-supply = <®_dcdc1>;
bus-width = <8>;
non-removable;
cap-mmc-hw-reset;
status = "okay";
};
&mmc2_8bit_pins {
/* Increase drive strength for DDR modes */
drive-strength = <40>;
/* eMMC is missing pull-ups */
bias-pull-up;
};
对照原理图感觉没什么问题阿:
离线
silinx的配置文件一般水土不服呀,换orangepi的a33试试看
最近编辑记录 microxp (2024-09-13 19:51:35)
离线
silinx的配置文件一般水土不服呀,换orangepi的a33试试看
./A33-OLinuXino_defconfig也试过了...
我试试orangepi的
离线
silinx的配置文件一般水土不服呀,换orangepi的a33试试看
请问一下orangepi的仓库在哪里?没找到orangepi的a33开发板阿
离线
A33-OLinuXino_defconfig那个我试过是没问题的啦,mmc dev 1是板子上的emmc呀,先确认下你的板子有emmc吗,dev 0是外挂的tf卡,你可以插个tf卡试试mmc dev 0 有没有反应
最近编辑记录 microxp (2024-09-14 11:48:22)
离线
A33-OLinuXino_defconfig那个我试过是没问题的啦,mmc dev 1是板子上的emmc呀,先确认下你的板子有emmc吗,dev 0是外挂的tf卡,你可以插个tf卡试试mmc dev 0 有没有反应
OlinuXino config在这个分支也一样。
估计是这个仓库的这个分支不行吧,他那个分支太多,命名也不全。
我直接使用mainline的Uboot的SinLinx config就能用,mmc和sd卡都能检测到,昨天尝试mainline起不来是因为sd卡和uart0复用,导致uboot在初始化sd卡之前会切到uart2去输出,所以连uart0只能看到一部分log然后就没有反映了。
另外mainline的uboot的OLinuXino_defconfig配置文件在我这个板子上只能看到sd卡,不能看到mmc。
Board: vstar A33
最近编辑记录 JiangLin (2024-09-14 12:49:14)
离线
设备树里还得加上mmc2吧,我记得设备树里没开mmc2
离线