gpt4 book ai didi

Linux 内核驱动程序 - SPI 如何识别 SPI 设备?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:50:25 29 4
gpt4 key购买 nike

我一直在阅读 SPI 以及如何创建内核驱动程序,但我仍然不确定所有这些是如何工作的。

例如:

 static struct spi_driver ds1305_driver = {
.driver.name = "rtc-ds1343",
.driver.owner = THIS_MODULE,
.probe = ds1343_probe,
.remove = __devexit_p(ds1343_remove),
/* REVISIT add suspend/resume */
};

如果我理解正确,您应该将 spi_board_info 添加到板文件(旧系统)或设备树中,然后让 SPI 知道如何与实际设备通信。

从其他人的实现来看,这似乎真的只是让内核知道什么芯片选择、数据速率等基本 SPI 信息。

问题:

那么,当系统启动时,内核驱动程序会向设备发送一个时钟并读取设备的名称吗?

所有设备的名称都写在某个位置是标准化的,还是我完全错了?

通用 SPI 驱动程序是否负责探测设备以获取此信息(在我的例子中是 mxc_spi-0)?

最后,如果它确实读取了设备的名称,它会滚动浏览可用的驱动程序并与此 spi_driver.driver.name 匹配吗?

我对细节真的很困惑。

谢谢!

最佳答案

SPI 既不提供也不包含识别信息。由集成商、分销商或用户指定使用哪种总线和/或从机选择机制连接哪些 SPI 设备。

关于Linux 内核驱动程序 - SPI 如何识别 SPI 设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32086407/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com