[U-Boot] [PATCH 2/5] arch-stm32: Move gpio.h for STM32 SoCs in include/asm/
Patrice CHOTARD
patrice.chotard at st.com
Thu Feb 8 13:35:42 UTC 2018
Hi Vikas
On 02/07/2018 08:28 PM, Vikas Manocha wrote:
> Hi Patrice,
>
> On 02/07/2018 07:50 AM, patrice.chotard at st.com wrote:
>> From: Patrice Chotard <patrice.chotard at st.com>
>>
>> Instead to have 3 identical gpio.h for all STM32 SoCs,
>> migrate them in one file in include/asm.
>
> good move to consolidate these headers.
> One comment below.
>
>>
>> Signed-off-by: Patrice Chotard <patrice.chotard at st.com>
[...]
>> -static inline unsigned stm32_gpio_to_pin(unsigned gpio)
>> -{
>> - return gpio % 16;
>> -}
>> +#include <asm/stm32_gpio.h>
>
> Hmm.. this header seems like dummy header(in all architectures f4/f7/h7) only to include gpio header here.
> Also arch/arm/include/asm/ does not seems like good place for soc specific header files.
Agree, but omap have put several omap_xxxx.h files too.
>
> how about creating one level like arch/arm/include/asm/arch-stm32/ to include common gpio.h here. It would fix both of above points.
> The same location can be used to move other commonalities in future.
It's possible to create an additionnal level
arch/arm/include/asm/arch-stm32/ and put specificities to each SoCs into :
arch/arm/include/asm/arch-stm32/stm32f4
arch/arm/include/asm/arch-stm32/stm32f7
arch/arm/include/asm/arch-stm32/stm32h7
If we focus on stm32f7, this implies to modify the content of
CONFIG_SYS_SOC from "stm32f7" to "stm32/stm32f7" in
board/st/stm32f746-disco/Kconfig but:
1) In any case, we can't include directly files located in
arch/arm/include/asm/arch-stm32 because SYS_SOC is used to build include
path.
For example in drivers/gpio/gpio-uclass.c,
#include <asm/gpio.h> is in fact #include <asm/<SYS_SOC>/gpio.h
so equal to #include <asm/arch-stm32/stm32f7/gpio.h
2) Other effect, now in "soc" environment variable, we will obtain
"stm32/stm32f7" instead of "stm32f7". This is not a big deal, but we
must add some code to extract the soc name from "soc" environment variable.
Both solution are not perfect.
Thanks
Patrice
>
> Cheers,
> Vikas
>
More information about the U-Boot
mailing list