Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: stm32: add LTDC support for STM32MP13x SoC family

STM32MP13x SoC family embeds a new version of LTDC (Liquid crystal
display - Thin film transistor) Display Controller.

It provides a parallel digital RGB (red, green, blue) and signals for
horizontal, vertical synchronization, pixel clock and data enable as
output to interface directly to a variety of LCD-TFT panels.

Main features
* 2 input layers blended together to compose the display
* Cropping of layers from any input size and location
* Multiple input pixel formats:
– Predefined ARGB, with 7 formats: ARGB8888, ABGR8888, RGBA8888,
BGRA8888, RGB565, BGR565, RGB888packed.
– Flexible ARGB, allowing any width and location for A,R,G,B
components.
– Predefined YUV, with 3 formats: YUV422-1L (FourCC: YUYV,
Interleaved), YUV420-2L (FourCC: NV12, semi planar), YUV420-3L
(FourCC: Yxx, full planar) with some flexibility on the sequence of
the component.
* Color look-up table (CLUT) up to 256 colors (256x24 bits) per layer
* Color transparency keying
* Composition with flexible window position and size versus output
display
* Blending with flexible layer order and alpha value (per pixel or
constant)
* Background underlying color
* Gamma with non-linear configurable table
* Dithering for output with less bits per component (pseudo-random on
2 bits)
* Polarity inversion for HSync, VSync, and DataEnable outputs
* Output as RGB888 24 bpp or YUV422 16 bpp
* Secure layer (using Layer2) capability, with grouped regs and
additional interrupt set
* Interrupts based on 7 different events
* AXI master interface with long efficient bursts (64 or 128 bytes)

Signed-off-by: Raphael Gallais-Pou <raphael.gallais-pou@foss.st.com>
Signed-off-by: Yannick Fertre <yannick.fertre@foss.st.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>

authored by

Raphael Gallais-Pou and committed by
Alexandre Torgue
dcb12b83 ce90d0c8

+11
+11
arch/arm/boot/dts/st/stm32mp135.dtsi
··· 19 19 port { 20 20 }; 21 21 }; 22 + 23 + ltdc: display-controller@5a001000 { 24 + compatible = "st,stm32-ltdc"; 25 + reg = <0x5a001000 0x400>; 26 + interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>, 27 + <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 28 + clocks = <&rcc LTDC_PX>; 29 + clock-names = "lcd"; 30 + resets = <&scmi_reset RST_SCMI_LTDC>; 31 + status = "disabled"; 32 + }; 22 33 }; 23 34 };