当前位置: 首页 > news >正文

Linux中pinctrl使用

一.背景
高通平台如果IO为EGPIO,需要在添加pinctrl配置成gpio模式才能正常读写;
有些场景需要切换复用的pin脚功能,需要使用pinctrl;


二.Pinctrl接口
#include <linux/pinctrl/consumer.h>
#include <linux/platform_device.h>
struct pinctrl *p;
struct pinctrl_state *active_state;

devm_pinctrl_get();            //获取设备的pin contro句柄;
pinctrl_lookup_state();       //根据名称查找pin control状态;
pinctrl_select_state()    ;    //切换到指定状态


三. 案例代码

3.1 vendor/qcom/proprietary/devicetree-4.19/qcom/bengal-pinctrl.dtsi

pogo_gpio104_active: pogo_gpio104_active {/* gpio104*/mux {pins = "gpio104";function = "gpio";};config {pins = "gpio104";bias-disable; /* No PULL */drive-strength = <2>; /* 2 MA */};};		pogo_gpio104_suspend: pogo_gpio104_suspend {/* gpio104*/mux {pins = "gpio104";function = "gpio";};config {pins = "gpio104";bias-pull-down; /* PULL DOWN */drive-strength = <2>; /* 2 MA */};};

3.2 vendor/qcom/proprietary/devicetree-4.19/qcom/bengal-qrd.dtsi

	un_gpio{compatible = "qcom,un-gpio";		pinctrl-names = "pogo_active", "pogo_suspend";pinctrl-0 = <&pogo_gpio104_active>;pinctrl-1 = <&pogo_gpio104_suspend>; 				qcom,gpio_5v_enable = <&tlmm 104 0x00>;}

3.3 kernel/msm-4.19/drivers/un_gpio/un_gpio.c

	p=devm_pinctrl_get(&pdev->dev);default_state = pinctrl_lookup_state(p, "pogo_default");suspend_state = pinctrl_lookup_state(p, "pogo_suspend");pinctrl_select_state(p,default_state); //唤醒时配置gpio模式、No pull、驱动电流2mApinctrl_select_state(p,suspend_state); //休眠时配置gpio模式、Pull down、驱动电流2mA

http://www.dtcms.com/a/500235.html

相关文章:

  • 网站建设设计说明医疗器械网站建设方案
  • 网站建设 主机选择快照打开是网站网站
  • 从零构建RAG知识库管理系统(三)
  • 网站建设制作小程序开发wordpress 标点排版
  • 【单调栈 离散化】P10798 「CZOI-R1」消除威胁|普及+
  • 邵武建设局网站wordpress多用户博客
  • (Kotlin高级特性三)Kotlin密封类(Sealed Class)在何时比枚举更适用?
  • kalibr进行相机内参以及相机imu的融合标定
  • 最简单的做网站工具网站发外链的好处
  • 北京神州网站建设xxx网站策划书
  • linux开启bbr网络优化
  • 前后端路径处理完整指南:从零开始理解Web开发中的路径问题
  • 为什么网站要备案头条新闻 免费下载
  • 汇通网做期货的网站做期货的网站软件开发平台 devcloud
  • 专门做橱柜衣柜效果图的网站青海网站建设怎么建设
  • 算法沉淀第六天(牛客小白月赛122 和 Codeforces Round 1059 (Div. 3))
  • 网站建设与维护蒋勇从前端开发培训机构有哪些
  • 网站建设后的心得浙江省建设通网站
  • Git的多人协作
  • 成都开发网站建设怎么下载应用商店
  • 14-哈希SHA1案例:宝钢
  • Python数据分析:小实例,数人头
  • 单页面网站怎么做软件项目开发文档模板
  • 松岗营销型网站建设软文范例大全
  • 本地网站建设方案信息大全网站数据迁移教程
  • 麦肯锡:从「AI价值悖论」到代理式 AI 的产业化落地
  • 金华市建设技工学校教育培训网站什么是网站建设整体策划方案
  • C++动态规划入门指南——助力CSP竞赛夺冠(加强版)
  • 【前端高级特效】使用 CSS 实现毛玻璃模糊背景效果(含完整源码讲解)
  • 网站备案花钱么培训学校网站