[imx6][Linux4.9]IMX6平台 pinctrl子系统

news2024/9/25 13:17:17

在这里插入图片描述

文章目录

    • 1、Pinctrl 子系统
      • 1.1、Pinctrl 子系统的作用
      • 1.2、设备树中PIN的配置信息
      • 1.2、设备树中PIN的配置信息中的复用信息解析
      • 1.3、PINCTRL子系统驱动

主控芯片硬件开发板内核版本
imx6100ask_imx6ullLinux-4.9.88

1、Pinctrl 子系统

1.1、Pinctrl 子系统的作用

  • 获取设备树中的pin信息;
  • 根据获取到的pin信息来设置pin的复用功能;
  • 根据获取到的pin信息来设置pin的电气特性。

1.2、设备树中PIN的配置信息

设备树里面创建一个节点来描述 GPIO PIN 的配置信息:
设备树文件目录:Linux-4.9.88/arch/arm/boot/dts/imx6ull.dtsi
在这里插入图片描述
iomuxc 节点进行数据的追加:

&iomuxc {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_hog_1>;
        imx6ul-evk {
                pinctrl_hog_1: hoggrp-1 {
                        fsl,pins = <
                                MX6UL_PAD_UART1_RTS_B__GPIO1_IO19       0x17059 /* SD1 CD */
                                MX6UL_PAD_GPIO1_IO00__ANATOP_OTG1_ID    0x17059 /* USB OTG1 ID */
                                MX6UL_PAD_CSI_DATA07__GPIO4_IO28           0x000010B0
                                MX6ULL_PAD_SNVS_TAMPER5__GPIO5_IO05        0x000110A0
                        >;
                };
                ......
                pinctrl_i2c1: i2c1grp {
                        fsl,pins = <
                                MX6UL_PAD_UART4_TX_DATA__I2C1_SCL 0x4001b8b0
                                MX6UL_PAD_UART4_RX_DATA__I2C1_SDA 0x4001b8b0
                        >;
                };
                ......
		}
}

1.2、设备树中PIN的配置信息中的复用信息解析

MX6UL_PAD_UART1_RTS_B__GPIO1_IO19       0x17059

这个宏定义在:Linux-4.9.88/arch/arm/boot/dts/imx6ul-pinfunc.h

                                                    /* <mux_reg  conf_reg  input_reg  mux_mode input_val> */
#define MX6UL_PAD_UART1_RTS_B__GPIO1_IO19               0x0090   0x031c    0x0000     5        0

从芯片手册:IMX6ULLRM.pdf可知

  • mux_regSW_MUX_CTL_PAD_UART1_RTS_B偏移地址:0x0090

  • mux_mode5代表为普通GPIO模式
    在这里插入图片描述

  • conf_regIOMUXC_SW_PAD_CTL_PAD_UART1_RTS_B 偏移地址:0x031c

  • 0x17059 就是 conf_reg 寄存器值,对应二级制为:10111000001011001
    在这里插入图片描述

1.3、PINCTRL子系统驱动

文件目录:Linux-4.9.88/drivers/pinctrl/freescale/pinctrl-imx6ul.c
文件目录:Linux-4.9.88/rivers/pinctrl/freescale/pinctrl-imx.c

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1403658.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

论文阅读_tinyllama_轻量级大模型

英文名称: TinyLlama: An Open-Source Small Language Model中文名称: TinyLlama: 一个开源的小型语言模型链接: http://arxiv.org/abs/2401.02385v1代码: https://github.com/jzhang38/TinyLlama作者: Peiyuan Zhang, Guangtao Zeng, Tianduo Wang, Wei Lu机构: 新加坡科技与设…

数据库(银行数据库表构建)

题目&#xff1a; 通过所提供的E-R图和数据库模型图完成库表的创建&#xff0c;并插入适量的数据.要求必须使用SQL命令进行构建。 表1 UserInfo **建表** CREATE TABLE USERINFO (customerID INT AUTO_INCREMENT COMMENT 客户编号,customerName CHAR(50) CHARACTER SET utf8mb…

Ubuntu虚拟内存设置-----必成功!!!

&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;下面实例是32G的方式&#xff0c;其他的注意修改count和对应的数值&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 使用 dd 命令…

c语言-实现动态内存管理的库函数

文章目录 前言一、什么是动态内存分配&#xff1f;二、malloc()和free()2.1 malloc()介绍2.2 malloc()的使用2.3 free()介绍 三、calloc()3.1 calloc()介绍3.2 calloc()使用 四、realloc()4.1 realloc()介绍4.2 realloc()使用 总结 前言 本篇文章介绍c语言中实现动态内存管理的…

【C++】string的基本使用二

我们接着上一篇的迭代器说起&#xff0c;迭代器不只有正向的&#xff0c;还有反向的&#xff0c;就是我们下边的这两个 它的迭代器类型也是不同的 rbegin就是末尾&#xff0c;rend就是开头&#xff0c;这样我们想遍历一个string对象的话就可以这样做 int main() {string s1(…

《WebKit 技术内幕》学习之七(4): 渲染基础

4 WebKit软件渲染技术 4.1 软件渲染过程 在很多情况下&#xff0c;也就是没有那些需要硬件加速内容的时候&#xff08;包括但不限于CSS3 3D变形、CSS3 03D变换、WebGL和视频&#xff09;&#xff0c;WebKit可以使用软件渲染技术来完成页面的绘制工作&#xff08;除非读者强行…

【分布式技术】注册中心zookeeper

目录 一、ZooKeeper是什么 二、ZooKeeper的工作机制 三、ZooKeeper特点 四、ZooKeeper数据结构 五、ZooKeeper应用场景 ●统一命名服务 ●统一配置管理 ●统一集群管理 ●服务器动态上下线 ●软负载均衡 六、ZooKeeper的选举机制 七、实操部署ZooKeeper集群 步骤一…

《WebKit 技术内幕》学习之五(1): HTML解释器和DOM 模型

第五章 HTML 解释器和 DOM 模型 1.DOM 模型 1.1 DOM标准 DOM &#xff08;Document Object Model&#xff09;的全称是文档对象模型&#xff0c;它可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。这里的文档可以是 HTML 文档、XML 文档或者 XHTML 文档。D…

MarkDown学习笔记 直观全面详细

前言 为什么我们要学习Markdown呢&#xff1f;因为Markdown简单易学易上手&#xff0c;可以以纯文本格式编写文档&#xff0c;然后转换成有效的HTML文档&#xff0c;并且以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档&#xff0c;许多网站平台的文章、博客、论文均可…

将输入框的数据输出成json

刚学&#xff0c;做一下记录 先上效果图&#xff0c;来不及解释了&#xff0c;后面再说 源码&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1pV8hDVwpB1kresHag7gIew 提取码&#xff1a;**** 操作&#xff1a; 进入项目目录下&#xff0c;cmd 清除npm缓存&#xff1…

Java并发基础:Executor接口和Executors类的区别

Executor是Java中的一个接口&#xff0c;它定义了一种将任务提交与任务执行机制&#xff08;包括线程管理、调度等&#xff09;分离的方式&#xff0c;Executors是一个工具类&#xff0c;它提供了多个静态工厂方法&#xff0c;用于创建不同类型的Executor实例。 代码案例 下面…

国家急救日倡议活动暨120急救大课堂公益培训在京成功举办

2024年1月20日&#xff0c;由国家卫生健康委员会等多个相关部门指导&#xff0c;中国医院协会急救中心&#xff08;站&#xff09;分会主办&#xff0c;北京急救中心承办的“国家急救日”倡议活动暨急救科普大课堂公益培训系列活动&#xff0c;在全国范围内启动。 健康中国行动…

AI企业知识库:企业智慧之源,引领未来发展

AI企业知识库作为优秘智能的核心技术&#xff08;shuziren06&#xff09;&#xff0c;具有许多引人注目的功能和特点。接下来让我们深入探讨一下AI企业知识库如何在实际应用中助力企业。以下是对AI企业知识库的更详细介绍&#xff1a; 1. 强大的知识整合能力 AI企业知识库能够…

智慧校园大数据应用系统介绍(2)

OA办公管理系统 教育OA管理系统,是为配合学校内部办公自动化的实施而研发的一套稳定、安全、灵活、实用的办公自动化管理系统。该系统结构精明实用;功能模块灵活稳定;设计人性化、使用简单化且扩展性强。系统由通知,信息采集,工作计划,公文流转、听课反馈、行政护导、资…

ML Design Pattern——I see

ML Life Cycle MLOps ML Pipelines Fully automated processes ML Design Patterns Reading the book? 链接&#xff1a;https://pan.baidu.com/s/1MgOSHASAOJ0EVhMYmT9QeQ?pwd96uk 提取码&#xff1a;96uk

即时按需原子 CSS 引擎:比 Tailwind JIT 快 5 倍! | 开源日报 No.149

unocss/unocss Stars: 14.6k License: MIT 该项目是一个即时的按需原子 CSS 引擎&#xff0c;受到 Windi CSS、Tailwind CSS 和 Twind 的启发&#xff0c;解决了定制化、速度和体积的问题。 以下是该项目的特点和核心优势&#xff1a; 完全可定制&#xff1a;通过预设提供所…

阿里巴巴开源联邦学习框架FederatedScope

5月5日&#xff0c;阿里巴巴达摩院发布新型联邦学习框架FederatedScope&#xff0c;声称可以在不共享训练数据的情况下开发机器学习算法&#xff0c;从而保护隐私。&#xff0c;其源代码现已在Apache 2.0许可下发布在GitHub上。 介绍 该平台被描述为一个全面的联邦学习框架&a…

Day16 linuxC高级(存储类型 linux命令 shell命令)

文章目录 C补充标识常量存储类型1.auto // 自动型2.static&#xff1a;修饰变量和函数 // 静态型3.extern&#xff1a;外部引用4.register&#xff1a;寄存器类型 LinuxC高级简介&#xff1a;嵌入式系统(将软件嵌入到硬件里面)Linux起源查看操作系统版本内核系统架构系统关机或…

阿里云优惠券领取入口、使用方法和限制条件,2024最新

阿里云优惠代金券领取入口&#xff0c;阿里云服务器优惠代金券、域名代金券&#xff0c;在领券中心可以领取当前最新可用的满减代金券&#xff0c;阿里云百科aliyunbaike.com分享阿里云服务器代金券、领券中心、域名代金券领取、代金券查询及使用方法&#xff1a; 阿里云优惠券…

Python Process创建进程(2种方法)详解

虽然使用 os.fork() 方法可以启动多个进程&#xff0c;但这种方式显然不适合 Windows&#xff0c;而 Python 是跨平台的语言&#xff0c;所以 Python 绝不能仅仅局限于 Windows 系统&#xff0c;因此 Python 也提供了其他方式在 Windows 下创建新进程。 Python 在 multiproces…