Step-by-step guide for switching K1 MUSE Pi Pro display output from MIPI-DSI to HDMI, including DTS configuration and troubleshooting black screen issues.
Configuring Display Output on SpacemiT K1: MIPI-DSI to HDMI Switch
A common task when working with the SpacemiT K1 MUSE Pi Pro development board is switching the display output from the default MIPI-DSI panel to HDMI. This guide walks through the configuration process and common pitfalls.
Background
The K1 MUSE Pi Pro supports multiple display interfaces:
- MIPI-DSI: Default display output, connects directly to compatible LCD panels
- HDMI: External display output via HDMI connector
- MIPI-CSI: Camera input (not display)
When you want to use HDMI instead of the MIPI-DSI panel, you need to modify the Device Tree Source (DTS) to disable the DSI controller and enable HDMI output.
Step-by-Step Configuration
1. Locate the DTS File
The MUSE Pi Pro device tree is located at:
kernel/linux/spacemit_kernel-6.6/arch/riscv/boot/dts/spacemit/k1-x_MUSE-Pi-Pro.dts
2. Disable MIPI-DSI
Find the three MIPI-DSI related configuration blocks and change their status from "okay" to "disabled":
// DSI panel configuration
&dsi_panel {
status = "disabled";
};
// DSI controller
&mipi_dsi {
status = "disabled";
};
// DSI PHY
&mipi_dphy {
status = "disabled";
};
3. Enable HDMI
Ensure the HDMI output block is enabled:
&hdmi {
status = "okay";
};
4. Recompile and Flash
Rebuild the kernel with the modified DTS:
make ARCH=riscv CROSS_COMPILE=riscv64-unknown-linux-gnu- k1-x_MUSE-Pi-Pro.dtb
Flash the new firmware to your board.
Common Issue: Black Screen After Switching
A user on the SpacemiT forum reported that after disabling MIPI-DSI and recompiling, they experienced a black screen on HDMI output, even though:
- The MIPI panel cable was disconnected
- HDMI was confirmed enabled in the kernel logs (dmesg)
Troubleshooting Steps
- Check HDMI cable and monitor: Ensure the HDMI cable is connected before boot and the monitor is powered on
- Verify HDMI in dmesg: Look for HDMI initialization messages
- Check display resolution: Some monitors may not auto-detect the default resolution. Try specifying the mode in the DTS
- Framebuffer console: Check if the framebuffer console appears
- DRM subsystem: Verify the DRM subsystem recognizes HDMI
Important Notes
- The K1 uses the Linux 6.6 kernel with SpacemiT patches for display driver support
- HDMI and MIPI-DSI can potentially coexist (dual display), but the default DTS configures them as mutually exclusive
- The PowerVR GPU driver does not affect display output configuration - this is handled by the DRM/KMS subsystem
- When using OpenWrt instead of Bianbu Linux, display output configuration may differ
K1 Display Architecture
The K1 SoC provides:
- 1x MIPI-DSI (4-lane) for direct LCD panel connection
- 1x HDMI 1.4 output supporting up to 1080p at 60Hz
- 1x MIPI-CSI (4-lane) for camera input
- PowerVR BXE-2-32 GPU for 2D/3D acceleration
For applications requiring dual display or custom display configurations, the K1 SoC offers flexible display routing through its display pipeline.
Need Help?
If you are working on K1-based display configurations or need development boards, visit our
K1 product page or
start a discussion in our community forum.
For technical questions about K1 hardware or OpenWrt development, contact us at contact@open-riscv.com.
Source:
SpacemiT Forum - K1 MIPI-DSI to HDMI