- Module: Jetson AGX Orin Industrial
- JetPack: 6.2.1 (open to changing the version — if a specific release has better/officially-supported MST behavior, please advise)
- L4T: 36.4.4
- Carrier board: Custom carrier board
Hello,
We are developing a project on a custom carrier board based on the NVIDIA Jetson AGX Orin Industrial module. On the DisplayPort output we plan to use an MST hub IC (SUNIX DPH2001 family, DP 1.2 MST hub) to drive multiple displays from a single DP port.
We would like official guidance on how to determine whether the DP link is currently operating in MST mode (through the hub) vs. SST (direct connection), and we are looking at two approaches plus a hardware bring-up question.
1. Driver-level / runtime MST detection
- On L4T R36.4.4, is there an official, programmatic way to query whether the current DP output is running in MST?
- With the NVIDIA display driver, which path is supported — debugfs, sysfs, or DPCD via
/dev/drm_dp_aux? For example, is there an interface to readMSTM_CTRL(DPCD 0x00111,MST_ENbit) or the branch device’sMSTM_CAP(DPCD 0x00021)? - We have seen that under X11 an MST link shows up as child outputs in
xrandr(e.g.,DP-0.3,DP-0.4) while the parentDP-0is reported disconnected. Is this the recommended/expected way to detect MST, or is there a more direct API?
2. Register-level (TRM) MST detection
We checked the public Orin TRM (DP-10508-002 v1.2) and confirmed the following:
- DisplayPort Multistream (MST) architecture and the SF/SOR description (Display Controller chapter)
- Display register map: Display base
0x13800000,NV_PDISP_SORregion at +0xC000(0x800 per SOR) NV_PDISP_FE_CMGR_CLK_SOR_<i>(offset0x2300+ i*0x800), with fieldsHEAD[15:12],STATE[23],LINK_SPEED[22:18]NV_PDISP_FE_SW_SYS_CAP(HEAD_EXISTS/SOR_EXISTS)
However, the TRM does not document the SOR/SF DisplayPort link-layer registers (MST framing/enable, head→SOR stream assignment, time-slot / VC payload).
- Question: Is there a SOR register/bit that indicates whether MST is active, that we can read (e.g., via
devmem)? If so, could you provide the exact offset and bit field (valid for R36.4.4)? Since MST funnels multiple streams onto a single SOR, the documentedCMGR_CLK_SORregister alone does not seem sufficient to distinguish “1 direct display” from “MST hub with multiple displays.”
3. MST hub IC bring-up reference
- Are there official documents or samples for attaching a DP MST hub IC to the AGX Orin Industrial on a custom carrier board (device tree configuration, DP link training / bandwidth considerations, EDID handling, list of validated MST hubs)?
- Is MST supported only on the X11 path, or also via DRM/KMS (e.g.,
nvdrmvideosink) on R36.4.4? We need to know the supported scope before we commit the hub IC into the hardware design.
Thank you for your help.
References we are working from
- Orin Series SoC TRM: https://developer.nvidia.com/orin-series-soc-technical-reference-manual
- Jetson Linux Developer Guide (R36.4.3) → Kernel Customization → Display Configuration and Bring-Up: Welcome — NVIDIA Jetson Linux Developer Guide (direct page on R36.2: Display Configuration and Bring-Up — NVIDIA Jetson Linux Developer Guide 1 documentation )
- MST configuration example (xorg.conf, 2 MST streams): Configure xorg.conf to output 2 MST streams through DisplayPort
- NVIDIA driver multi-screen/MST README: Chapter 14. Configuring Multiple X Screens on One Card
- Runtime MST
xrandrexample on R36.4.4: Consulting about orin nano's DisplayPort MST functionality