分析并改良rockchip sensor core框架之一

      版权声明:本文为博主原创文章,转载请注明出处:https://blog.youkuaiyun.com/huang_165/article/details/83379988

      这是“分析并改良rockchip sensor core框架”的第一篇,这篇结合瑞芯微官方文档以通俗的文字、图片描述sensor core。具体的程序逻辑框图将在“分析并改良rockchip sensor core框架”的第二篇上分析。

源码地址:https://github.com/Mr-jinfa/rk3399-project

目录

rockchip 原生sensor core支持的功能

rockchip 原生sensor core不支持的功能

改良sensor core支持的功能

瑞芯微文档形式分析

源码分析

从dts开始:

从sensor_pobe出发


rockchip 原生sensor core支持的功能

  1. 提供sensor-i2c层来封装i2c函数
  2. 提供sensor-dev层来封装具体sensor驱动的申请、注册函数。
  3. sensor-i2c 和sensor-dev组成sensor core。由它来支撑具体sensor的活动并回调具体sensor驱动提供的钩子函数。  

rockchip 原生sensor core不支持的功能

  1. 它仅能支持同类sensor的单一sensor(即不支持多个同类sensor)
  2. 不支持sensor以ko形式装入。

改良sensor core支持的功能

  1. 支持同类sensor的多个sensor,支持ioctl等sensor ops接口的并发访问
  2. 支持sensor以ko形式装入。

瑞芯微文档形式分析

      下面我们来分析rockchip的sensor core架构,先引用瑞芯微提供<sensor驱动介绍和调试说明.doc>文字介绍:
      Sensor驱动代码一般分为RK框架和sensor厂商自定义框架,厂商自定义框架按照厂商提供的文档进行移植,这里主要介绍RK的sensor框架。

jinfa@ubuntu:~/rk3399_work/kernel/drivers/input/sensors$ ls -l
total 136
drwxr-xr-x 2 jinfa jinfa  4096 Oct 24 23:49 accel
drwxr-xr-x 2 jinfa jinfa  4096 Oct 20 20:28 angle
drwxr-xr-x 2 jinfa jinfa  4096 Oct 24 23:49 compass
drwxr-xr-x 2 jinfa jinfa  4096 Oct 20 20:28 gyro
drwxr-xr-x 2 jinfa jinfa  4096 Oct 20 20:28 hall
-rwxr--r-- 1 jinfa jinfa   655 Sep 21 17:23 Kconfig
drwxr-xr-x 2 jinfa jinfa  4096 Oct 20 20:28 lsensor
-rwxr--r-- 1 jinfa jinfa   549 Sep 21 17:23 Makefile
drwxr-xr-x 2 jinfa jinfa  4096 Oct 20 20:28 pressure
drwxr-xr-x 2 jinfa jinfa  4096 Oct 20 20:28 psensor
-rwxr--r-- 1 jinfa jinfa 81686 Oct 24 04:53 sensor-dev.c
-rwxr--r-- 1 jinfa jinfa  5820 Sep 21 17:23 sensor-i2c.c
drwxr-xr-x 2 jinfa jinfa  4096 Oct 20 20:28 temperature

     其中accel、angle、compass、gyro、hall、lsensor、pressure、psensor、temperature目录包含各类型的传感器文件。              Sensor-i2c.c包含sensor的I2C读写操作接口。Sensor-dev.c对 sensor 操作进行统一处理,包括驱动挂载、中断或轮训处理、 IOCTL处理、差异性接口的统一回调处理等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值