mbox series

[v5,0/8] Enable ili9341 and l3gd20 on stm32f429-disco

Message ID 1590378062-7965-1-git-send-email-dillon.minfei@gmail.com
Headers show
Series Enable ili9341 and l3gd20 on stm32f429-disco | expand

Message

Dillon Min May 25, 2020, 3:40 a.m. UTC
From: dillon min <dillon.minfei@gmail.com>

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

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

Comments

Alexandre TORGUE July 21, 2020, 9:19 a.m. UTC | #1
Hi Dillon

On 5/25/20 5:40 AM, dillon.minfei@gmail.com wrote:
> From: dillon min <dillon.minfei@gmail.com>
> 
> 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



> 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
>
Dillon Min July 21, 2020, 10:39 a.m. UTC | #2
Hi Alexandre,

On Tue, Jul 21, 2020 at 5:19 PM Alexandre Torgue
<alexandre.torgue@st.com> wrote:
>
> Hi Dillon
>
> On 5/25/20 5:40 AM, dillon.minfei@gmail.com wrote:
> > From: dillon min <dillon.minfei@gmail.com>
> >
> > 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,
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
> >
Alexandre TORGUE July 21, 2020, 11:54 a.m. UTC | #3
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@st.com> wrote:
>>
>> Hi Dillon
>>
>> On 5/25/20 5:40 AM, dillon.minfei@gmail.com wrote:
>>> From: dillon min <dillon.minfei@gmail.com>
>>>
>>> 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

> 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
>>>
Dillon Min July 21, 2020, 12:55 p.m. UTC | #4
Hi, Alexandre,


On Tue, Jul 21, 2020 at 7:54 PM Alexandre Torgue
<alexandre.torgue@st.com> 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@st.com> wrote:
> >>
> >> Hi Dillon
> >>
> >> On 5/25/20 5:40 AM, dillon.minfei@gmail.com wrote:
> >>> From: dillon min <dillon.minfei@gmail.com>
> >>>
> >>> 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.

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
> >>>
Alexandre TORGUE July 21, 2020, 12:58 p.m. UTC | #5
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@st.com> 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@st.com> wrote:
>>>>
>>>> Hi Dillon
>>>>
>>>> On 5/25/20 5:40 AM, dillon.minfei@gmail.com wrote:
>>>>> From: dillon min <dillon.minfei@gmail.com>
>>>>>
>>>>> 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
>>>>>