前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >05_Pincontroller构造过程情景分析_基于IMX6ULL

05_Pincontroller构造过程情景分析_基于IMX6ULL

作者头像
韦东山
发布2021-12-08 11:04:28
4760
发布2021-12-08 11:04:28
举报
文章被收录于专栏:韦东山嵌入式

资料下载

coding无法使用浏览器打开,必须用git工具下载:

代码语言:javascript
复制
git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git

视频观看

百问网驱动大全

Pincontroller构造过程情景分析_基于IMX6ULL

参考资料:

  • Linux 4.x内核文档
    • Documentation\pinctrl.txt
    • Documentation\devicetree\bindings\pinctrl\pinctrl-bindings.txt
    • arch/arm/boot/dts/imx6ull-14x14-evk.dts
    • arch/arm/boot/dts/100ask_imx6ull-14x14.dts
    • drivers\pinctrl\freescale\pinctrl-imx6ul.c
    • drivers\pinctrl\freescale\pinctrl-imx.c

1. 设备树

在这里插入图片描述
在这里插入图片描述

2. 驱动代码执行流程

驱动程序位置:

代码语言:javascript
复制
drivers\pinctrl\freescale\pinctrl-imx6ul.c
drivers\pinctrl\freescale\pinctrl-imx.c

调用过程:

代码语言:javascript
复制
imx6ul_pinctrl_probe
    imx_pinctrl_probe(pdev, pinctrl_info);
        imx_pinctrl_desc->name = dev_name(&pdev->dev);
        imx_pinctrl_desc->pins = info->pins;
        imx_pinctrl_desc->npins = info->npins;
        imx_pinctrl_desc->pctlops = &imx_pctrl_ops;
        imx_pinctrl_desc->pmxops = &imx_pmx_ops;
        imx_pinctrl_desc->confops = &imx_pinconf_ops;
        imx_pinctrl_desc->owner = THIS_MODULE;
		
		ret = imx_pinctrl_probe_dt(pdev, info);

        ipctl->pctl = devm_pinctrl_register(&pdev->dev,
                            imx_pinctrl_desc, ipctl);

3. 作用1:描述、获得引脚:解析设备树

3.1 单个引脚
代码语言:javascript
复制
	imx_pinctrl_desc->pins = info->pins;
	imx_pinctrl_desc->npins = info->npins;

可以在开发板上查看:

代码语言:javascript
复制
/sys/kernel/debug/pinctrl/20e0000.iomuxc]# cat pins
3.2 某组引脚
代码语言:javascript
复制
static const struct pinctrl_ops imx_pctrl_ops = {
	.get_groups_count = imx_get_groups_count,
	.get_group_name = imx_get_group_name,
	.get_group_pins = imx_get_group_pins,
	.pin_dbg_show = imx_pin_dbg_show,
	.dt_node_to_map = imx_dt_node_to_map,
	.dt_free_map = imx_dt_free_map,

};

某组引脚中,有哪些引脚?这要分析设备树:imx_pinctrl_probe_dt。

代码语言:javascript
复制
[root@100ask:/sys/kernel/debug/pinctrl/20e0000.iomuxc]# cat pingroups
3.3 设备树解析情景分析

分析:imx_pinctrl_probe_dt

4. 作用2:引脚复用

下节视频讲解。

5. 作用3:引脚配置

下节视频讲解。

设备树解析情景分析

分析:imx_pinctrl_probe_dt

4. 作用2:引脚复用

下节视频讲解。

5. 作用3:引脚配置

下节视频讲解。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/08/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 资料下载
  • 视频观看
  • Pincontroller构造过程情景分析_基于IMX6ULL
    • 1. 设备树
      • 2. 驱动代码执行流程
        • 3. 作用1:描述、获得引脚:解析设备树
          • 3.1 单个引脚
          • 3.2 某组引脚
          • 3.3 设备树解析情景分析
        • 4. 作用2:引脚复用
          • 5. 作用3:引脚配置
            • 4. 作用2:引脚复用
              • 5. 作用3:引脚配置
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档