Jetson引脚复用定制Skill jetson-customize-pinmux

本技能用于Jetson Orin/Thor定制载板的引脚复用(pinmux)配置。通过解析 pinmux XLSM 电子表格,逐引脚设置 SFIO、方向、初始状态、上下拉/驱动/开漏属性,并生成 BCT 阶段所需的 pinmux、gpio、padvoltage 三个 DTSI 文件,便于在 BSP 定制中调整硬件引脚功能。关键词:Jetson, pinmux, 引脚复用, SFIO, GPIO, BCT DTSI, Orin, Thor, 载板定制, bootloader, 引脚配置, XLSM

BSP与板级支持 0 次安装 0 次浏览 更新于 9/6/2026
名称 jetson-customize-pinmux
描述 >- 针对 Jetson Orin 或 Thor 定制载板,基于 pinmux XLSM 的逐引脚 SFIO/方向/初始状态配置器。切勿用于内核设备树覆盖或 ODMDATA 编辑。
版本 0.0.1
开源协议 “Apache-2.0” metadata: data-classification: public
作者 “Jetson Team” tags: - bsp - phase-2 - io - pinmux domain: meta

定制 pinmux(逐引脚 SFIO / 方向 / 状态)

概述

Tegra pinmux 电子表格(.xlsm)是每个 CVM 球封装的真实来源:SoC 引脚名称、支持的 SFIO、客户选择的功能、方向和初始状态。本技能解析该 XLSM,运行逐引脚 Q1–Q6 交互循环,并一次性生成三个 BCT DTSI(pinmux、gpio、padvoltage)到 overlay 跟踪器中 <source.root_path>/Linux_for_Tegra/bootloader/。

与同级技能不同,pinmux 没有内核 DT overlay 表面,也没有 ODMDATA 编辑。XLSM 是真实来源;生成的三个 DTSI 在刷写时通过载板配置中的 PINMUX_CONFIG= / GPIOINT_CONFIG= / PMC_CONFIG= 引用生效。

焊盘分类:只有 BD* 和 BI* 焊盘具有可配置的上下拉/驱动/开漏属性。LP5XA_、UPHYDS_ 等固定功能焊盘跳过 Q4–Q6。

何时调用

当用户要求配置引脚、设置 SFIO、编辑 pinmux DTSI、设置方向/初始状态,或解决 HSIO 引脚不匹配时调用。需要活动配置、Linux_for_Tegra/ git 仓库、derive-carrier 后的三个 DTSI 以及 pinmux XLSM。

操作步骤摘要

  1. 解析活动目标 + XLSM。
  2. 运行 modify_pinmux.py probe 解析 XLSM。
  3. 使用 lookup 查询引脚。
  4. 通过 Q1–Q6 交互设置引脚(SFIO/方向/初始状态以及可配置焊盘的上拉/驱动/开漏)。
  5. 运行 generate 输出三个 DTSI 到 bootloader/。
  6. 提交为一个定制提交。
  7. 编写 sidecar 与 session shim。
  8. 输出总结。

注意事项

  • 无内核 DT overlay,不编辑 OVERLAY_DTB_FILE。
  • generate 后更新 .dts 包装器的 #include 为裸基名。
  • Q4–Q6 仅对 configurable: yes 的焊盘询问。
  • tristate 和 e_input 由 direction 派生,不询问。
  • sfio=gpio 需要引脚行中有 gpio=GPIOn_PD.NN 条目。
  • 标记幂等,重复 generate 不重复。
  • 不触碰上游 BSP。

可用脚本

scripts/modify_pinmux.py(probe|lookup|set-pin|apply|generate|commit)和 scripts/generate_dtsi.py(由 generate 调用)。

参考

详见 references/procedure.md、questions.json、jetson-derive-carrier、jetson-init-source、jetson-link-docs。