* [PATCH 0/3] Enable DMA on STM32 MCU based on cortex-M7
@ 2017-12-12 18:02 Alexandre Torgue
2017-12-12 18:02 ` [PATCH 1/3] ARM: dts: stm32: add DMA memory pool on MCU which embed a cortex-M7 Alexandre Torgue
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Alexandre Torgue @ 2017-12-12 18:02 UTC (permalink / raw)
To: linux-arm-kernel
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.
Regards
Alex
Alexandre Torgue (3):
ARM: dts: stm32: add DMA memory pool on MCU which embed a cortex-M7
ARM: configs: stm32: Enable ARM_MPU
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 | 1 +
5 files changed, 85 insertions(+)
--
2.7.4
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH 1/3] ARM: dts: stm32: add DMA memory pool on MCU which embed a cortex-M7 2017-12-12 18:02 [PATCH 0/3] Enable DMA on STM32 MCU based on cortex-M7 Alexandre Torgue @ 2017-12-12 18:02 ` Alexandre Torgue 2017-12-13 10:06 ` Vladimir Murzin 2017-12-12 18:02 ` [PATCH 2/3] ARM: configs: stm32: Enable ARM_MPU Alexandre Torgue 2017-12-12 18:02 ` [PATCH 3/3] ARM: dts: stm32: enable dma on MCU which embed a cortex-M7 Alexandre Torgue 2 siblings, 1 reply; 9+ messages in thread From: Alexandre Torgue @ 2017-12-12 18:02 UTC (permalink / raw) To: linux-arm-kernel On cortex-M7 MCU, DMA have to use a non cache-able memory area. For this reason a dedicated memory pool is created for DMA. This patch creates a DMA memory pool of 1MB of each STM32 MCU which embeds a cortex-M7 expect stm32f746-disco. Indeed, as stm32f746-disco has only a 8MB SDRAM and it's tricky to reduce memory used by Kernel. Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com> diff --git a/arch/arm/boot/dts/stm32746g-eval.dts b/arch/arm/boot/dts/stm32746g-eval.dts index 2d4e717..3f52a7b 100644 --- a/arch/arm/boot/dts/stm32746g-eval.dts +++ b/arch/arm/boot/dts/stm32746g-eval.dts @@ -57,6 +57,19 @@ reg = <0xc0000000 0x2000000>; }; + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + linux,dma { + compatible = "shared-dma-pool"; + linux,dma-default; + no-map; + reg = <0xc1f00000 0x100000>; + }; + }; + aliases { serial0 = &usart1; }; diff --git a/arch/arm/boot/dts/stm32f769-disco.dts b/arch/arm/boot/dts/stm32f769-disco.dts index 4463ca1..08699a2 100644 --- a/arch/arm/boot/dts/stm32f769-disco.dts +++ b/arch/arm/boot/dts/stm32f769-disco.dts @@ -57,6 +57,19 @@ reg = <0xC0000000 0x1000000>; }; + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + linux,dma { + compatible = "shared-dma-pool"; + linux,dma-default; + no-map; + reg = <0xc0f00000 0x100000>; + }; + }; + aliases { serial0 = &usart1; }; diff --git a/arch/arm/boot/dts/stm32h743i-disco.dts b/arch/arm/boot/dts/stm32h743i-disco.dts index 79e841d..104545a 100644 --- a/arch/arm/boot/dts/stm32h743i-disco.dts +++ b/arch/arm/boot/dts/stm32h743i-disco.dts @@ -57,6 +57,19 @@ reg = <0xd0000000 0x2000000>; }; + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + linux,dma { + compatible = "shared-dma-pool"; + linux,dma-default; + no-map; + reg = <0xc1f00000 0x100000>; + }; + }; + aliases { serial0 = &usart2; }; diff --git a/arch/arm/boot/dts/stm32h743i-eval.dts b/arch/arm/boot/dts/stm32h743i-eval.dts index 9f0e72c..5bd4b16 100644 --- a/arch/arm/boot/dts/stm32h743i-eval.dts +++ b/arch/arm/boot/dts/stm32h743i-eval.dts @@ -57,6 +57,19 @@ reg = <0xd0000000 0x2000000>; }; + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + linux,dma { + compatible = "shared-dma-pool"; + linux,dma-default; + no-map; + reg = <0xc1f00000 0x100000>; + }; + }; + aliases { serial0 = &usart1; }; -- 2.7.4 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 1/3] ARM: dts: stm32: add DMA memory pool on MCU which embed a cortex-M7 2017-12-12 18:02 ` [PATCH 1/3] ARM: dts: stm32: add DMA memory pool on MCU which embed a cortex-M7 Alexandre Torgue @ 2017-12-13 10:06 ` Vladimir Murzin 2017-12-13 10:28 ` Alexandre TORGUE 2017-12-13 12:50 ` Alexandre TORGUE 0 siblings, 2 replies; 9+ messages in thread From: Vladimir Murzin @ 2017-12-13 10:06 UTC (permalink / raw) To: linux-arm-kernel On 12/12/17 18:02, Alexandre Torgue wrote: > On cortex-M7 MCU, DMA have to use a non cache-able memory area. For this > reason a dedicated memory pool is created for DMA. > This patch creates a DMA memory pool of 1MB of each STM32 MCU which > embeds a cortex-M7 expect stm32f746-disco. Indeed, as stm32f746-disco has ^^^^^^ except? > only a 8MB SDRAM and it's tricky to reduce memory used by Kernel. I guess that 1MB is a kind of "should be enough" estimate, probably something along with [1] would give you exact numbers... > > Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com> > > diff --git a/arch/arm/boot/dts/stm32746g-eval.dts b/arch/arm/boot/dts/stm32746g-eval.dts > index 2d4e717..3f52a7b 100644 > --- a/arch/arm/boot/dts/stm32746g-eval.dts > +++ b/arch/arm/boot/dts/stm32746g-eval.dts > @@ -57,6 +57,19 @@ > reg = <0xc0000000 0x2000000>; > }; > > + reserved-memory { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + linux,dma { > + compatible = "shared-dma-pool"; > + linux,dma-default; > + no-map; > + reg = <0xc1f00000 0x100000>; > + }; > + }; > + > aliases { > serial0 = &usart1; > }; > diff --git a/arch/arm/boot/dts/stm32f769-disco.dts b/arch/arm/boot/dts/stm32f769-disco.dts > index 4463ca1..08699a2 100644 > --- a/arch/arm/boot/dts/stm32f769-disco.dts > +++ b/arch/arm/boot/dts/stm32f769-disco.dts > @@ -57,6 +57,19 @@ > reg = <0xC0000000 0x1000000>; > }; > > + reserved-memory { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + linux,dma { > + compatible = "shared-dma-pool"; > + linux,dma-default; > + no-map; > + reg = <0xc0f00000 0x100000>; > + }; > + }; > + > aliases { > serial0 = &usart1; > }; > diff --git a/arch/arm/boot/dts/stm32h743i-disco.dts b/arch/arm/boot/dts/stm32h743i-disco.dts > index 79e841d..104545a 100644 > --- a/arch/arm/boot/dts/stm32h743i-disco.dts > +++ b/arch/arm/boot/dts/stm32h743i-disco.dts > @@ -57,6 +57,19 @@ > reg = <0xd0000000 0x2000000>; > }; > > + reserved-memory { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + linux,dma { > + compatible = "shared-dma-pool"; > + linux,dma-default; > + no-map; > + reg = <0xc1f00000 0x100000>; > + }; > + }; > + > aliases { > serial0 = &usart2; > }; > diff --git a/arch/arm/boot/dts/stm32h743i-eval.dts b/arch/arm/boot/dts/stm32h743i-eval.dts > index 9f0e72c..5bd4b16 100644 > --- a/arch/arm/boot/dts/stm32h743i-eval.dts > +++ b/arch/arm/boot/dts/stm32h743i-eval.dts > @@ -57,6 +57,19 @@ > reg = <0xd0000000 0x2000000>; > }; > > + reserved-memory { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + linux,dma { > + compatible = "shared-dma-pool"; > + linux,dma-default; > + no-map; > + reg = <0xc1f00000 0x100000>; > + }; > + }; > + > aliases { > serial0 = &usart1; > }; > Usage of dma-default looks correct to me, so FWIW Reviewed-by: Vladimir Murzin <vladimir.murzin@arm.com> [1] https://lkml.org/lkml/2017/7/7/296 Vladimir ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/3] ARM: dts: stm32: add DMA memory pool on MCU which embed a cortex-M7 2017-12-13 10:06 ` Vladimir Murzin @ 2017-12-13 10:28 ` Alexandre TORGUE 2017-12-13 12:50 ` Alexandre TORGUE 1 sibling, 0 replies; 9+ messages in thread From: Alexandre TORGUE @ 2017-12-13 10:28 UTC (permalink / raw) To: linux-arm-kernel -----Original Message----- From: Vladimir Murzin [mailto:vladimir.murzin at arm.com] Sent: mercredi 13 d?cembre 2017 11:07 To: Alexandre TORGUE <alexandre.torgue@st.com>; Maxime Coquelin <mcoquelin.stm32@gmail.com>; arnd at arndb.de; robh+dt at kernel.org; mark.rutland at arm.com; linux at armlinux.org.uk; Patrice CHOTARD <patrice.chotard@st.com>; lee.jones at linaro.org Cc: devicetree at vger.kernel.org; linux-arm-kernel at lists.infradead.org Subject: Re: [PATCH 1/3] ARM: dts: stm32: add DMA memory pool on MCU which embed a cortex-M7 On 12/12/17 18:02, Alexandre Torgue wrote: > On cortex-M7 MCU, DMA have to use a non cache-able memory area. For > this reason a dedicated memory pool is created for DMA. > This patch creates a DMA memory pool of 1MB of each STM32 MCU which > embeds a cortex-M7 expect stm32f746-disco. Indeed, as stm32f746-disco > has ^^^^^^ except? Sorry, Is there a typo issue (or just wording issue) ? > only a 8MB SDRAM and it's tricky to reduce memory used by Kernel. I guess that 1MB is a kind of "should be enough" estimate, probably something along with [1] would give you exact numbers... Exactly, 1MB is a kind "should be enough" and code is here to show that we need a dedicated memory area for DMA. But this value has to be adapt regarding to use case needed by users. Thanks for the lkml link. It will help users to adapt DMA area and thanks for reviewing. Regards Alex > > Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com> > > diff --git a/arch/arm/boot/dts/stm32746g-eval.dts > b/arch/arm/boot/dts/stm32746g-eval.dts > index 2d4e717..3f52a7b 100644 > --- a/arch/arm/boot/dts/stm32746g-eval.dts > +++ b/arch/arm/boot/dts/stm32746g-eval.dts > @@ -57,6 +57,19 @@ > reg = <0xc0000000 0x2000000>; > }; > > + reserved-memory { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + linux,dma { > + compatible = "shared-dma-pool"; > + linux,dma-default; > + no-map; > + reg = <0xc1f00000 0x100000>; > + }; > + }; > + > aliases { > serial0 = &usart1; > }; > diff --git a/arch/arm/boot/dts/stm32f769-disco.dts > b/arch/arm/boot/dts/stm32f769-disco.dts > index 4463ca1..08699a2 100644 > --- a/arch/arm/boot/dts/stm32f769-disco.dts > +++ b/arch/arm/boot/dts/stm32f769-disco.dts > @@ -57,6 +57,19 @@ > reg = <0xC0000000 0x1000000>; > }; > > + reserved-memory { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + linux,dma { > + compatible = "shared-dma-pool"; > + linux,dma-default; > + no-map; > + reg = <0xc0f00000 0x100000>; > + }; > + }; > + > aliases { > serial0 = &usart1; > }; > diff --git a/arch/arm/boot/dts/stm32h743i-disco.dts > b/arch/arm/boot/dts/stm32h743i-disco.dts > index 79e841d..104545a 100644 > --- a/arch/arm/boot/dts/stm32h743i-disco.dts > +++ b/arch/arm/boot/dts/stm32h743i-disco.dts > @@ -57,6 +57,19 @@ > reg = <0xd0000000 0x2000000>; > }; > > + reserved-memory { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + linux,dma { > + compatible = "shared-dma-pool"; > + linux,dma-default; > + no-map; > + reg = <0xc1f00000 0x100000>; > + }; > + }; > + > aliases { > serial0 = &usart2; > }; > diff --git a/arch/arm/boot/dts/stm32h743i-eval.dts > b/arch/arm/boot/dts/stm32h743i-eval.dts > index 9f0e72c..5bd4b16 100644 > --- a/arch/arm/boot/dts/stm32h743i-eval.dts > +++ b/arch/arm/boot/dts/stm32h743i-eval.dts > @@ -57,6 +57,19 @@ > reg = <0xd0000000 0x2000000>; > }; > > + reserved-memory { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + linux,dma { > + compatible = "shared-dma-pool"; > + linux,dma-default; > + no-map; > + reg = <0xc1f00000 0x100000>; > + }; > + }; > + > aliases { > serial0 = &usart1; > }; > Usage of dma-default looks correct to me, so FWIW Reviewed-by: Vladimir Murzin <vladimir.murzin@arm.com> [1] https://lkml.org/lkml/2017/7/7/296 Vladimir ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/3] ARM: dts: stm32: add DMA memory pool on MCU which embed a cortex-M7 2017-12-13 10:06 ` Vladimir Murzin 2017-12-13 10:28 ` Alexandre TORGUE @ 2017-12-13 12:50 ` Alexandre TORGUE 1 sibling, 0 replies; 9+ messages in thread From: Alexandre TORGUE @ 2017-12-13 12:50 UTC (permalink / raw) To: linux-arm-kernel -----Original Message----- From: Alexandre TORGUE Sent: mercredi 13 d?cembre 2017 11:28 To: 'Vladimir Murzin' <vladimir.murzin@arm.com>; Maxime Coquelin <mcoquelin.stm32@gmail.com>; arnd at arndb.de; robh+dt at kernel.org; mark.rutland at arm.com; linux at armlinux.org.uk; Patrice CHOTARD <patrice.chotard@st.com>; lee.jones at linaro.org Cc: devicetree at vger.kernel.org; linux-arm-kernel at lists.infradead.org Subject: RE: [PATCH 1/3] ARM: dts: stm32: add DMA memory pool on MCU which embed a cortex-M7 -----Original Message----- From: Vladimir Murzin [mailto:vladimir.murzin at arm.com] Sent: mercredi 13 d?cembre 2017 11:07 To: Alexandre TORGUE <alexandre.torgue@st.com>; Maxime Coquelin <mcoquelin.stm32@gmail.com>; arnd at arndb.de; robh+dt at kernel.org; mark.rutland at arm.com; linux at armlinux.org.uk; Patrice CHOTARD <patrice.chotard@st.com>; lee.jones at linaro.org Cc: devicetree at vger.kernel.org; linux-arm-kernel at lists.infradead.org Subject: Re: [PATCH 1/3] ARM: dts: stm32: add DMA memory pool on MCU which embed a cortex-M7 On 12/12/17 18:02, Alexandre Torgue wrote: > On cortex-M7 MCU, DMA have to use a non cache-able memory area. For > this reason a dedicated memory pool is created for DMA. > This patch creates a DMA memory pool of 1MB of each STM32 MCU which > embeds a cortex-M7 expect stm32f746-disco. Indeed, as stm32f746-disco > has ^^^^^^ except? Sorry, Is there a typo issue (or just wording issue) ? Sorry I was not awake this morning. If no v2 I will fix this typo when I will apply patch on my tree. > only a 8MB SDRAM and it's tricky to reduce memory used by Kernel. I guess that 1MB is a kind of "should be enough" estimate, probably something along with [1] would give you exact numbers... Exactly, 1MB is a kind "should be enough" and code is here to show that we need a dedicated memory area for DMA. But this value has to be adapt regarding to use case needed by users. Thanks for the lkml link. It will help users to adapt DMA area and thanks for reviewing. Regards Alex > > Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com> > > diff --git a/arch/arm/boot/dts/stm32746g-eval.dts > b/arch/arm/boot/dts/stm32746g-eval.dts > index 2d4e717..3f52a7b 100644 > --- a/arch/arm/boot/dts/stm32746g-eval.dts > +++ b/arch/arm/boot/dts/stm32746g-eval.dts > @@ -57,6 +57,19 @@ > reg = <0xc0000000 0x2000000>; > }; > > + reserved-memory { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + linux,dma { > + compatible = "shared-dma-pool"; > + linux,dma-default; > + no-map; > + reg = <0xc1f00000 0x100000>; > + }; > + }; > + > aliases { > serial0 = &usart1; > }; > diff --git a/arch/arm/boot/dts/stm32f769-disco.dts > b/arch/arm/boot/dts/stm32f769-disco.dts > index 4463ca1..08699a2 100644 > --- a/arch/arm/boot/dts/stm32f769-disco.dts > +++ b/arch/arm/boot/dts/stm32f769-disco.dts > @@ -57,6 +57,19 @@ > reg = <0xC0000000 0x1000000>; > }; > > + reserved-memory { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + linux,dma { > + compatible = "shared-dma-pool"; > + linux,dma-default; > + no-map; > + reg = <0xc0f00000 0x100000>; > + }; > + }; > + > aliases { > serial0 = &usart1; > }; > diff --git a/arch/arm/boot/dts/stm32h743i-disco.dts > b/arch/arm/boot/dts/stm32h743i-disco.dts > index 79e841d..104545a 100644 > --- a/arch/arm/boot/dts/stm32h743i-disco.dts > +++ b/arch/arm/boot/dts/stm32h743i-disco.dts > @@ -57,6 +57,19 @@ > reg = <0xd0000000 0x2000000>; > }; > > + reserved-memory { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + linux,dma { > + compatible = "shared-dma-pool"; > + linux,dma-default; > + no-map; > + reg = <0xc1f00000 0x100000>; > + }; > + }; > + > aliases { > serial0 = &usart2; > }; > diff --git a/arch/arm/boot/dts/stm32h743i-eval.dts > b/arch/arm/boot/dts/stm32h743i-eval.dts > index 9f0e72c..5bd4b16 100644 > --- a/arch/arm/boot/dts/stm32h743i-eval.dts > +++ b/arch/arm/boot/dts/stm32h743i-eval.dts > @@ -57,6 +57,19 @@ > reg = <0xd0000000 0x2000000>; > }; > > + reserved-memory { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + linux,dma { > + compatible = "shared-dma-pool"; > + linux,dma-default; > + no-map; > + reg = <0xc1f00000 0x100000>; > + }; > + }; > + > aliases { > serial0 = &usart1; > }; > Usage of dma-default looks correct to me, so FWIW Reviewed-by: Vladimir Murzin <vladimir.murzin@arm.com> [1] https://lkml.org/lkml/2017/7/7/296 Vladimir ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/3] ARM: configs: stm32: Enable ARM_MPU 2017-12-12 18:02 [PATCH 0/3] Enable DMA on STM32 MCU based on cortex-M7 Alexandre Torgue 2017-12-12 18:02 ` [PATCH 1/3] ARM: dts: stm32: add DMA memory pool on MCU which embed a cortex-M7 Alexandre Torgue @ 2017-12-12 18:02 ` Alexandre Torgue 2017-12-13 10:11 ` Vladimir Murzin 2017-12-12 18:02 ` [PATCH 3/3] ARM: dts: stm32: enable dma on MCU which embed a cortex-M7 Alexandre Torgue 2 siblings, 1 reply; 9+ messages in thread From: Alexandre Torgue @ 2017-12-12 18:02 UTC (permalink / raw) To: linux-arm-kernel STM32 MCUs embed a Memory Protection Unit. Enabling this setting will allow the Kernel to configure the MPU according to devicetree. Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com> diff --git a/arch/arm/configs/stm32_defconfig b/arch/arm/configs/stm32_defconfig index bb358ff..e642bdf9 100644 --- a/arch/arm/configs/stm32_defconfig +++ b/arch/arm/configs/stm32_defconfig @@ -24,6 +24,7 @@ CONFIG_SET_MEM_PARAM=y CONFIG_DRAM_BASE=0x90000000 CONFIG_FLASH_MEM_BASE=0x08000000 CONFIG_FLASH_SIZE=0x00200000 +CONFIG_ARM_MPU=y CONFIG_PREEMPT=y # CONFIG_ATAGS is not set CONFIG_ZBOOT_ROM_TEXT=0x0 -- 2.7.4 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/3] ARM: configs: stm32: Enable ARM_MPU 2017-12-12 18:02 ` [PATCH 2/3] ARM: configs: stm32: Enable ARM_MPU Alexandre Torgue @ 2017-12-13 10:11 ` Vladimir Murzin 2018-02-27 17:11 ` Alexandre Torgue 0 siblings, 1 reply; 9+ messages in thread From: Vladimir Murzin @ 2017-12-13 10:11 UTC (permalink / raw) To: linux-arm-kernel On 12/12/17 18:02, Alexandre Torgue wrote: > STM32 MCUs embed a Memory Protection Unit. Enabling this setting will > allow the Kernel to configure the MPU according to devicetree. Would it be better to "select ARM_MPU" for machines with Cortex-M7? Vladimir > > Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com> > > diff --git a/arch/arm/configs/stm32_defconfig b/arch/arm/configs/stm32_defconfig > index bb358ff..e642bdf9 100644 > --- a/arch/arm/configs/stm32_defconfig > +++ b/arch/arm/configs/stm32_defconfig > @@ -24,6 +24,7 @@ CONFIG_SET_MEM_PARAM=y > CONFIG_DRAM_BASE=0x90000000 > CONFIG_FLASH_MEM_BASE=0x08000000 > CONFIG_FLASH_SIZE=0x00200000 > +CONFIG_ARM_MPU=y > CONFIG_PREEMPT=y > # CONFIG_ATAGS is not set > CONFIG_ZBOOT_ROM_TEXT=0x0 > ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/3] ARM: configs: stm32: Enable ARM_MPU 2017-12-13 10:11 ` Vladimir Murzin @ 2018-02-27 17:11 ` Alexandre Torgue 0 siblings, 0 replies; 9+ messages in thread From: Alexandre Torgue @ 2018-02-27 17:11 UTC (permalink / raw) To: linux-arm-kernel Hi Vlad On 12/13/2017 11:11 AM, Vladimir Murzin wrote: > On 12/12/17 18:02, Alexandre Torgue wrote: >> STM32 MCUs embed a Memory Protection Unit. Enabling this setting will >> allow the Kernel to configure the MPU according to devicetree. > > Would it be better to "select ARM_MPU" for machines with Cortex-M7? Sorry for this late answer. You are right I will use a "select" only for stm32f7 and stm32h7 machines in mach-stm32/Kconfig. Regards Alex > > Vladimir > >> >> Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com> >> >> diff --git a/arch/arm/configs/stm32_defconfig b/arch/arm/configs/stm32_defconfig >> index bb358ff..e642bdf9 100644 >> --- a/arch/arm/configs/stm32_defconfig >> +++ b/arch/arm/configs/stm32_defconfig >> @@ -24,6 +24,7 @@ CONFIG_SET_MEM_PARAM=y >> CONFIG_DRAM_BASE=0x90000000 >> CONFIG_FLASH_MEM_BASE=0x08000000 >> CONFIG_FLASH_SIZE=0x00200000 >> +CONFIG_ARM_MPU=y >> CONFIG_PREEMPT=y >> # CONFIG_ATAGS is not set >> CONFIG_ZBOOT_ROM_TEXT=0x0 >> > ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 3/3] ARM: dts: stm32: enable dma on MCU which embed a cortex-M7 2017-12-12 18:02 [PATCH 0/3] Enable DMA on STM32 MCU based on cortex-M7 Alexandre Torgue 2017-12-12 18:02 ` [PATCH 1/3] ARM: dts: stm32: add DMA memory pool on MCU which embed a cortex-M7 Alexandre Torgue 2017-12-12 18:02 ` [PATCH 2/3] ARM: configs: stm32: Enable ARM_MPU Alexandre Torgue @ 2017-12-12 18:02 ` Alexandre Torgue 2 siblings, 0 replies; 9+ messages in thread From: Alexandre Torgue @ 2017-12-12 18:02 UTC (permalink / raw) To: linux-arm-kernel Enable dma1 and dma2 on: -stm32746g-eval board -stm32f769-disco board -stm32h743i-disco board -stm32h743i-eval board Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com> diff --git a/arch/arm/boot/dts/stm32746g-eval.dts b/arch/arm/boot/dts/stm32746g-eval.dts index 3f52a7b..2662a27 100644 --- a/arch/arm/boot/dts/stm32746g-eval.dts +++ b/arch/arm/boot/dts/stm32746g-eval.dts @@ -113,6 +113,14 @@ status = "okay"; }; +&dma1 { + status = "okay"; +}; + +&dma2 { + status = "okay"; +}; + &i2c1 { pinctrl-0 = <&i2c1_pins_b>; pinctrl-names = "default"; diff --git a/arch/arm/boot/dts/stm32f769-disco.dts b/arch/arm/boot/dts/stm32f769-disco.dts index 08699a2..b9b1ffd 100644 --- a/arch/arm/boot/dts/stm32f769-disco.dts +++ b/arch/arm/boot/dts/stm32f769-disco.dts @@ -86,6 +86,14 @@ clock-frequency = <25000000>; }; +&dma1 { + status = "okay"; +}; + +&dma2 { + status = "okay"; +}; + &usart1 { pinctrl-0 = <&usart1_pins_a>; pinctrl-names = "default"; diff --git a/arch/arm/boot/dts/stm32h743i-disco.dts b/arch/arm/boot/dts/stm32h743i-disco.dts index 104545a..2d9e553 100644 --- a/arch/arm/boot/dts/stm32h743i-disco.dts +++ b/arch/arm/boot/dts/stm32h743i-disco.dts @@ -79,6 +79,14 @@ clock-frequency = <125000000>; }; +&dma1 { + status = "okay"; +}; + +&dma2 { + status = "okay"; +}; + &usart2 { pinctrl-0 = <&usart2_pins>; pinctrl-names = "default"; diff --git a/arch/arm/boot/dts/stm32h743i-eval.dts b/arch/arm/boot/dts/stm32h743i-eval.dts index 5bd4b16..3face6a 100644 --- a/arch/arm/boot/dts/stm32h743i-eval.dts +++ b/arch/arm/boot/dts/stm32h743i-eval.dts @@ -97,6 +97,14 @@ clock-frequency = <25000000>; }; +&dma1 { + status = "okay"; +}; + +&dma2 { + status = "okay"; +}; + &usart1 { pinctrl-0 = <&usart1_pins>; pinctrl-names = "default"; -- 2.7.4 ^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2018-02-27 17:11 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-12-12 18:02 [PATCH 0/3] Enable DMA on STM32 MCU based on cortex-M7 Alexandre Torgue 2017-12-12 18:02 ` [PATCH 1/3] ARM: dts: stm32: add DMA memory pool on MCU which embed a cortex-M7 Alexandre Torgue 2017-12-13 10:06 ` Vladimir Murzin 2017-12-13 10:28 ` Alexandre TORGUE 2017-12-13 12:50 ` Alexandre TORGUE 2017-12-12 18:02 ` [PATCH 2/3] ARM: configs: stm32: Enable ARM_MPU Alexandre Torgue 2017-12-13 10:11 ` Vladimir Murzin 2018-02-27 17:11 ` Alexandre Torgue 2017-12-12 18:02 ` [PATCH 3/3] ARM: dts: stm32: enable dma on MCU which embed a cortex-M7 Alexandre Torgue
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox