* [PATCH] ARM: stm32: Permit multiple board targets
@ 2019-12-18 6:59 Marek Vasut
2019-12-18 13:20 ` Patrick DELAUNAY
0 siblings, 1 reply; 6+ messages in thread
From: Marek Vasut @ 2019-12-18 6:59 UTC (permalink / raw)
To: u-boot
Setting TARGET_STM32MP1 in Kconfig always forces SYS_BOARD, SYS_VENDOR
and SYS_CONFIG_NAME to values set by the ST reference platforms. Allow
changing that by pulling out the TARGET_STM32MP157C_DK2 and making the
ST reference platform settings conditional on TARGET_STM32MP157C_DK2 .
Other platforms can now define a different TARGET_ and thus override
the SYS_ settings in their Kconfig.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
---
board/st/stm32mp1/Kconfig | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/board/st/stm32mp1/Kconfig b/board/st/stm32mp1/Kconfig
index 4fa2360b4f..c84aa41f06 100644
--- a/board/st/stm32mp1/Kconfig
+++ b/board/st/stm32mp1/Kconfig
@@ -1,4 +1,8 @@
-if TARGET_STM32MP1
+config TARGET_STM32MP157C_DK2
+ bool "support of STMicroelectronics STM32MP157C-DK2 Discovery Board"
+ default y
+
+if TARGET_STM32MP157C_DK2
config SYS_BOARD
default "stm32mp1"
@@ -22,8 +26,4 @@ config CMD_STBOARD
This compile the stboard command to
read and write the board in the OTP.
-config TARGET_STM32MP157C_DK2
- bool "support of STMicroelectronics STM32MP157C-DK2 Discovery Board"
- default y
-
endif
--
2.24.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH] ARM: stm32: Permit multiple board targets
2019-12-18 6:59 [PATCH] ARM: stm32: Permit multiple board targets Marek Vasut
@ 2019-12-18 13:20 ` Patrick DELAUNAY
2019-12-18 14:04 ` Patrick DELAUNAY
2019-12-18 14:11 ` Marek Vasut
0 siblings, 2 replies; 6+ messages in thread
From: Patrick DELAUNAY @ 2019-12-18 13:20 UTC (permalink / raw)
To: u-boot
Hi Marek,
> From: Marek Vasut <marex@denx.de>
> Sent: mercredi 18 décembre 2019 07:59
>
> Setting TARGET_STM32MP1 in Kconfig always forces SYS_BOARD,
> SYS_VENDOR and SYS_CONFIG_NAME to values set by the ST reference
> platforms. Allow changing that by pulling out the TARGET_STM32MP157C_DK2
> and making the ST reference platform settings conditional on
> TARGET_STM32MP157C_DK2 .
> Other platforms can now define a different TARGET_ and thus override the SYS_
> settings in their Kconfig.
>
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Patrick Delaunay <patrick.delaunay@st.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> ---
> board/st/stm32mp1/Kconfig | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/board/st/stm32mp1/Kconfig b/board/st/stm32mp1/Kconfig index
> 4fa2360b4f..c84aa41f06 100644
> --- a/board/st/stm32mp1/Kconfig
> +++ b/board/st/stm32mp1/Kconfig
> @@ -1,4 +1,8 @@
> -if TARGET_STM32MP1
> +config TARGET_STM32MP157C_DK2
> + bool "support of STMicroelectronics STM32MP157C-DK2 Discovery
> Board"
> + default y
> +
> +if TARGET_STM32MP157C_DK2
>
> config SYS_BOARD
> default "stm32mp1"
> @@ -22,8 +26,4 @@ config CMD_STBOARD
> This compile the stboard command to
> read and write the board in the OTP.
>
> -config TARGET_STM32MP157C_DK2
> - bool "support of STMicroelectronics STM32MP157C-DK2 Discovery
> Board"
> - default y
I try to understood the issue but checked DK2 is not enought
(I will soon introduce a new config for EV1 support)
What it the use case ?
Add a new board (not a board provided by ST) which are managed by a new directory
board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
I think, if it is the case, we should test CONFIG_SYS_VENDOR = "stm32mp1"
in board/st/stm32mp1/Kconfig
And move CONFIG_SYS_VENDOR to arch
NB: default value can be overidde in your board defconfig...
Normally:
- stm32mp1_trusted_defconfig
- stm32mp1_basic_defconfig
- stm32mp1_optee_defconfig
only support the directory ST board with board/st/stm32mp1
> endif
> --
> 2.24.1
Patrick
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] ARM: stm32: Permit multiple board targets
2019-12-18 13:20 ` Patrick DELAUNAY
@ 2019-12-18 14:04 ` Patrick DELAUNAY
2019-12-18 14:14 ` Marek Vasut
2019-12-18 14:11 ` Marek Vasut
1 sibling, 1 reply; 6+ messages in thread
From: Patrick DELAUNAY @ 2019-12-18 14:04 UTC (permalink / raw)
To: u-boot
Hi Marek,
> From: Patrick DELAUNAY
> Sent: mercredi 18 décembre 2019 14:20
>
> Hi Marek,
>
> > From: Marek Vasut <marex@denx.de>
> > Sent: mercredi 18 décembre 2019 07:59
> >
> > Setting TARGET_STM32MP1 in Kconfig always forces SYS_BOARD,
> SYS_VENDOR
> > and SYS_CONFIG_NAME to values set by the ST reference platforms. Allow
> > changing that by pulling out the TARGET_STM32MP157C_DK2 and making the
> > ST reference platform settings conditional on
> > TARGET_STM32MP157C_DK2 .
> > Other platforms can now define a different TARGET_ and thus override
> > the SYS_ settings in their Kconfig.
> >
> > Signed-off-by: Marek Vasut <marex@denx.de>
> > Cc: Patrick Delaunay <patrick.delaunay@st.com>
> > Cc: Patrice Chotard <patrice.chotard@st.com>
> > ---
> > board/st/stm32mp1/Kconfig | 10 +++++-----
> > 1 file changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/board/st/stm32mp1/Kconfig b/board/st/stm32mp1/Kconfig
> > index
> > 4fa2360b4f..c84aa41f06 100644
> > --- a/board/st/stm32mp1/Kconfig
> > +++ b/board/st/stm32mp1/Kconfig
> > @@ -1,4 +1,8 @@
> > -if TARGET_STM32MP1
> > +config TARGET_STM32MP157C_DK2
> > + bool "support of STMicroelectronics STM32MP157C-DK2 Discovery
> > Board"
> > + default y
> > +
> > +if TARGET_STM32MP157C_DK2
> >
> > config SYS_BOARD
> > default "stm32mp1"
> > @@ -22,8 +26,4 @@ config CMD_STBOARD
> > This compile the stboard command to
> > read and write the board in the OTP.
> >
> > -config TARGET_STM32MP157C_DK2
> > - bool "support of STMicroelectronics STM32MP157C-DK2 Discovery
> > Board"
> > - default y
>
> I try to understood the issue but checked DK2 is not enought (I will soon introduce
> a new config for EV1 support)
>
> What it the use case ?
>
> Add a new board (not a board provided by ST) which are managed by a new
> directory
> board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
>
> I think, if it is the case, we should test CONFIG_SYS_VENDOR = "stm32mp1"
> in board/st/stm32mp1/Kconfig
>
> And move CONFIG_SYS_VENDOR to arch
>
> NB: default value can be overidde in your board defconfig...
>
> Normally:
> - stm32mp1_trusted_defconfig
> - stm32mp1_basic_defconfig
> - stm32mp1_optee_defconfig
>
> only support the directory ST board with board/st/stm32mp1
After deeper check => it is already managed by the config
CONFIG_TARGET_STM32MP1
board/st/stm32mp1.Kconfig
dtb-$(CONFIG_TARGET_STM32MP1) += \
stm32mp157a-dk1.dtb \
stm32mp157a-avenger96.dtb \
stm32mp157c-dk2.dtb \
stm32mp157c-ed1.dtb \
stm32mp157c-ev1.dtb
Activated by default in the ST defconfig (stm32mp1_trusted_defconfig, stm32mp1_basic_defconfig, stm32mp1_optee_defconfig)
Do you need other way of configuration ?
Patrick
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] ARM: stm32: Permit multiple board targets
2019-12-18 13:20 ` Patrick DELAUNAY
2019-12-18 14:04 ` Patrick DELAUNAY
@ 2019-12-18 14:11 ` Marek Vasut
1 sibling, 0 replies; 6+ messages in thread
From: Marek Vasut @ 2019-12-18 14:11 UTC (permalink / raw)
To: u-boot
On 12/18/19 2:20 PM, Patrick DELAUNAY wrote:
> Hi Marek,
Hi,
>> From: Marek Vasut <marex@denx.de>
>> Sent: mercredi 18 décembre 2019 07:59
>>
>> Setting TARGET_STM32MP1 in Kconfig always forces SYS_BOARD,
>> SYS_VENDOR and SYS_CONFIG_NAME to values set by the ST reference
>> platforms. Allow changing that by pulling out the TARGET_STM32MP157C_DK2
>> and making the ST reference platform settings conditional on
>> TARGET_STM32MP157C_DK2 .
>> Other platforms can now define a different TARGET_ and thus override the SYS_
>> settings in their Kconfig.
>>
>> Signed-off-by: Marek Vasut <marex@denx.de>
>> Cc: Patrick Delaunay <patrick.delaunay@st.com>
>> Cc: Patrice Chotard <patrice.chotard@st.com>
>> ---
>> board/st/stm32mp1/Kconfig | 10 +++++-----
>> 1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/board/st/stm32mp1/Kconfig b/board/st/stm32mp1/Kconfig index
>> 4fa2360b4f..c84aa41f06 100644
>> --- a/board/st/stm32mp1/Kconfig
>> +++ b/board/st/stm32mp1/Kconfig
>> @@ -1,4 +1,8 @@
>> -if TARGET_STM32MP1
>> +config TARGET_STM32MP157C_DK2
>> + bool "support of STMicroelectronics STM32MP157C-DK2 Discovery
>> Board"
>> + default y
>> +
>> +if TARGET_STM32MP157C_DK2
>>
>> config SYS_BOARD
>> default "stm32mp1"
>> @@ -22,8 +26,4 @@ config CMD_STBOARD
>> This compile the stboard command to
>> read and write the board in the OTP.
>>
>> -config TARGET_STM32MP157C_DK2
>> - bool "support of STMicroelectronics STM32MP157C-DK2 Discovery
>> Board"
>> - default y
>
> I try to understood the issue but checked DK2 is not enought
> (I will soon introduce a new config for EV1 support)
>
> What it the use case ?
Custom board.
> Add a new board (not a board provided by ST) which are managed by a new directory
> board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
>
> I think, if it is the case, we should test CONFIG_SYS_VENDOR = "stm32mp1"
> in board/st/stm32mp1/Kconfig
>
> And move CONFIG_SYS_VENDOR to arch
Nope, SYS_VENDOR is the board manufacturer . For you it's ST, for me
it's "thus far undisclosed custom board vendor".
> NB: default value can be overidde in your board defconfig...
>
> Normally:
> - stm32mp1_trusted_defconfig
> - stm32mp1_basic_defconfig
> - stm32mp1_optee_defconfig
>
> only support the directory ST board with board/st/stm32mp1
That's not how it's supposed to work -- these values should be defaulted
in Kconfig.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] ARM: stm32: Permit multiple board targets
2019-12-18 14:04 ` Patrick DELAUNAY
@ 2019-12-18 14:14 ` Marek Vasut
2019-12-18 15:58 ` Patrick DELAUNAY
0 siblings, 1 reply; 6+ messages in thread
From: Marek Vasut @ 2019-12-18 14:14 UTC (permalink / raw)
To: u-boot
On 12/18/19 3:04 PM, Patrick DELAUNAY wrote:
> Hi Marek,
>
>> From: Patrick DELAUNAY
>> Sent: mercredi 18 décembre 2019 14:20
>>
>> Hi Marek,
>>
>>> From: Marek Vasut <marex@denx.de>
>>> Sent: mercredi 18 décembre 2019 07:59
>>>
>>> Setting TARGET_STM32MP1 in Kconfig always forces SYS_BOARD,
>> SYS_VENDOR
>>> and SYS_CONFIG_NAME to values set by the ST reference platforms. Allow
>>> changing that by pulling out the TARGET_STM32MP157C_DK2 and making the
>>> ST reference platform settings conditional on
>>> TARGET_STM32MP157C_DK2 .
>>> Other platforms can now define a different TARGET_ and thus override
>>> the SYS_ settings in their Kconfig.
>>>
>>> Signed-off-by: Marek Vasut <marex@denx.de>
>>> Cc: Patrick Delaunay <patrick.delaunay@st.com>
>>> Cc: Patrice Chotard <patrice.chotard@st.com>
>>> ---
>>> board/st/stm32mp1/Kconfig | 10 +++++-----
>>> 1 file changed, 5 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/board/st/stm32mp1/Kconfig b/board/st/stm32mp1/Kconfig
>>> index
>>> 4fa2360b4f..c84aa41f06 100644
>>> --- a/board/st/stm32mp1/Kconfig
>>> +++ b/board/st/stm32mp1/Kconfig
>>> @@ -1,4 +1,8 @@
>>> -if TARGET_STM32MP1
>>> +config TARGET_STM32MP157C_DK2
>>> + bool "support of STMicroelectronics STM32MP157C-DK2 Discovery
>>> Board"
>>> + default y
>>> +
>>> +if TARGET_STM32MP157C_DK2
>>>
>>> config SYS_BOARD
>>> default "stm32mp1"
>>> @@ -22,8 +26,4 @@ config CMD_STBOARD
>>> This compile the stboard command to
>>> read and write the board in the OTP.
>>>
>>> -config TARGET_STM32MP157C_DK2
>>> - bool "support of STMicroelectronics STM32MP157C-DK2 Discovery
>>> Board"
>>> - default y
>>
>> I try to understood the issue but checked DK2 is not enought (I will soon introduce
>> a new config for EV1 support)
>>
>> What it the use case ?
>>
>> Add a new board (not a board provided by ST) which are managed by a new
>> directory
>> board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
>>
>> I think, if it is the case, we should test CONFIG_SYS_VENDOR = "stm32mp1"
>> in board/st/stm32mp1/Kconfig
>>
>> And move CONFIG_SYS_VENDOR to arch
>>
>> NB: default value can be overidde in your board defconfig...
>>
>> Normally:
>> - stm32mp1_trusted_defconfig
>> - stm32mp1_basic_defconfig
>> - stm32mp1_optee_defconfig
>>
>> only support the directory ST board with board/st/stm32mp1
>
> After deeper check => it is already managed by the config
>
> CONFIG_TARGET_STM32MP1
>
> board/st/stm32mp1.Kconfig
>
> dtb-$(CONFIG_TARGET_STM32MP1) += \
> stm32mp157a-dk1.dtb \
> stm32mp157a-avenger96.dtb \
> stm32mp157c-dk2.dtb \
> stm32mp157c-ed1.dtb \
> stm32mp157c-ev1.dtb
>
> Activated by default in the ST defconfig (stm32mp1_trusted_defconfig, stm32mp1_basic_defconfig, stm32mp1_optee_defconfig)
>
> Do you need other way of configuration ?
Yes, I need to override the configuration which is currently forced by
the ST Kconfig file. Hence this patch.
I can repost this patch with the board patch once that's ready. It might
make it easier to understand the purpose.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] ARM: stm32: Permit multiple board targets
2019-12-18 14:14 ` Marek Vasut
@ 2019-12-18 15:58 ` Patrick DELAUNAY
0 siblings, 0 replies; 6+ messages in thread
From: Patrick DELAUNAY @ 2019-12-18 15:58 UTC (permalink / raw)
To: u-boot
Hi,
> From: Marek Vasut <marex@denx.de>
> Sent: mercredi 18 décembre 2019 15:15
>
> On 12/18/19 3:04 PM, Patrick DELAUNAY wrote:
> > Hi Marek,
> >
> >> From: Patrick DELAUNAY
> >> Sent: mercredi 18 décembre 2019 14:20
> >>
> >> Hi Marek,
> >>
> >>> From: Marek Vasut <marex@denx.de>
> >>> Sent: mercredi 18 décembre 2019 07:59
> >>>
> >>> Setting TARGET_STM32MP1 in Kconfig always forces SYS_BOARD,
> >> SYS_VENDOR
> >>> and SYS_CONFIG_NAME to values set by the ST reference platforms.
> >>> Allow changing that by pulling out the TARGET_STM32MP157C_DK2 and
> >>> making the ST reference platform settings conditional on
> >>> TARGET_STM32MP157C_DK2 .
> >>> Other platforms can now define a different TARGET_ and thus override
> >>> the SYS_ settings in their Kconfig.
> >>>
> >>> Signed-off-by: Marek Vasut <marex@denx.de>
> >>> Cc: Patrick Delaunay <patrick.delaunay@st.com>
> >>> Cc: Patrice Chotard <patrice.chotard@st.com>
> >>> ---
> >>> board/st/stm32mp1/Kconfig | 10 +++++-----
> >>> 1 file changed, 5 insertions(+), 5 deletions(-)
> >>>
> >>> diff --git a/board/st/stm32mp1/Kconfig b/board/st/stm32mp1/Kconfig
> >>> index
> >>> 4fa2360b4f..c84aa41f06 100644
> >>> --- a/board/st/stm32mp1/Kconfig
> >>> +++ b/board/st/stm32mp1/Kconfig
> >>> @@ -1,4 +1,8 @@
> >>> -if TARGET_STM32MP1
> >>> +config TARGET_STM32MP157C_DK2
> >>> + bool "support of STMicroelectronics STM32MP157C-DK2 Discovery
> >>> Board"
> >>> + default y
> >>> +
> >>> +if TARGET_STM32MP157C_DK2
> >>>
> >>> config SYS_BOARD
> >>> default "stm32mp1"
> >>> @@ -22,8 +26,4 @@ config CMD_STBOARD
> >>> This compile the stboard command to
> >>> read and write the board in the OTP.
> >>>
> >>> -config TARGET_STM32MP157C_DK2
> >>> - bool "support of STMicroelectronics STM32MP157C-DK2 Discovery
> >>> Board"
> >>> - default y
> >>
> >> I try to understood the issue but checked DK2 is not enought (I will
> >> soon introduce a new config for EV1 support)
> >>
> >> What it the use case ?
> >>
> >> Add a new board (not a board provided by ST) which are managed by a
> >> new directory
> >> board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
> >>
> >> I think, if it is the case, we should test CONFIG_SYS_VENDOR = "stm32mp1"
> >> in board/st/stm32mp1/Kconfig
> >>
> >> And move CONFIG_SYS_VENDOR to arch
> >>
> >> NB: default value can be overidde in your board defconfig...
> >>
> >> Normally:
> >> - stm32mp1_trusted_defconfig
> >> - stm32mp1_basic_defconfig
> >> - stm32mp1_optee_defconfig
> >>
> >> only support the directory ST board with board/st/stm32mp1
> >
> > After deeper check => it is already managed by the config
> >
> > CONFIG_TARGET_STM32MP1
> >
> > board/st/stm32mp1.Kconfig
> >
> > dtb-$(CONFIG_TARGET_STM32MP1) += \
> > stm32mp157a-dk1.dtb \
> > stm32mp157a-avenger96.dtb \
> > stm32mp157c-dk2.dtb \
> > stm32mp157c-ed1.dtb \
> > stm32mp157c-ev1.dtb
> >
> > Activated by default in the ST defconfig (stm32mp1_trusted_defconfig,
> > stm32mp1_basic_defconfig, stm32mp1_optee_defconfig)
> >
> > Do you need other way of configuration ?
>
> Yes, I need to override the configuration which is currently forced by the ST
> Kconfig file. Hence this patch.
>
> I can repost this patch with the board patch once that's ready. It might make it
> easier to understand the purpose.
Yes thanks.
I am waiting your patchset..
Anyway it is not yet clear for me how manage customer board...
I perhaps need to have a common directory (board/st/common) to share code between ST board
and customer board (as it is done by other arch)
I expect it will be the same than imx or rockwell board
one board (or one family) => one defconfig
for all ST board (EV1 DK1 DK2) => CONFIG_TARGET_STM32MP1
for custom board CUST0 => CONFIG_TARGET_CUST0
with Kconfig
if TARGET_STM32MP1
config SYS_BOARD
default "stm32mp1"
config SYS_VENDOR
default "st"
config SYS_CONFIG_NAME
default "stm32mp1"
<....>
endif
if TARGET_CUST0
config SYS_BOARD
default "cust0"
config SYS_VENDOR
default "customer"
config SYS_CONFIG_NAME
default "cust0"
endif
Regards Patrick
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-12-18 15:58 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-18 6:59 [PATCH] ARM: stm32: Permit multiple board targets Marek Vasut
2019-12-18 13:20 ` Patrick DELAUNAY
2019-12-18 14:04 ` Patrick DELAUNAY
2019-12-18 14:14 ` Marek Vasut
2019-12-18 15:58 ` Patrick DELAUNAY
2019-12-18 14:11 ` Marek Vasut
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.