Linux的i2c驱动里面使用哪个函数获取DTS的i2c速率
时间: 2023-12-14 17:36:41 浏览: 192
Linux的i2c驱动中使用函数`of_get_property()`来获取DTS中定义的i2c速率。该函数可以从设备树节点的属性列表中获取指定属性的值。在i2c驱动中,通常使用`of_find_property()`函数来检索设备树节点的属性,并使用`of_get_property()`函数来获取属性的值。
例如,以下代码片段演示了如何从设备树节点中获取i2c速率:
```c
struct device_node *np = i2c_dev->dev.of_node;
const __be32 *prop;
int len;
prop = of_get_property(np, "clock-frequency", &len);
if (prop) {
i2c_dev->clk_rate = be32_to_cpup(prop);
}
```
在这个例子中,我们首先获取设备节点的指针`np`,然后使用`of_get_property()`函数检索名为“clock-frequency”的属性。如果属性存在,则将指向属性值的指针存储在`prop`变量中,然后使用`be32_to_cpup()`函数将属性值从big-endian格式转换为本地字节序。最后,我们将i2c速率存储在`i2c_dev->clk_rate`变量中,以便在i2c传输期间使用。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)