专栏中心

EEPW首页 > 专栏 > Linux kernel 使能I2C驱动

Linux kernel 使能I2C驱动

发布人:电子禅石 时间:2024-02-03 来源:工程师 发布文章

   记录一下在kernel中使用设备树使能I2C驱动并在/dev目录下显示i2c-0节点的方法。


第一步:menuconfig

        在内核源码目录下,我们先进行图形化界面配置,使用如下命令:

    make menuconfig

如图,在路径Device Drivers > I2C support下,进行I2C的选项选择。其中第三项:I2C device interface要记得勾选,否则在/dev目录下不会生成I2C节点!






1706952508367143.png

设备树:

 一般使用硬件I2C的时候,原厂会在设备树的dtsi文件中加入该节点的信息,但status状态是disabled,所以我们需要在所使用的dts文件中使能该节点。

        原厂写好的节点:

image.png

用户需要自己添加的信息:

image.png

将状态status赋值为okay一般就可以结束了。我这里I2C下挂了一个RTC芯片,所以我添加了RTC的节点。


第三步:编译、下载、测试

        在kernel启动log中可以看到有I2C驱动控制器打印的信息

在系统中 ls /dev查看是否存在I2C节点:
1706952864704097.png

可以看到,i2c-0节点存在,此时就可以使用open,write,read应用函数去操作节点啦。


        关键注意点:menuconfig选择配置项的时候,一定记得要选择I2C device interface,否则/dev下找不到该节点!

附加记录(linux下gpio模拟i2c)

menuconfig:

1706952942912121.png












 设备树:

image.png

注意使用的gpio有没有其他其他功能被占用,另外要添加到alise节点。

gpios两个引脚的顺序:

1706953117150863.png


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

关键词: I2C

相关推荐

浅析嵌入式总线技术的原理、分类及技术指标

嵌入式系统 2018-07-31

Nexperia推出先进的I2C GPIO扩展器产品组合

在Linux环境下I2C总线EEPROM驱动程序应该如何设计

嵌入式系统 2018-07-30

STM32视频-Inter Integrated Circuit(I2C)

视频 2013-03-06

I2C总线协议V2.1

LED驱动器中I2C的LED控制方式

光电显示 2023-06-08

MSP430与液晶显示器的串行接口方案

Microchip温度传感器系列产品

I2C Manual AN10216-01

I2C通讯不了?是不是硬件有问题?

2024-03-28

I2C Logic Selection Guide

集成电路(I2C)总线市场趋势、需求和创新2025-2035

I2C规格

数字温度传感器系统接口:SPI、I2C 、SMBus如何选

学前班第1课第2.2节_怎么看原理图之协议类接口之I2C

视频 2013-10-14

看时序图写I2C驱动,教你如何自己手撸非标I2C驱动函数

嵌入式系统 2025-08-18

低速串行总线调试-I2C译码

视频 2010-01-13

用示波器对单片机I2C时序进行图形波形分析的试验小结

嵌入式系统 2024-01-17
更多 培训课堂
更多 焦点
更多 视频

技术专区