Pinmux的介绍和联咏NT9833x中Pinmux值的计算

 一、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”读取。

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论