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

网站建设推广什么意思什么是百度快照

网站建设推广什么意思,什么是百度快照,企业网上推广方式,机械加工网纹标准总结 pinctrl作为驱动 iomuxc节点在设备树里面 存储全部所需的引脚配置信息 iomux节点匹配pinctrl子系统 控制硬件外设的时候 要知道有哪些gpio 再看gpio有哪些服用寄存器 接着在程序配置gpio相关寄存器 这样搞效率很低 所以用iomux节点保存所有的引脚组 pinctrl驱动起来的时…

总结

pinctrl作为驱动
iomuxc节点在设备树里面 存储全部所需的引脚配置信息

iomux节点匹配pinctrl子系统

控制硬件外设的时候 要知道有哪些gpio 再看gpio有哪些服用寄存器
接着在程序配置gpio相关寄存器 这样搞效率很低
所以用iomux节点保存所有的引脚组 pinctrl驱动起来的时候获得所有引脚信息 保存在内存

pinctrl子系统预先确定引脚的数量和名字

  • 为每个引脚的配置信息分配内存
  • pinctrl子系统统一管理每个引脚的使用状态
    -iomux节点存放了各种引脚属性,pinctrl驱动解析iomux节点,存放引脚信息进入内存

iomux节点里如何填写

//iomuxc节点
//imx6ull.dtsi
iomuxc: iomuxc@20e0000 {compatible = "fsl,imx6ul-iomuxc";reg = <0x20e0000 0x4000>;};
//继续扩展 引用iomux节点 **imx6ull-seeed-npi.dts**
&iomuxc {pinctrl-names = "default""init","sleep";  //选定引脚状态pinctrl-0 = <&pinctrl_uart1>;  //一个状态就是一组引脚,比如对应下面pinctrl-1 =<&xxx>;pinctrl-2 =<&yyy>;
...pinctrl_uart1: uart1grp {fsl,pins = <MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0x1b0b1MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX 0x1b0b1>;};...
}

上面 引脚里面的宏是什么意思

MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX
#define MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0x0084 0x0310 0x0000 0 0
< mux_reg conf_reg input_reg mux_mode input_val >0x0084    0x0310    0x0000     0x0      0x0

mux_reg:引脚复用设置寄存器 基地址+mux_reg 就是 PIN 的复用寄存器地址。
conf_reg : 设置这个引脚的电气属性的寄存器地址 基地址+conf_reg =设置pin的电气属性地址
input_reg:引脚输入设置寄存器 有些外设有 input_reg 寄存器
引脚需要输入功能时设置
mux_mode:复用寄存器设置值
设置引脚复用
input_val:输入寄存器设置值
设置引脚输入特性

宏的最后跟随了一串数字 用来设置PIN的电气属性值 比如IO 的上/下拉、驱动能力和速度等
在这里插入图片描述
在这里插入图片描述

引脚状态初始化

在设备树里面节点 会变成plantform_dev 会执行probe进行匹配驱动
但是执行probe和drv配对之前 先回执行really_porbe() 这个函数和下面的引脚状态关系很大
用来初始化引脚值

//iomuxc节点
//imx6ull.dtsi
iomuxc: iomuxc@20e0000 {compatible = "fsl,imx6ul-iomuxc";reg = <0x20e0000 0x4000>;};
//继续扩展 引用iomux节点 **imx6ull-seeed-npi.dts**
&iomuxc {pinctrl-names = "default""init","sleep";  //选定引脚状态pinctrl-0 = <&pinctrl_uart1>;  //一个状态就是一组引脚,比如对应下面pinctrl-1 =<&xxx>;pinctrl-2 =<&yyy>;
...pinctrl_uart1: uart1grp {fsl,pins = <MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0x1b0b1MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX 0x1b0b1>;};...
}

还是用上一个设备树举例 看了下面的例子
就知道驱动的引脚其实在 probe之前就已经初始化好了电气属性了

drivers/base/dd.c
static int really_probe(struct device *dev, struct device_driver *drv)
{int ret = -EPROBE_DEFER;
...
re_probe:dev->driver = drv;ret = pinctrl_bind_pins(dev);  //这里根据iomux节点的 几个引脚状态来初始化引脚组
...if (dev->bus->probe) {ret = dev->bus->probe(dev);if (ret)goto probe_failed;} else if (drv->probe) {ret = drv->probe(dev); //这个是熟悉的probeif (ret)goto probe_failed;}...}
int pinctrl_bind_pins(struct device *dev)dev->pins->default_state = pinctrl_lookup_state(dev->pins->p,PINCTRL_STATE_DEFAULT);//从设备节点状态找到指定状态//本次是default状态dev->pins->init_state = pinctrl_lookup_state(dev->pins->p,PINCTRL_STATE_INIT); /这次找init状态if (IS_ERR(dev->pins->init_state))pinctrl_select_state(dev->pins->p,dev->pins->default_state);//没有init状态变成default状态elseret = pinctrl_select_state(dev->pins->p, dev->pins->init_state);//有的话引脚变成init状态
http://www.ds6.com.cn/news/24711.html

相关文章:

  • 做网站租什么服务器百度投放广告
  • 网站管理系统图片武汉seo霸屏
  • 兰州网站建设网站排名怎么做上去
  • 手机网站开发报价重庆公司seo
  • 项目建设管理 公司 网站免费加客源软件
  • 做一个网站后期维护需要多少钱爱站网长尾挖掘工具
  • 博优云软件官方网站seo专业培训课程
  • 网站开发建设成本天津seo培训机构
  • 福田祥菱m2怎么样唐山百度搜索排名优化
  • 桂林旅游网站制作公司网站服务器地址查询
  • 做3d ppt模板下载网站有哪些下载百度app并安装
  • 意见反馈的网站怎么做市场营销策划案例经典大全
  • 网站运营怎么学下载百度官方网站
  • 国外哪些做问卷的网站千锋教育培训多少钱
  • 广州seo招聘信息深圳百度快速排名优化
  • 先做网站还是先收集样品泰安百度推广电话
  • 网站排名带照片怎么做网站推广计划方法
  • wordpress4.9.8升级包seo优化教程培训
  • 企业网站内容如何搭建域名注册商怎么查
  • wordpress中文是什么?seo百度站长工具
  • 政府网站 banner flash湘潭网站定制
  • 网站建设所需的基本内容百度推广关键词和创意
  • 西红门网站建设公司湖南长沙seo
  • 网站建设 首选百川互动搞一个公司网站得多少钱
  • 网站怎么做移动端适配百度电脑版下载安装
  • 建设校园门户网站信息意义企业策划
  • 律师网站维护陕西seo优化
  • 广州做网站服务谷歌在线浏览器免费入口
  • 做网站推广的难点正规培训机构有哪些
  • 专业的手机网站建设西安高端网站建设公司