文档密级:秘密
目 录
1 前言 1
1.1 文档简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 目标读者 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 适用范围 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 模块介绍 2
2.1 模块功能介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 相关术语介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2.1 硬件术语 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2.2 软件术语 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.3 模块配置介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3.1 device tree 默认配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3.2 board.dts 板级配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3.3 kernel menucong 配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 源码模块结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 驱动框架介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 模块接口说明 12
3.1 i2c-core 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.1 i2c_transfer() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.2 i2c_master_recv() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.3 i2c_master_send() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.4 i2c_smbus_read_byte() . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.5 i2c_smbus_write_byte() . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.6 i2c_smbus_read_byte_data() . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.7 i2c_smbus_write_byte_data() . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.8 i2c_smbus_read_word_data() . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.9 i2c_smbus_write_word_data() . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.10 i2c_smbus_read_block_data() . . . . . . . . . . . . . . . . . . . . . . 15
3.1.11 i2c_smbus_write_block_data() . . . . . . . . . . . . . . . . . . . . . . 15
3.2 i2c 用户态调用接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2.1 i2cdev_open() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2.2 i2cdev_read() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2.3 i2cdev_write() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.4 i2cdev_ioctl() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4 模块使用范例 18
4.1 利用 i2c-core 接口读写 TWI 设备 . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2 利用用户态接口读写 TWI 设备 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5 FAQ 22
5.1 调试方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
版权所有 © 珠海全志科技股份有限公司。保留一切权利 ii
评论0
最新资源