Jetson 定制载板 UPHY 通道分配
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/jetson-customize-uphy。
技能介绍
问题背景
在 NVIDIA Jetson Orin(Tegra234)或 Thor(Tegra264)定制载板上,PCIe、MGBE、USB3 SuperSpeed、UFS 等高速接口共用 UPHY(统一 PHY) 通道池。通道怎么分,由烧录配置里的 ODMDATA="..." 令牌(如 uphy0-config-N,Thor 还有 uphy1-config-N)决定,并在烧录时写入 BPMP DTB 的 /uphy/uphy{0,1}-config。选错分配或漏写 mgbeN-speed-del、UPHY_CONFIG="" 清除,常见症状是 BL31 SError、BPMP firmware is not ready 冷启动死循环,或烧录后控制器无法枚举。
本技能只做一件事:在已有派生载板配置分支上,产出一次原子的 ODMDATA 提交,并据此分派到 PCIe / MGBE / USB 等子技能生成内核 DT 叠加层(子技能不得再改 ODMDATA)。
技能如何工作
运行时会从活动平台配置解析适配指南、载板原理图、模块设计指南与 SoC TRM(定制载板必须提供 custom_carrier_schematic 与 custom_carrier_pinmux_xls,缺一则拒绝运行)。流程要点:
- 在适配指南中定位 Configure the UPHY Lane,用原理图网络名(如
MGBE2_TX_P/N、PEX5_LN0+-)交叉验证是否真正布线;未路由通道会触发确认。 - 枚举可用的
uphy0-config-N(及 Thor 的uphy1-config-N),以表格展示后由用户硬性选择,选择写入 JSON 侧车。 - 反编译 BPMP DTB 对照库存,按顺序写入 UPHY 表面令牌、各控制器差异令牌(
pcie@N_status、mgbeN-speed-*/mgbeN-speed-del、USB SS 端口令牌),必要时加UPHY_CONFIG=""(uphy0-config-6)。 - 构建控制器分配表后调用
/jetson-customize-pcie、/jetson-customize-mgbe、/jetson-customize-usb,仅在 K 库存 DTB 与期望状态不一致时输出叠加层片段;UFS 在本技能内联处理。
最终摘要含选择表与更改摘要表(文件、仓库、提交 SHA),并链式询问是否继续 I/O 定制、构建升级或烧录验证。
边界与注意
- 仅覆盖 Tegra234 / Tegra264 的 UPHY 表面;不改编 pinmux、不直接改上游
/Linux_for_Tegra/BSP,也不负责构建、升级或烧录。 - 选项表不硬编码:无可用适配指南源则拒绝猜测。
- 若
uphy0-config-6后仍被载板配置里后续的^UPHY_CONFIG=覆盖,需注释该行;单个错误 ODMDATA 令牌可能导致整行被丢弃。
使用场景
- 定制载板原理图已定稿,需要在派生载板配置里选定 uphy0-config-N 并同步 PCIe/MGBE/USB 的 ODMDATA
- 烧录后 MGBE 或 PCIe 无法枚举,怀疑 UPHY 分配与 BPMP DTB 库存不一致
- 启用 uphy0-config-6 后冷启动卡在 BL31 SError,需检查 UPHY_CONFIG 清除与子技能 DT 叠加层
- 用户要求重新映射 USB3 SS 或 UFS 所占 UPHY 通道,并产出单次原子 ODMDATA 提交
适合人员
- 负责 Jetson 定制载板 Linux_for_Tegra 分支、需按适配指南改 ODMDATA 的 BSP 工程师
- 画载板高速差分网络、要把 MGBE2/PEX5 等网络名对照 UPHY 选项表的硬件工程师
- 烧录验证阶段遇到 BPMP firmware is not ready 或 FMON 报错、需回溯通道分配的内嵌集成工程师
- 已跑完 jetson-derive-carrier,下一步要在不碰上游 BSP 前提下完成 UPHY 与工作流链路的平台负责人