From: Dillon Min <dillon.minfei@xxxxxxxxx> Since the st,sf-tc240t-9370-t dts binding already exist in stm32f429-disco.dts but, the panel driver didn't get accepted from mainline. it's time to submit patch fot it. This driver can support two different interface by different dts bindings: - spi+dpi, use spi to configure register, dpi for graphic data. st,sf-tc240t-9370-t - only spi, just like tiny/ili9341.c (actually, this part is copy from tiny) adafruit,yx240qv29 I was submited the first patch last year, you can find it at [1]. this patch has one major difference from that one, which is replace the low level communication way, from spi_sync() to mipi_dbi_{command, command_stackbuf}() interface, referred from Linus's patch [2]. both the two dpi/dbi interface was tested on stm32f429-disco board, if anyone want to verify this patch, you need apply the clk patch for this board first, you can get it from [3]. [1] "drm/panel: Add ilitek ili9341 panel driver" https://lore.kernel.org/lkml/1590378348-8115-7-git-send-email-dillon.minfei@xxxxxxxxx/ [2] "drm/panel: s6e63m0: Switch to DBI abstraction for SPI" https://lore.kernel.org/dri-devel/20210611214243.669892-1-linus.walleij@xxxxxxxxxx/ [3] https://lore.kernel.org/lkml/1590378348-8115-6-git-send-email-dillon.minfei@xxxxxxxxx/ v4: - fix m68k-allmodconfig build error which reported by lkp, thanks. - add Copyright 2018 David Lechner <david@xxxxxxxxxxxxxx>. v3 link: https://lore.kernel.org/lkml/1627013203-23099-1-git-send-email-dillon.minfei@xxxxxxxxx/ v3: - add Fixes tags. - collect reviewed-by tags from linus and jagan. - replace DRM_ERROR() with dev_err() or drm_err(). - remove kernel-doc markers from struct ili9341_config{}. - reorder include headers. - remove the struct device *dev from struct ili9341{}. - restructure the ili9341_probe() function, add two ili9341_{dbi,dpi)_probe() to make it more readable according to jagan's suggestion, thanks. for the full drm driver exist in drm/panel need Sam and Laurent's feedback. so, not cover this part at this time, will be update later. v2 link: https://lore.kernel.org/lkml/1626853288-31223-1-git-send-email-dillon.minfei@xxxxxxxxx/ v2: - replace vcc regulator to bulk regulators in driver, from linus suggestion. - fix dtbs_check warnings on ili9341 dts binding check. - add bulk regulation node in ilitek,ili9341.yaml. v1 link: https://lore.kernel.org/lkml/1626430843-23823-1-git-send-email-dillon.minfei@xxxxxxxxx/ Dillon Min (3): dt-bindings: display: panel: Add ilitek ili9341 panel bindings ARM: dts: stm32: fix dtbs_check warning on ili9341 dts binding drm/panel: Add ilitek ili9341 panel driver .../bindings/display/panel/ilitek,ili9341.yaml | 78 ++ arch/arm/boot/dts/stm32f429-disco.dts | 2 +- drivers/gpu/drm/panel/Kconfig | 12 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-ilitek-ili9341.c | 792 +++++++++++++++++++++ 5 files changed, 884 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/display/panel/ilitek,ili9341.yaml create mode 100644 drivers/gpu/drm/panel/panel-ilitek-ili9341.c -- 1.9.1