mbox series

[v2,0/4] Enable DMA on STM32 MCU based on cortex-M7

Message ID 1519823458-27734-1-git-send-email-alexandre.torgue@st.com
Headers show
Series Enable DMA on STM32 MCU based on cortex-M7 | expand

Message

Alexandre TORGUE Feb. 28, 2018, 1:10 p.m. UTC
This series enable DMA on several STM32 MCU based on cortex-M7.
To make it possible, a dedicated dma pool memory area has to be
created. This patchset activate also ARM_MPU flag which will configure 
MPU (Memory Protection Unit) according to devicetree information (mem
and dma-pool). Note that on cortex-M7 DMA has to use a NO cache-able 
memory region.


v2:
-select ARM_MPU in mach-stm32 Kconfig instead of add it in stm32 defconfig
-Remove XIP configuration from stm32_defconfig: ARM_MPU flag imposes XIP image
to be aligned on 1MB. It is currently not the case. I had choice to either
modify current XIP start address to be aligned on 1MB or to remove global
configuration. I make choice to remove XIP configuration. Indeed, SD card
support has been recently added for most of STM32 MCU boards (except for
stm32f429-disco). As kernel is growing up for stm32 it will be more and more
difficult to flash it in embeded flash (max size: 2MB).
-fix typo in commit message

Regards
Alex

Alexandre Torgue (4):
  ARM: dts: stm32: add DMA memory pool on MCU which embed a cortex-M7
  ARM: configs: stm32: remove XIP configuration
  ARM: stm32: Select ARM_MPU for cortex-M7 machines
  ARM: dts: stm32: enable dma on MCU which embed a cortex-M7

 arch/arm/boot/dts/stm32746g-eval.dts   | 21 +++++++++++++++++++++
 arch/arm/boot/dts/stm32f769-disco.dts  | 21 +++++++++++++++++++++
 arch/arm/boot/dts/stm32h743i-disco.dts | 21 +++++++++++++++++++++
 arch/arm/boot/dts/stm32h743i-eval.dts  | 21 +++++++++++++++++++++
 arch/arm/configs/stm32_defconfig       |  2 --
 arch/arm/mach-stm32/Kconfig            |  3 +++
 6 files changed, 87 insertions(+), 2 deletions(-)

-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Vladimir Murzin Feb. 28, 2018, 1:22 p.m. UTC | #1
On 28/02/18 13:10, Alexandre Torgue wrote:
> This series enable DMA on several STM32 MCU based on cortex-M7.

> To make it possible, a dedicated dma pool memory area has to be

> created. This patchset activate also ARM_MPU flag which will configure 

> MPU (Memory Protection Unit) according to devicetree information (mem

> and dma-pool). Note that on cortex-M7 DMA has to use a NO cache-able 

> memory region.

> 

> 

> v2:

> -select ARM_MPU in mach-stm32 Kconfig instead of add it in stm32 defconfig

> -Remove XIP configuration from stm32_defconfig: ARM_MPU flag imposes XIP image

> to be aligned on 1MB. It is currently not the case. I had choice to either

> modify current XIP start address to be aligned on 1MB or to remove global

> configuration. I make choice to remove XIP configuration. Indeed, SD card

> support has been recently added for most of STM32 MCU boards (except for

> stm32f429-disco). As kernel is growing up for stm32 it will be more and more

> difficult to flash it in embeded flash (max size: 2MB).


It is sad we are loosing XIP configuration - it used to uncover some bugs
in a past. Probably, you might consider to have stm32 tiny (+xip) defconfig
for those who do not want/need all-in-one kernel.

Cheers
Vladimir

> -fix typo in commit message

> 

> Regards

> Alex

> 

> Alexandre Torgue (4):

>   ARM: dts: stm32: add DMA memory pool on MCU which embed a cortex-M7

>   ARM: configs: stm32: remove XIP configuration

>   ARM: stm32: Select ARM_MPU for cortex-M7 machines

>   ARM: dts: stm32: enable dma on MCU which embed a cortex-M7

> 

>  arch/arm/boot/dts/stm32746g-eval.dts   | 21 +++++++++++++++++++++

>  arch/arm/boot/dts/stm32f769-disco.dts  | 21 +++++++++++++++++++++

>  arch/arm/boot/dts/stm32h743i-disco.dts | 21 +++++++++++++++++++++

>  arch/arm/boot/dts/stm32h743i-eval.dts  | 21 +++++++++++++++++++++

>  arch/arm/configs/stm32_defconfig       |  2 --

>  arch/arm/mach-stm32/Kconfig            |  3 +++

>  6 files changed, 87 insertions(+), 2 deletions(-)

> 


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Alexandre TORGUE Feb. 28, 2018, 1:42 p.m. UTC | #2
Hi Vlad

On 02/28/2018 02:22 PM, Vladimir Murzin wrote:
> On 28/02/18 13:10, Alexandre Torgue wrote:

>> This series enable DMA on several STM32 MCU based on cortex-M7.

>> To make it possible, a dedicated dma pool memory area has to be

>> created. This patchset activate also ARM_MPU flag which will configure

>> MPU (Memory Protection Unit) according to devicetree information (mem

>> and dma-pool). Note that on cortex-M7 DMA has to use a NO cache-able

>> memory region.

>>

>>

>> v2:

>> -select ARM_MPU in mach-stm32 Kconfig instead of add it in stm32 defconfig

>> -Remove XIP configuration from stm32_defconfig: ARM_MPU flag imposes XIP image

>> to be aligned on 1MB. It is currently not the case. I had choice to either

>> modify current XIP start address to be aligned on 1MB or to remove global

>> configuration. I make choice to remove XIP configuration. Indeed, SD card

>> support has been recently added for most of STM32 MCU boards (except for

>> stm32f429-disco). As kernel is growing up for stm32 it will be more and more

>> difficult to flash it in embeded flash (max size: 2MB).

> 

> It is sad we are loosing XIP configuration - it used to uncover some bugs

> in a past. Probably, you might consider to have stm32 tiny (+xip) defconfig

> for those who do not want/need all-in-one kernel.


I agree and I don't want to loose XIP configuration. I just want that 
default stm32_defconfig covers the main MCU boards and the maximum 
IPs/driver for those boards. SD cards will be the boot support that will 
be supported in buildroot (except for stm32f429-disco).

But I agree, I could maybe use a frag to have a tiny configuration for 
stm32 to be able to flash xip in embeded flash and provide a "basic" 
support (kernel boot + console).


Regards
Alex
> 

> Cheers

> Vladimir

> 

>> -fix typo in commit message

>>

>> Regards

>> Alex

>>

>> Alexandre Torgue (4):

>>    ARM: dts: stm32: add DMA memory pool on MCU which embed a cortex-M7

>>    ARM: configs: stm32: remove XIP configuration

>>    ARM: stm32: Select ARM_MPU for cortex-M7 machines

>>    ARM: dts: stm32: enable dma on MCU which embed a cortex-M7

>>

>>   arch/arm/boot/dts/stm32746g-eval.dts   | 21 +++++++++++++++++++++

>>   arch/arm/boot/dts/stm32f769-disco.dts  | 21 +++++++++++++++++++++

>>   arch/arm/boot/dts/stm32h743i-disco.dts | 21 +++++++++++++++++++++

>>   arch/arm/boot/dts/stm32h743i-eval.dts  | 21 +++++++++++++++++++++

>>   arch/arm/configs/stm32_defconfig       |  2 --

>>   arch/arm/mach-stm32/Kconfig            |  3 +++

>>   6 files changed, 87 insertions(+), 2 deletions(-)

>>

> 

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html