![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Liunx 学习
本专栏记录 自己的 liunx 学习相关的东西
Kbattery
这个作者很懒,什么都没留下…
展开
-
rk3399 client 使用 Pincontroller 的过程
涉及的文件:kernel/drivers/base/dd.ckernel/drivers/base/pinctrl.ckernel/drivers/pinctrl/core.ckernel/drivers/pinctrl/devicetree.ckernel/drivers/pinctrl/pinctrl-rockchip.c代码调用流程:really_probe pinctrl_bind_pins dev->pins->p = devm_pinctrl_get(dev);原创 2021-07-01 18:07:52 · 233 阅读 · 0 评论 -
rk3399 Pincontroller 构造过程分析
主要涉及的文件:kernel/drivers/pinctrl/pinctrl-rockchip.c情景分析:最终引脚的信息会保存在rockhip_pin_config 结构体中代码调用流程:rockchip_pinctrl_probe rockchip_pinctrl_register rockchip_pinctrl_parse_dt info->functions = devm_kzalloc(dev, info->nfunctions * s原创 2021-07-01 18:07:23 · 158 阅读 · 0 评论 -
rk3399 pinctrl子系统的使用及重要的数据结构
一, 作用1,引脚的枚举与命名2,引脚复用3,引脚的配置二,使用示例2.1,pincontroller设备树信息pinctrl: pinctrl { compatible = "rockchip,rk3399-pinctrl"; rockchip,grf = <&grf>; rockchip,pmu = <&pmugrf>; #address-cells = <0x2>; #size-cells = <0x2>;原创 2021-07-01 18:05:43 · 983 阅读 · 0 评论 -
Liunx-字符设备
应用程序调用open,read,write 这些函数,是怎么调用到驱动中的drv_open,drv_read,drv_write 中呢?要弄清楚这个问题,只要搞清以下几点:1,当应用程序调用open 这些函数,系统怎么知道,打开的是普通文件,还是要调用字符设备驱动中的drv_open函数呢?2,当知道要调用设备驱动中的函数之后,内核怎么知道调用的是哪个驱动中的函数呢?先看一下设备属性:crw-rw-rw- 1 root root 5, 0 1970-01-01 08:00 ttyc:设备类型原创 2021-03-23 11:04:46 · 88 阅读 · 0 评论