SPI设备驱动与Regmap API:原理、实现与应用
1. SPI设备驱动
1.1 在设备树中实例化SPI设备
通过在设备树(DT)中正确填充设备节点,内核会为我们构建一个 struct spi_device 结构体,并将其作为参数传递给SPI核心函数。以下是一个SPI设备树节点的示例:
&ecspi1 {
status = "okay";
label: fake_spi_device@1 {
compatible = "packtpub,foobar-device";
reg = <1>;
a-string-param = "stringvalue";
spi-cs-high;
};
};
1.2 定义和注册SPI驱动
定义SPI驱动的步骤与I2C驱动类似。首先,需要定义一个 struct of_device_id 结构体来匹配设备树中的设备,并使用 MODULE_DEVICE_TABLE 宏向OF核心注册:
static const struct of_device_id foobar_of_match[] = {
{ .compatible = "packtpub,foobar-device" },
{ .compatible = "packtpub,barfoo-devic
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



