ST-ERICSSON MCDE DRIVER(9)
π ST-ERICSSON MCDE DRIVER π
okay bestie, welcome to the Kernel API Manual entry for the MCDE driver β and no, MCDE isn't a rapper, it's short for multi-channel display engine. It's a graphics controller that lives in the Ux500 chipsets, like the NovaThor U8500. β¨
So the lore: it was initially conceptualized by ST Microelectronics for the successor of the Nomadik line, STn8500 β but it got productified in the ST-Ericsson U8500, where it was used for mass-market deployments in Android phones from Samsung and Sony Ericsson. main character energy, honestly. π
π what it can actually do
It can do 1080p30 on SDTV CCIR656, DPI-2, DBI-2 or DSI for panels with or without frame buffering, and it can convert most input formats including most variants of RGB and YUV. versatile queen. π
π¦ the hardware layout, aka the vibe check
The hardware has four display pipes, and the layout is a little bit like this:
Memory -> Overlay -> Channel -> FIFO -> 8 formatters -> DSI/DPI
External 0..5 0..3 A,B, 6 x DSI bridge
source 0..9 C0,C1 2 x DPI
ngl this diagram ate. Let's break it down: FIFOs A and B are for LCD and HDMI, while FIFO CO/C1 are for panels with embedded buffer. 6 of the formatters are for DSI, 3 pairs for VID/CMD respectively. 2 of the formatters are for DPI. π«Ά
Behind the formatters are the DSI or DPI ports that route to the external pins of the chip. As there are 3 DSI ports and one DPI port, it is possible to configure up to 4 display pipelines (effectively using channels 0..3) for concurrent use. periodt. π
πΈ how we're using it rn
In the current DRM/KMS setup, we use one external source, one overlay, one FIFO and one formatter which we connect to the simple DMA framebuffer helpers. We then provide a bridge to the DSI port, and on the DSI port bridge we connect hang a panel bridge or other bridge. This may be subject to change as we exploit more of the hardware capabilities β so like, don't get too attached to this arrangement, bestie. π
β¨ TODO β¨
- Enabled damaged rectangles using
drm_plane_enable_fb_damage_clipsso we can selectively just transmit the damaged area to a command-only display. π₯ - Enable mixing of more planes, possibly at the cost of moving away from using the simple framebuffer pipeline.
- Enable output to bridges such as the
AV8100HDMI encoder from the DSI bridge.
lowkey a glow-up wishlist, and we're manifesting all of it π
π§ SEE ALSO
- Kernel file
./drivers/gpu/drm/mcde/mcde_drv.c
β π β
and that's the whole page, bestie β this little masterpiece comes from ./drivers/gpu/drm/mcde, dated October 2026, and it's sitting in the Kernel API Manual. go read the source fr fr, ily, bye! ππ¦π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms