第九章 理一理驱动程序的编写-9.2-9.4pinctrl子系统和gpio子系统再理解

承接:第九章 理一理驱动程序的编写

目录

9.2.什么是pinctrl子系统?

9.3.什么是gpio子系统?

9.4.gpio和pinctrl子系统怎么编写?

9.5 2个子系统是怎么被内核调用的?


9.2.什么是pinctrl子系统?

    pinctrl子系统主要用来设置pin的复用功能以及电气特性。参考STM32中用来配置引脚复用和电气特性时使用如下代码:

/*开启引脚复用功能PB14/PB15*/
GPIO_PinAFConfig(GPIOB, GPIO_PinSource14, GPIO_AF_9);
GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_9);
/*引脚的配置PB14/PB15*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14|GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOB,&GPIO_InitStructure);	

    pinctrl就是把上面的这些类似的代码简化为简单的语句,看下需要怎么简化。之前问过自己4个问题其实是3个问题:pinctrl是什么?怎么写?怎么用?

    pinctrl是什么?已经知道了。

    怎么写?参考文档如下图,之前分析过这些,感觉还是没有理清楚,重新理顺一下并用简练的语言把pinctrl总结出来。

    原谅我是初学对Linux系统的专有术语还不太清楚,只能用通俗的话来描述专业的东西。

    fsl,imx-pinctrl.txt,因为手里的单板是imx6ull所以先看了fsl,imx-pinctrl.txt,核心内容就是描述IOMUX Controller (IOMUXC)在设备树中是一个节点(node),用来选择引脚复用功能和配置引脚电气特性,涉及2个properties:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值