Re: [PATCH v5 0/8] Enable ili9341 and l3gd20 on stm32f429-disco

From: Alexandre Torgue
Date: Tue Jul 21 2020 - 08:59:25 EST




On 7/21/20 2:55 PM, dillon min wrote:
Hi, Alexandre,


On Tue, Jul 21, 2020 at 7:54 PM Alexandre Torgue
<alexandre.torgue@xxxxxx> wrote:



On 7/21/20 12:39 PM, dillon min wrote:
Hi Alexandre,

On Tue, Jul 21, 2020 at 5:19 PM Alexandre Torgue
<alexandre.torgue@xxxxxx> wrote:

Hi Dillon

On 5/25/20 5:40 AM, dillon.minfei@xxxxxxxxx wrote:
From: dillon min <dillon.minfei@xxxxxxxxx>

V5's update based on Mark Brown's suggestion, use 'SPI_MASTER_MUST_RX'
for SPI_SIMPLEX_RX mode on stm32 spi controller.

V5:
1 instead of add send dummy data out under SIMPLEX_RX mode,
add flags 'SPI_CONTROLLER_MUST_TX' for stm32 spi driver
2 bypass 'SPI_CONTROLLER_MUST_TX' and 'SPI_CONTROLLER_MUST_RX' under
'SPI_3WIRE' mode


Concerning DT patches, they look goods for me. However I'll merge them
when drivers parts will be merged.

regards
Alex
This patchset status is :
dts:
ARM: dts: stm32: Add dma config for spi5
ARM: dts: stm32: Add pin map for ltdc & spi5 on stm32f429-disco board
ARM: dts: stm32: enable ltdc binding with ili9341, gyro l3gd20 on
stm32429-disco board

panel-bindings: Reviewed-by: Rob Herringï need more reviewing to merge
dt-bindings: display: panel: Add ilitek ili9341 panel bindings

clk: Acked-by: Stephen Boyd , need more reviewing to merge
clk: stm32: Fix stm32f429's ltdc driver hang in set clock rate,
fix duplicated ltdc clock register to 'clk_core' case ltdc's clock
turn off by clk_disable_unused()

drm-panel: Reviewed-by: Linus Walleij . need more reviewing to merge
drm/panel: Add ilitek ili9341 panel driver

spi-driver: Acked-by: Mark Brown ïmerged into mainline
spi: stm32: Add 'SPI_SIMPLEX_RX', 'SPI_3WIRE_RX' support for stm32f4
spi: flags 'SPI_CONTROLLER_MUST_RX' and 'SPI_CONTROLLER_MUST_TX' can't
becoexit with 'SPI_3WIRE' mode

For ili9341 drivers, it seems to need more time to review, or might be dropped.
since the drm maintainer might create a new interface to support
DPI,DBI,DSI in one driver.
Currently it's under discussion. I will rework the ili9341 driver after that.

But, we can use the existing "drivers/gpu/drm/tiny/ili9341.c" driver to support
ili9341 on stm32f429-disco board only using the spi bus. except the
display refresh performance is not as good as the ltdc interface.

I can submit a new patch just with dts changed this week for it, if you need.



Thanks for this status. I'm close to send my PR for v5.9. There is no
needs to have an intermediate version (Except you absolutely want it).

Thanks
alex
Ok, I prefer to use the ltdc interface to drive ili9341 either.

Ok, so let's wait for the full review of this series.

Cheers
Alex


Thanks,
Dillon.

Thanks,
Dillon.



V4:
According to alexandre torgue's suggestion, combine ili9341 and
l3gd20's modification on stm32f429-disco board to one patchset.

Changes:

ili9341:

1 update ili9341 panel driver according to Linus's suggestion
2 drop V1's No.5 patch, sumbit new changes for clk-stm32f4
3 merge l3gd20's change to this patchset

V3:
1 merge original tiny/ili9341.c driver to panel/panel-ilitek-ili9341.c
to support serial spi & parallel rgb interface in one driver.
2 update ilitek,ili9341.yaml dts binding documentation.
3 update stm32f429-disco dts binding

V2:
1 verify ilitek,ili9341.yaml with make O=../linux-stm32
dt_binding_check
DT_SCHEMA_FILES=Documentation/devicetree/bindings/display/panel/
ilitek,ili9341.yaml

V1:
1 add ili9341 drm panel driver
2 add ltdc, spi5 controller for stm32f429-disco
3 add ltdc, spi5 pin map for stm32f429-disco
4 add docs about ili9341
5 fix ltdc driver loading hang in clk set rate bug


L3gd20:
V3:
1 merge stm32f429-disco dtbs binding with ili9341 part

V2:
1 insert blank line at stm32f420-disco.dts line 143
2 add more description for l3gd20 in commit message

V1:
1 enable spi5 controller on stm32f429-disco (dts)
2 add spi5 pinmap for stm32f429-disco (dts)
3 add SPI_SIMPLEX_RX, SPI_3WIRE_RX support for stm32f4


dillon min (8):
ARM: dts: stm32: Add dma config for spi5
ARM: dts: stm32: Add pin map for ltdc & spi5 on stm32f429-disco board
ARM: dts: stm32: enable ltdc binding with ili9341, gyro l3gd20 on
stm32429-disco board
dt-bindings: display: panel: Add ilitek ili9341 panel bindings
clk: stm32: Fix stm32f429's ltdc driver hang in set clock rate,
fix duplicated ltdc clock register to 'clk_core' case ltdc's clock
turn off by clk_disable_unused()
drm/panel: Add ilitek ili9341 panel driver
spi: stm32: Add 'SPI_SIMPLEX_RX', 'SPI_3WIRE_RX' support for stm32f4
spi: flags 'SPI_CONTROLLER_MUST_RX' and 'SPI_CONTROLLER_MUST_TX' can't
be coexit with 'SPI_3WIRE' mode

.../bindings/display/panel/ilitek,ili9341.yaml | 69 ++
arch/arm/boot/dts/stm32f4-pinctrl.dtsi | 67 +
arch/arm/boot/dts/stm32f429-disco.dts | 48 +
arch/arm/boot/dts/stm32f429.dtsi | 3 +
drivers/clk/clk-stm32f4.c | 7 +-
drivers/gpu/drm/panel/Kconfig | 12 +
drivers/gpu/drm/panel/Makefile | 1 +
drivers/gpu/drm/panel/panel-ilitek-ili9341.c | 1301 ++++++++++++++++++++
drivers/spi/spi-stm32.c | 19 +-
drivers/spi/spi.c | 3 +-
10 files changed, 1521 insertions(+), 9 deletions(-)
create mode 100644 Documentation/devicetree/bindings/display/panel/ilitek,ili9341.yaml
create mode 100644 drivers/gpu/drm/panel/panel-ilitek-ili9341.c