打印
[嵌入式Linux]

RK3128 Android4.4 驱动分析

[复制链接]
617|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
幽魂|  楼主 | 2019-9-25 17:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
RK3128 4.4驱动分析

1、配置文件
关于 dts 文件描述
瑞芯微平台上所有的 gpio 资源都是描述在 dts 文件当中

dts 文件一般存放在 kernel 目录下 arch/arm/boot/dts/ 里面
全志平台的配置文件 一般为 sys_config.fex
存放路径 lichee/brandy/pack/chips/sun8iw1p1/configs/android/
配置文件主要功能是用来统一管理 cpu 平台资源,方便查看和修改


2、修改配置文件
新增 gpio 管脚控制,描述如下,使用了 GPIO0_B0/GPIO0_D2/GPIO3_C5
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: 表示关闭

驱动探测函数当中匹配的名字为:WorkLed
static const struct of_device_id of_workled_match[] = {
{ .compatible = "WorkLed", },
{},
};

usb 配置描述:
usb0: usb@10180000 {
                /*0 - Normal, 1 - Force Host, 2 - Force Device*/
                /*change yue 1--->0 for adb shell*/
//              rockchip,usb-mode =<0>;

0:表示adb 调试模式  1 : 主机模式,可以外挂u盘、鼠标等


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 串口驱动

来源http://www.sunychip.com/content-100.html



使用特权

评论回复

相关帖子

沙发
onlooker123| | 2020-4-17 15:18 | 只看该作者
谢谢分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

103

帖子

1

粉丝