一、Pinmux的介绍
Pinmux(Pin Multiplexing缩写),即引脚复用,通常CPU的管脚数量有限,通过复用来实现不同功能。
二、关于联咏NT9833x sdk文件里 nvt-top.dtsi 文件中的各项pinmux 的值怎么计算:
以联咏NT98332为例,设备树文件“nvt-naxxxxx-top.dtsi” (如图1)
nvt-top.dtsi的路径: na51103_linux_sdk\configs\Linux\cfg_98332_8GX2_NAND_DVR_SYS
图 1 nvt-top.dtsi
1、通过 top.h 文件直接计算pinmux 值
以nvt-top.dtsi 中 ssp 为例:
ssp 的 pinmux 值是 pinmux = 0xD
其实就是 下图中(图2)红色矩形框圈中三项的值相加:0x01 + 0x04 + 0x08 = 0xD
所得结果,就是相应模块的 pinmux 值。
nvt-top.dtsi中所有模块都适合用这个方法来计算 pinmux 值。
图 2 top.h
2、使用 top_generator.xlsm 计算pinmux 值
1)联咏NT9833x sdk 中 pinmux 工具的路径 (如图3)
图 3 pinmux 工具的路径
2)打开 pinmux 工具,界面和基础使用步骤 (如图4)
图 4 pinmux 工具界面和基础使用步骤
3)pinmux 工具的使用
加载dtsi文件
步骤1、按“Load Pinmux”(加载 dtsi )按钮
步骤2、选择dtsi文件
步骤3、工具将解析 dtsi 文件
页面pinmux 配置
使用鼠标选择每个模块的 pinmux 项。如果选择了pinmux 字段,它将是蓝色的。(可以多选)
Page pad setting
在此页面中,用户可以设置每个引脚的焊盘驱动。每个引脚也可以设置上拉或下拉。
GPIO设置
将每个GPIO引脚设置为输入模式或输出模式的高/低值
生成dtsi文件
最后,请按 [Gen pinmux] 按钮。该工具可以自动输出文件。
dtsi 文件生成弹出“更新完成”消息,即当前文件夹中的“nvt-na51068-top.dtsi”
三、在终端设置/获取每个模块的 pinmux 值:
1、设置/获取每个模块的 pinmux 值
NT9833x SDK 提供了在 proc 接口中使用 shell 命令动态捕获和更新 pinmux 配置的方法,可以通过以下步骤更新 pinmux 选择。
更新 pinmux 配置的示例: echo $module $pinmux_config > /proc/nvt_info/nvt_pinmux/pinmux_set
读取所有 pinmux 配置的示例: cat /proc/nvt_info/nvt_pinmux/pinmux_summary
2、调试接口
1)解析 Pinmux 配置
用户可以将通过命令“cat /proc/nvt_info/nvt_pinmux/pinmux_summary”捕获所有 pinmux 配置,并与设备树文件“nvt-naxxxxx-top.dtsi”进行比较。
2)解析 GPIO 配置:每个gpio都可以配置为function或pinmux,gpio的这些信息可以通过命令
“cat /proc/nvt_info/nvt_pinmux/gpio_summary”读取。
评论