rk3128 android4.4 平台内核驱动分析
来源:互联网 发布:c语言编写的交易程序 编辑:程序博客网 时间:2024/05/17 01:17
一、rk3128 android4.4 平台
主要用来做电视盒
二、内核目录结构
├── android android基本配置参数
├── arch 各个体系下内核引导代码
├── block 块设备驱动代码
├── COPYING
├── CREDITS
├── crypto 加密算法
├── Documentation
├── drivers 驱动代码
├── firmware 内核使用,需要文件系统支持
├── fs 文件系统
├── include 头文件
├── init 内核通用的引导代码
├── ipc ipc 函数
├── Kbuild
├── Kconfig
├── kernel 内核通用函数接口
├── kernel.img
├── lib 内核使用的lib库函数接口
├── linaro
├── logo.bmp
├── logo_kernel.bmp
├── MAINTAINERS
├── Makefile
├── mkkrnlimg
├── mm 内存管理代码
├── modules.order
├── Module.symvers
├── net 通用的网络协议层代码
├── pack-kernel.sh
├── pie
├── README
├── REPORTING-BUGS
├── resource.img
├── resource_tool
├── samples
├── scripts
├── security linux安全防护代码
├── sound 声卡驱动
├── System.map
├── tools 工具
├── usr
├── virt
├── vmlinux
└── vmlinux.o
三、重点关注如下
1、配置文件
瑞芯微平台上所有的 gpio 资源都是描述在 dts 文件当中
dts 文件一般存放在 kernel 目录下 arch/arm/boot/dts/ 里面
全志平台的配置文件 一般为 sys_config.fex
存放路径 lichee/brandy/pack/chips/sun8iw1p1/configs/android/
配置文件主要功能是用来统一管理 cpu 平台资源,方便查看和修改
2、修改配置文件
work_led{
compatible = "WorkLed";
RED = <&gpio0 GPIO_B0 GPIO_ACTIVE_LOW>;
GREEN = <&gpio0 GPIO_D2 GPIO_ACTIVE_LOW>;
BULE = <&gpio3 GPIO_C5 GPIO_ACTIVE_LOW>;
status = "okay";
};
compatible 为驱动当中平台总线匹配的名字 “WorkLed”
RED = <&gpio0 GPIO_B0 GPIO_ACTIVE_LOW>;
描述的管脚名称为 RED, 管脚 IO 为: gpio 0 组,B0 这个管脚
status : 资源的状态状态,okay :表示使能 disable: 表示关闭
static const struct of_device_id of_workled_match[] = {
{ .compatible = "WorkLed", },
{},
};
/*0 - Normal, 1 - Force Host, 2 - Force Device*/
/*change yue 1--->0 for adb shell*/
// rockchip,usb-mode = <0>;
3、驱动相关
1、drivers/rtc/rtc-rk818.c 电源管理芯片驱动,主要实现电源定时开关机
2、drivers/input/keyboard/rk_keys.c 瑞芯微标准的按键驱动代码
3、drivers/leds/leds-gpio.c 瑞芯微标准的工作指示灯驱动代码
4、drivers/input/touchscreen/rk29_i2c_goodix.c 触摸代码 (可参看里面的代码,编写自己的I2C驱动)
5、sound/soc/codecs/snd-soc-rk312x.c 平台上用的是CPU内置的声卡
6、sound/tty/serial/rk_serial.c 串口驱动
- rk3128 android4.4 平台内核驱动分析
- rk3128 平台rk818电源管理驱动移植
- Rk3128 按键驱动
- 按键驱动-RK3128
- Android4.0 USB挂载内核驱动层流程分析(一)
- Android4.0 USB挂载内核驱动层流程分析(二)
- Android4.0 USB挂载内核驱动层流程分析(三)
- Android4.0 USB挂载内核驱动层流程分析(一)
- Android4.0 USB挂载内核驱动层流程分析(二)
- Android4.0 USB挂载内核驱动层流程分析(三)
- rk3128 lcd 驱动调试记录
- i2c内核驱动分析
- android4.0平台service程序分析
- 平台设备驱动分析
- 平台设备驱动分析
- Linux平台驱动分析
- Linux内核驱动之网络驱动(4)PHY芯片分析
- Android4.4编译自定义内核
- eclipse,代码中有错误,项目中却不显示红叉
- socket 错误码
- jsp+javascript实现动态下拉二级联动(select+option)
- 剑指Offer----面试题28----扩展:从1到n中随意取若干数使之与某一数相等
- AndroidStudio下托管代码到SVN的简单几步
- rk3128 android4.4 平台内核驱动分析
- BLE开发入门
- 解决【Windows Management Instrumentation(WMI)信息可能损坏】
- uva10763 - Foreign Exchange
- 链表合并
- LCP104 LeetCode 104. Maximum Depth of Binary Tree
- Codeforces 597A: Divisibility(技巧)
- Java 字符串的处理
- Solftmax解析