Message ID | 1590378062-7965-1-git-send-email-dillon.minfei@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | Enable ili9341 and l3gd20 on stm32f429-disco | expand |
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 >
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 > >
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 >>>
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 > >>>
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 >>>>>
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