SpacemiT Display Panel Driver Use Cases
This document describes the use cases and debugging methods for MIPI and HDMI screen drivers on the SpacemiT K1 platform in both U-Boot and the Linux Kernel.
Module Introduction
The Display module on the SpacemiT platform is implemented based on the DRM (Direct Rendering Manager) framework.
DRM is a mainstream display framework in the Linux system, well-suited to modern display hardware features.
In the Linux kernel, DRM acts as a subsystem for managing display devices, mainly responsible for the following tasks:
- Display hardware abstraction and management: Unified management of different types of display hardware.
- Graphics memory management: Allocation and control of video memory usage.
- Display output control: Coordination of composition and output of display content.
- Multi-display interface support: Compatibility with multiple interfaces such as HDMI, DSI, eDP.
Uboot Screen Debugging
Source Code Structure Introduction
The source code structure of the SpacemiT platform Uboot display driver is as follows:
uboot-2022.10/drivers/video$ tree spacemit
spacemit
├── dsi
│ ├── drv
│ │ ├── spacemit_dphy.c // MIPI DSI DPHY driver
│ │ ├── spacemit_dphy.h
│ │ ├── spacemit_dsi_common.c
│ │ ├── spacemit_dsi_drv.c // MIPI DSI driver
│ │ ├── spacemit_dsi_drv.h
│ │ └── spacemit_dsi_hw.h
│ ├── include
│ │ ├── spacemit_dsi_common.h
│ │ └── spacemit_video_tx.h
│ ├── Makefile
│ └── video
│ ├── lcd // panel configurations
│ │ ├── lcd_ft8201sinx101.c
│ │ ├── lcd_gx09inx101.c
│ │ ├── lcd_icnl9911c.c
│ │ ├── lcd_icnl9951r.c
│ │ ├── lcd_jd9365dah3.c
│ │ └── lcd_lt8911ext_edp_1080p.c
│ ├── spacemit_mipi_port.c