RK平台移植310内核.DOC

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RK平台移植310内核

RK平台移植3.10内核 RK平台系统相关改动 1 1.1 pinctl 1 1.2 clock/dvfs 2 1.3 PM(休眠唤醒的改动) 2 1.4 ddr 2 1.5 头文件改动 2 常用模块相关改动 2 2.1 LCD/BL 2 2.2 TP 2 2.3 POWER 2 2.4 SENSORS 2 2.4.1 驱动需要获取的信息: 2 2.4.2 dts中如何进行定义 3 2.4.3 驱动中如何获取dts信息 4 2.5 CAMERA 5 2.6 CODEC 5 2.7 WIFI 5 Dts介绍 5 3.1 dts/dtsi为何物 5 3.2 rk平台集成的dtsi 6 3.4 rk 平台dts 编写规范和注意事项 6 3.5 如何编译生成新的kernel.img 6 Dts引发的驱动变更 6 3.1 驱动如何与dts通信 6 3.2 注册i2c_board_info,指定IRQ等板级信息 7 3.3注册platfrom_device,绑定resource(内存,irq等) 7 常用OF_API 8 RK平台系统相关改动 1.1 pinctl 1.2 clock/dvfs 1.3 PM(休眠唤醒的改动) 1.4 ddr 1.5 头文件改动 -#include mach/gpio.h -#include mach/board.h +#include linux/of_gpio.h 常用模块相关改动 2.1 LCD/BL 2.2 TP 2.3 POWER 2.4 SENSORS sensors 包括了RK平台上的各类驱动,驱动代码路径和原来路径一致,在drivers/inpput/sensors/目录下。驱动已经移植完成,正常不需要进行修改。sensor的配置只需要在dts文件中填入项目对应的信息。 2.4.1 驱动需要获取的信息: Sensor-dev.h中 我们定义了sensor的驱动所需要的信息结构,在.dts文件中填入相关信息,驱动中就可以自动获取到信息进行展开。 struct sensor_platform_data { int type; //sensor 类型见sensor_type定义,必填,不能错 int irq; //中断号 int irq_pin; //中断触发GPIO int power_pin; //电源控制GPIO,部分sensor用到 int reset_pin; //reset GPIO,部分sensor用到 int irq_enable; //使用中断方式填1,使用轮训填0 ,必填 int poll_delay_ms; //读取数据的频率,单位ms,必填 int x_min; //最小有效值,x低于该值忽略,目前陀螺仪使用 int y_min; //最小有效值,y低于该值忽略,目前陀螺仪使用 int z_min; //最小有效值,z低于该值忽略,目前陀螺仪使用 unsigned char address; // I2C 设备地址 int layout; //sensor方向,1-8 signed char orientation[9]; //sensor方向矩阵,dts中不用定义,由layout自动转换 unsigned long irq_flags; //中断触发方式,必填 short m_layout[4][3][3]; //指南针方向矩阵,可选 char project_name[64]; //指南针名称,可选 }; 蓝色的为在dts文件中必须定义的信息,其他为可选项,没用到可以不填。 2.4.2 dts中如何进行定义 目前dts中的信息填写和之前的board有很大区别,这里用用mma8452的gsensor作为案例: i2c0{ //挂载i2c0总线上 sensor@1d { //sensor,i2c地址 compatible = gs_mma8452; //设备ID号 reg = 0x1d; //设备地址 type = SENSOR_TYPE_ACCEL; //sensor类型,accel为gsensor irq-gpio = gpio0 GPIO_B7 IRQ_TYPE_EDGE_FALLING; //中断GPIO irq_enable = 1;

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档