U-Boot 之九 详解 Pinctrl 子系统、命令、初始化流程、使用方法

  嵌入式芯片中,引脚复用是一个非常常见的功能,U-Boot 提供一个类似 Linux Kernel 的 Pinctrl 子系统来处理引脚复用功能。正好最近用到了这部分功能,需要移植 Pinctrl 驱动,特此记录一下学习过程。

架构

  U-Boot 提供一个类似 Linux Kernel 的 Pinctrl 子系统,用来统一各芯片厂商的引脚管理。注意,在 U-Boot 中,PINCTRL、IOMUX、PINMUX 通常是一个意思,均可以指 Pinctrl 子系统。要启用 Pinctrl 子系统,必须配置如下所示的配置项:

  • CONFIG_PINCTRL:全局开关
  • CONFIG_PINCTRL_FULL:这为 Pinctrl 子系统提供了与 Linux 兼容的设备树接口(直接解析 linux Kernel 设备树中的 Pinctrl 配置)。此功能取决于设备树配置,因为它解析了设备树以寻找外围设备与之关联的 Pinctrl 设备。
  • CONFIG_PINCTRL_STM32: 我这里的 STM32F769I-EVAL 开发板实际使用的 Pinctrl 驱动,根据自己的开发板来选择的。
    在这里插入图片描述
  • CONFIG_PINCTRL_xx:其他一些与 Pinctrl 功能相关的配置项,根据自己的需要来启用

  U-Boot 还提供了一个通用 Pinctrl 框架,提供了一套通用的设备树接口来使用 Pinctrl 子系统。通用的

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

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

相关文章

Double 4 VR智能互动教学系统在小语种课堂中的教学应用

小语种课堂一直是教育领域的一个难点。由于语言本身的复杂性和文化背景的差异,小语种教学一直是一个挑战。传统的课堂教学方法往往难以激发学生的学习兴趣和动力,教学效果不尽如人意。而Double 4 VR智能互动教学系统为小语种课堂带来了新的可能。 Double…

视频服务网关的三大部署(三)

视频网关是软硬一体的一款产品,可提供多协议(RTSP/ONVIF/GB28181/海康ISUP/EHOME/大华、海康SDK等)的设备视频接入、采集、处理、存储和分发等服务, 配合视频网关云管理平台,可广泛应用于安防监控、智能检测、智慧园区…

RK WiFi部分信道在部分地区无法使用的原因

不同国家支持的WiFi信道不一样,需要正确设置wificountrycode 修改路径: device\rockchip\common\BoardConfig.mk 修改内容:androidboot.wificountrycodeXX 该属性会被解析为 ro.boot.wificountrycode framework层会在: framewor…

用好语言模型:temperature、top-p等核心参数解析

编者按:我们如何才能更好地控制大模型的输出? 本文将介绍几个关键参数,帮助读者更好地理解和运用 temperature、top-p、top-k、frequency penalty 和 presence penalty 等常见参数,以优化语言模型的生成效果。 文章详细解释了这些参数的作用…

leetcode 343.整数拆分 198.打家劫舍(动态规划)

OJ链接 &#xff1a;leetcode 343.整数拆分 代码&#xff1a; class Solution {public int integerBreak(int n) {int[] dp new int[n1];//每个n&#xff0c;拆分多个整数乘积的最大值dp [0] 0;dp [1] 1; for(int i 2 ; i<n; i){for(int j 0 ; j < i; j){dp[i] Ma…

如何看待数据确权问题?

今年8月&#xff0c;财政部发布了《关于印发<企业数据资源相关会计处理暂行规定>的通知》&#xff0c;将数据规划到公司资产负债表的“资产”项&#xff0c;明确了哪些数据资源可以计入无形资产、存货等资产项&#xff0c;从财务、会计处理角度对企业对数据资源享有的权利…

学习Java第52天,JDBC中statement的使用基本步骤

public class JdbcStatementQueryPart { /* * TODO: 步骤总结 (6步)* 1. 注册驱动* 2. 获取连接* 3. 创建statement* 4. 发送SQL语句,并获取结果* 5. 结果集解析* 6. 关闭资源 */public static void main(String[] args) throws SQLException {//1.注册驱动/…

小程序中的大道理--综述

前言 以下将用一个小程序来探讨一些大道理, 这些大道理包括可扩展性, 抽象与封装, 可维护性, 健壮性, 团队合作, 工具的利用, 可测试性, 自顶向下, 分而治之, 分层, 可读性, 模块化, 松耦合, MVC, 领域模型, 甚至对称性, 香农的信息论等等. 为什么不用大程序来说大道理呢? …

CMS指纹识别方式

一、手工识别 1.robots.txt文件 robots.txt文件我们写过爬虫的就知道,这个文件是告诉我们哪些目录是禁止爬取的。但是大部分的时候我们都能通过robots.txt文件来判断出cms的类型 如: 从wp路径可以看出这个是WordPress的cms 这个就比较明显了直接告诉我们是PageAdmin cms 也…

Python大语言模型实战-记录一次用ChatDev框架实现爬虫任务的完整过程

1、模型选择&#xff1a;GPT4 2、需求&#xff1a;在win10操作系统环境下&#xff0c;基于python3.10解释器&#xff0c;爬取豆瓣电影Top250的相关信息&#xff0c;包括电影详情链接&#xff0c;图片链接&#xff0c;影片中文名&#xff0c;影片外国名&#xff0c;评分&#x…

C语言小练

给定两个数&#xff0c;求这两个数的最大公约数 本算法主要利用辗转相除法求出两个数的最大公约数。 int main(){int m0;int n0;int r0;scanf("%d %d",&m,&n);while(rm%n){mn;nr;} printf("%d\n",n);return 0; } 打印斐波那契数列指定位置的值 …

工作中Git常用命令

Git config --global user.name ‘sn’设置身份名字 Git config--global user.email “ 17909098592qq.com“ 设置邮箱 Git init 创建代码仓库 Ls -al 查看所有目录 Git pull <远程仓库名> <远程分支名>代码更新 Git add file.txt 添加file.txt到git提交器 …

python的requests请求参数带files

踩坑接口请求参数含文件 requests接口请求既有file&#xff0c;也有json。划重点params requests 官网地址 https://requests.readthedocs.io/en/stable/user/quickstart/#post-a-multipart-encoded-file 接口请求既有file&#xff0c;也有json。划重点params import reques…

kali一键部署各种环境和渗透工具

相信各位初入渗透领域的小伙们接触了kali,但是苦于要配置各种环境,安装kali没有的工具,费时费力,博主有时候需要重新部署kali也很苦恼,所以编写一键部署安装kali脚本,下载地址在这里:https://download.csdn.net/download/weixin_59679023/88565320 配置流程: 1、找一…

Linux加强篇002-部署Linux系统

目录 前言 1. shell语言 2. 执行命令的必备知识 3. 常用系统工作命令 4. 系统状态检测命令 5. 查找定位文件命令 6. 文本文件编辑命令 7. 文件目录管理命令 前言 悟已往之不谏&#xff0c;知来者之可追。实迷途其未远&#xff0c;觉今是而昨非。舟遥遥以轻飏&#xff…

Debian12试用报告

环境: win11vbox 虚拟机 网络: host-only访问局域网 nat 访问外网, 配置为dhcp动态获取ip 遇到的问题: 偶尔卡死: nat每次开机都不生效, 外网无法访问; 开机后 重启网络可解决 sudo /etc/init.d/networking restart host-only倒是没问题, 内网正常访问 vim9还是用不习…

生产实践:Redis与Mysql的数据强一致性方案

公众号「架构成长指南」&#xff0c;专注于生产实践、云原生、分布式系统、大数据技术分享。 数据库和Redis如何保存强一致性&#xff0c;这篇文章告诉你 目的 Redis和Msql来保持数据同步&#xff0c;并且强一致&#xff0c;以此来提高对应接口的响应速度&#xff0c;刚开始考…

探索移动端可能性:Capacitor5.5.1和vue2在Android studio中精细融合

介绍&#xff1a; 移动应用开发是日益复杂的任务&#xff0c;本文将带领您深入探索如何无缝集成Capacitor5.5.1、Vue2和Android Studio&#xff0c;以加速您的开发流程Capacitor 是一个用于构建跨平台移动应用程序的开源框架。Vue 是一个流行的 JavaScript 框架&#xff0c;用…

多线程Thread(初阶三:线程的状态及线程安全)

目录 一、线程的状态 二、线程安全 一、线程的状态 1.NEW Thread&#xff1a;对象创建好了&#xff0c;但是还没有调用 start 方法在系统中创建线程。 2.TERMINATED&#xff1a; Thread 对象仍然存在,但是系统内部的线程已经执行完毕了。 3.RUNNABLE&#xff1a; 就绪状态&…