[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1627013203-23099-1-git-send-email-dillon.minfei@gmail.com>
Date: Fri, 23 Jul 2021 12:06:40 +0800
From: dillon.minfei@...il.com
To: laurent.pinchart@...asonboard.com, thierry.reding@...il.com,
sam@...nborg.org, airlied@...ux.ie, daniel@...ll.ch,
robh+dt@...nel.org, linus.walleij@...aro.org,
alexandre.torgue@...s.st.com, mcoquelin.stm32@...il.com
Cc: noralf@...nnes.org, dianders@...omium.org,
linux-stm32@...md-mailman.stormreply.com,
linux-arm-kernel@...ts.infradead.org,
dri-devel@...ts.freedesktop.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, Dillon Min <dillon.minfei@...il.com>
Subject: [PATCH v3 0/3] Add ilitek ili9341 panel driver
From: Dillon Min <dillon.minfei@...il.com>
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 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@gmail.com/
[2] "drm/panel: s6e63m0: Switch to DBI abstraction for SPI"
https://lore.kernel.org/dri-devel/20210611214243.669892-1-linus.walleij@linaro.org/
[3]
https://lore.kernel.org/lkml/1590378348-8115-6-git-send-email-dillon.minfei@gmail.com/
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 in v4.
v2 link:
https://lore.kernel.org/lkml/1626853288-31223-1-git-send-email-dillon.minfei@gmail.com/
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@gmail.com/
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 | 786 +++++++++++++++++++++
5 files changed, 878 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
--
2.7.4
Powered by blists - more mailing lists