MMC SPI问题无法在Linux中设置MMC/SD卡

MMC SPI问题无法在Linux中设置MMC/SD卡,linux,linux-kernel,spi,mmc,Linux,Linux Kernel,Spi,Mmc,我目前正在为一个定制的SPI IP编写一个SPI驱动程序,用于接口MMC/SD卡。SPI驱动程序正在被探测,MMC驱动程序也正在被探测。最后的MMC驱动程序打印此语句 [61.219787]mmc_spi spi0.0:SD/mmc主机mmc0,无DMA,无WP,无断电,cd轮询 当有29个字节的0xFF时,我试图打印发送到缓冲区的值。发送这29个字节的0xFF之后,将从中发送18和10,并从传输函数中读取0x00 传输函数中的写入和读取次数是否相同 MMC SPI驱动程序在这个序列中尝试做什么

我目前正在为一个定制的SPI IP编写一个SPI驱动程序,用于接口MMC/SD卡。SPI驱动程序正在被探测,MMC驱动程序也正在被探测。最后的MMC驱动程序打印此语句

[61.219787]mmc_spi spi0.0:SD/mmc主机mmc0,无DMA,无WP,无断电,cd轮询

当有29个字节的0xFF时,我试图打印发送到缓冲区的值。发送这29个字节的0xFF之后,将从中发送18和10,并从传输函数中读取0x00

传输函数中的写入和读取次数是否相同

MMC SPI驱动程序在这个序列中尝试做什么


提前感谢。

阅读以下内容:TL;DR:MMC SPI滥用SPI(信号)协议。这就是为什么非标准序列是必需的。谢谢链接。我对SPI SD卡的工作有一些了解。但我想知道,是否有办法检查mmc spi驱动程序发送的内容正在发送或返回给它。我只能在循环中看到0xFF。另外,我在dmesg中得到的消息是:[26685.540374]mmc_spi spi 0.0:设置模式0,cs_高,8位/w,400000 Hz最大-->0[26685.604003]mmc_spi spi 0.0:设置模式0,8位/w,400000 Hz最大-->0我想知道为什么sd卡没有被检测到?不是所有的卡都支持spi,只有旧卡支持。此外,还有一个肮脏的玩CS(芯片选择),请确保它完全去的状态,因为MMC的SPI驱动程序希望它是)。啊,是的,试一下最新的内核(一个是v5.13-rc3,另一个来自Linux Next),谢谢支持。该问题是一个逻辑问题,每次传输后,要传输的总位没有刷新。此外,我目前也遇到了这个问题,[152.547088]mmc\u spi spi 0.0:不支持卡电压[152.725311]mmc0:初始化SDIO卡时出错-22[156.647918]mmc\u spi 0.0:不支持卡电压[156.824890]mmc0:初始化SD卡时出错-22[159.290557]mmc\u spi.0:不支持卡电压[159.468292]mmc0:初始化MMC卡时出现错误-22。在插入卡之前,该错误会一直循环。请尝试禁用DMA。