Re: [PATCH V2 3/9] ARM: stm32: prepare stm32 family to welcome armv7 architecture

From: Ludovic BARRE
Date: Tue Dec 19 2017 - 10:56:05 EST




On 12/19/2017 04:26 PM, Arnd Bergmann wrote:
On Tue, Dec 19, 2017 at 3:43 PM, Ludovic BARRE <ludovic.barre@xxxxxx> wrote:


On 12/18/2017 09:24 PM, Arnd Bergmann wrote:

On Mon, Dec 18, 2017 at 4:17 PM, Ludovic Barre <ludovic.Barre@xxxxxx>
wrote:

From: Ludovic Barre <ludovic.barre@xxxxxx>

This patch prepares the STM32 machine for the integration of Cortex-A
based microprocessor (MPU), on top of the existing Cortex-M
microcontroller family (MCU). Since both MCUs and MPUs are sharing
common hardware blocks we can keep using ARCH_STM32 flag for most of
them. If a hardware block is specific to one family we can use either
ARM_SINGLE_ARMV7M or ARCH_MULTI_V7 flag.

Signed-off-by: Ludovic Barre <ludovic.barre@xxxxxx>


Looks good overall. Two more small comments:



+if ARCH_STM32
+
config MACH_STM32F429
- bool "STMicrolectronics STM32F429"
- depends on ARCH_STM32
+ bool "STMicroelectronics STM32F429"
+ depends on ARM_SINGLE_ARMV7M
default y


Instead of the explicit dependency for each board, I'd leave the
surrounding
'if ARM_SINGLE_ARMV7M'. I think you had in v1.


As you suggest, I follow mach-at91 example.
The point is on "depends on ARM_SINGLE_ARMV7M" ?
You prefer this way:
config MACH_STM32F429
bool "STMicroelectronics STM32F429" if ARM_SINGLE_ARMV7M
default y


No, that would be wrong, that way you would always enable
MACH_STM32F429 when ARM_SINGLE_ARMV7M is turned
off, which is exactly the wrong way round. What I meant is

if ARCH_STM32

if ARM_SINGLE_ARMV7M

config MACH_STM32F429
bool "STMicrolectronics STM32F429"

config MACH_STM32...
...

endif # ARMv7-M

if ARCH_MULTI_V7

config MACH_STM32...
...

endif # ARMv7-A

endif # STM32

Arnd

Ok, it's clear :-)