RK平台3.10内核移植详解
需积分: 13 9 浏览量
更新于2024-08-11
1
收藏 72KB DOC 举报
"该文档详细介绍了在RK平台上移植Linux内核3.10的过程,涉及到系统层面和常用模块的相关改动,以及Device Tree Source (DTS)的使用和影响。"
在RK平台上移植3.10内核的过程中,涉及到多个关键方面的改动:
1. **pinctl1**:这是关于平台引脚控制器的改动,可能包括引脚复用配置、中断线路设置等,以确保新内核能正确识别和管理硬件资源。
2. **clock/dvfs**:这部分改动可能涉及时钟管理和动态电压频率调整(DVFS),以优化能耗和性能。在新内核中,可能需要更新或新增时钟驱动,以及相应的电源管理策略。
3. **PM(Power Management)**:休眠唤醒功能的改动可能包括更新唤醒源、睡眠模式设置等,以确保系统在低功耗状态下仍能正确响应唤醒事件。
4. **ddr2**:内存控制器的改动,可能是为了支持DDR2内存,这涉及到内存初始化、地址映射和内存时序的调整。
5. **头文件改动**:旧的平台特定头文件如`<mach/gpio.h>`和`<mach/board.h>`被替换为通用的`<linux/of_gpio.h>`,表明平台向Device Tree的转换,使得内核更加标准化和灵活。
接下来,文档列举了几个常用模块的改动:
- **LCD/BL**:液晶显示屏和背光控制的驱动可能需要更新,以适配新的内核接口,并通过DTS来配置。
- **TP**:触摸屏驱动的更新,确保在新内核中能正确识别和交互。
- **POWER**:电源管理模块的改动,可能包括电池管理、充电控制等,以兼容新的内核电源框架。
- **SENSORS**:传感器驱动的移植,这些驱动通常位于`drivers/input/sensors`目录下,根据DTS中的配置信息工作。
- 驱动需要获取的信息,如传感器类型、中断号、GPIO等,通过DTS文件传递给驱动。
关于Device Tree(DTS):
- **dts/dtsi**:DTS是设备树的源文件,用来描述硬件平台的结构,dtsi则是可重用的部分。在RK平台中,可能包含多个dtsi文件来组织不同组件的描述。
- **rk平台集成的dtsi**:平台特有的dtsi文件,用于定义特定于RK平台的硬件特性。
- **dts编写规范和注意事项**:包括如何正确描述硬件节点、属性值、内存映射等,遵循一定的编码规则以保证内核能正确解析。
- **如何编译生成新的kernel.img**:描述了构建过程,将DTS编译成二进制设备树 blob(dtb)并整合到内核映像中。
Dts引发的驱动变更:
- **驱动与dts通信**:驱动程序通过内核的Device Tree API来读取dts中的信息,实现硬件初始化。
- **注册i2c_board_info**:在DTS中定义I2C设备后,驱动可以使用`i2c_board_info`结构注册,指定IRQ等板级信息。
- **注册platfrom_device**:对于平台设备,驱动会绑定到由DTS定义的资源,如内存和中断。
这个文档详细地阐述了在RK平台上移植3.10内核所涉及的各个方面,包括系统层的改动、模块驱动的更新以及Device Tree的使用,为开发者提供了全面的移植指南。
2018-12-04 上传
2021-05-11 上传
2021-05-14 上传
2021-05-25 上传
2021-05-25 上传
2021-05-24 上传
2021-05-24 上传
weixin_38722052
- 粉丝: 4
- 资源: 911
最新资源
- JavaScript实现的高效pomodoro时钟教程
- CMake 3.25.3版本发布:程序员必备构建工具
- 直流无刷电机控制技术项目源码集合
- Ak Kamal电子安全客户端加载器-CRX插件介绍
- 揭露流氓软件:月息背后的秘密
- 京东自动抢购茅台脚本指南:如何设置eid与fp参数
- 动态格式化Matlab轴刻度标签 - ticklabelformat实用教程
- DSTUHack2021后端接口与Go语言实现解析
- CMake 3.25.2版本Linux软件包发布
- Node.js网络数据抓取技术深入解析
- QRSorteios-crx扩展:优化税务文件扫描流程
- 掌握JavaScript中的算法技巧
- Rails+React打造MF员工租房解决方案
- Utsanjan:自学成才的UI/UX设计师与技术博客作者
- CMake 3.25.2版本发布,支持Windows x86_64架构
- AR_RENTAL平台:HTML技术在增强现实领域的应用